Cambia CD-ROM via virsh


22

Ho una macchina virtuale KVM gestita tramite libvirsh. Ora voglio usare un'immagine ISO diversa all'interno della VM.

Come posso cambiare il DVD nell'unità virtuale usando virsh?

Risposte:


17

Aggiungi CDROM:

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

Cambia CDROM:

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

Rimuovi CDROM:

 attach-disk guest01 " " hdc --driver file --type cdrom
 --mode readonly

Grazie, rkthr. Lo testerò la prossima settimana e torno qui. +1 comunque :-)
DerMike il

7
Grazie per il suggerimento. Per me funziona, ma solo se rimuovo '--driver file' dal comando (versione di virsh: 0.9.2).
Lukasz Stelmach,

2
Ho dovuto aggiungere --configal comando. Probabilmente a causa del fatto che l'ospite non era originariamente configurato con un cdrom. Questo ha trasmesso il seguente: 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

Sembra che il dominio debba essere avviato per collegare una nuova fonte per il cdrom.
imz - Ivan Zakharyaschev,

16

In libvirt 0.9.12 e forse prima, change-mediaesiste un comando :

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

Cambia CD:

change-media guest01 hdb /pool/disc.iso

Espelli CD:

change-media guest01 hdb --eject

Questo è il comando giusto quando si utilizza il controller SATA per CD-ROM.
Xdg

1

Ho provato il comando attach-disk e non ha funzionato per me. Tuttavia, ho trovato questo documento su fedora che ti chiede di usare il comando "update-device". Questo ha funzionato per me e puoi trovarlo su Collegamento e aggiornamento di un dispositivo con virsh . Ecco i passaggi:

  • Crea un file 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>
    

Assicurati di non avere il <source>tag nella tua definizione

  • Aggiorna il dispositivo:

    virsh update-device <guest name> <XML file name>
    

Ciò eliminerebbe il dispositivo, non cambierebbe il CD come richiesto dall'OP. È anche copiato male dal tuo link: è XML non corretto così com'è.

0

Per prima cosa devi esportare la configurazione esistente:

virsh dumpxml guest_name > config.xml

Quindi devi aprire il file e copiare la sezione cdrom e aggiungere la linea con il percorso dell'immagine iso come

<source file='some.iso'/>

Quindi il risultato è qualcosa di simile

<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>

e salvalo come cdrom.xml.

Dopo di che:

virsh update-device guest_name cdrom.xml

#Device updated successfully
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.