Cambiar CD-ROM a través de virsh

22

Tengo una máquina virtual KVM que se administra a través de libvirsh. Ahora quiero usar una imagen ISO diferente dentro de la VM.

¿Cómo cambio el DVD en la unidad virtual usando virsh?

DerMike
fuente

Respuestas:

17

Añadir CDROM:

attach-disk guest01 /root/disc1.iso hdc --driver file --type cdrom
--mode readonly

Cambiar CDROM:

attach-disk guest01 /root/disc2.iso hdc --driver file --type cdrom
--mode readonly

Eliminar CDROM:

 attach-disk guest01 " " hdc --driver file --type cdrom
 --mode readonly
rkthkr
fuente
Gracias rkthr. Pruebo esto la próxima semana y vuelvo aquí. +1 de todos modos :-)
DerMike
77
Gracias por la propina. Para mí funciona, pero solo si elimino '--driver file' del comando (versión de virsh: 0.9.2).
Lukasz Stelmach
2
Tuve que agregar --configal comando. Probablemente debido al hecho de que el invitado no estaba configurado originalmente con un cdrom. Este se dirigió a la siguiente: error: internal error: No device with bus 'ide' and target 'hdc'. cdrom and floppy device hotplug isn't supported by libvirt.
user59156
1
virsh attach-disk virtual.host.name /tank/kvm/iso/ubuntu-16.04.1-server-amd64.iso hda --type cdrom --mode readonly
Xdg
Parece que el dominio debe iniciarse para adjuntar una nueva fuente para el cdrom.
imz - Ivan Zakharyaschev
16

En libvirt 0.9.12 y tal vez antes, change-mediaexiste un comando :

change-media <domain> <path> [<source>] [--eject] [--insert] [--update] [--current] [--live] [--config] [--force]

Cambiar CD:

change-media guest01 hdb /pool/disc.iso

Expulsar CD:

change-media guest01 hdb --eject
mss
fuente
Este es el comando correcto cuando se utiliza el controlador SATA para CD-ROM.
Xdg
1

Intenté el comando attach-disk y no funcionó para mí. Sin embargo, encontré este documento en fedora que le pide que use el comando "update-device". Esto funcionó para mí, y puede encontrarlo en Adjuntar y actualizar un dispositivo con virsh . Aquí están los pasos:

  • Crea un archivo XML:

    <backingStore/>
    <target dev='hdc' bus='ide'/>
    <readonly/>
    <alias name='ide0-1-0'/>
    <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    

Asegúrese de no tener la <source>etiqueta en su definición

  • Actualiza el dispositivo:

    virsh update-device <guest name> <XML file name>
    
anaken78
fuente
Eso eliminaría el dispositivo, no cambiaría el CD como lo solicita el OP. También está mal copiado de su enlace: es XML con formato incorrecto tal como está.
0

Primero debe exportar la configuración existente:

virsh dumpxml guest_name > config.xml

Luego debe abrir el archivo y copiar la sección de CDROM y agregar la línea con la ruta de la imagen iso como

<source file='some.iso'/>

Entonces el resultado es algo como

<disk type='file' device='cdrom'>
   <source file='some.iso'/>
   <driver name='qemu' type='raw'/>
   <backingStore/>
   <target dev='hdb' bus='ide'/>
   <readonly/>
   <alias name='ide0-0-1'/>
   <address type='drive' controller='0' bus='0' target='0' unit='1'/>
 </disk>

y guárdelo como cdrom.xml.

Después de esto:

virsh update-device guest_name cdrom.xml

#Device updated successfully
max5555 max5555
fuente