Ubah CD-ROM via virsh

22

Saya memiliki mesin virtual KVM yang dikelola melalui libvirsh. Sekarang saya ingin menggunakan image ISO yang berbeda di dalam VM.

Bagaimana cara mengubah DVD di drive virtual menggunakan virsh?

DerMike
sumber

Jawaban:

17

Tambahkan CDROM:

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

Ubah CDROM:

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

Hapus CDROM:

 attach-disk guest01 " " hdc --driver file --type cdrom
 --mode readonly
rkthkr
sumber
Terima kasih, rkthr. Saya mengujinya minggu depan dan kembali ke sini. +1 +1 :-)
DerMike
7
Terima kasih atas tipnya. Bagi saya ini berfungsi tetapi hanya jika saya menghapus '- file driver' dari perintah (versi virsh: 0.9.2).
Lukasz Stelmach
2
Saya harus menambahkan --configperintah. Mungkin karena fakta bahwa tamu itu awalnya tidak dikonfigurasi dengan cdrom. Ini ditujukan berikut: 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
Tampaknya domain harus mulai melampirkan sumber baru untuk cdrom.
imz - Ivan Zakharyaschev
16

Di libvirt 0.9.12 dan mungkin sebelumnya, change-mediaada perintah :

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

Ubah CD:

change-media guest01 hdb /pool/disc.iso

Keluarkan CD:

change-media guest01 hdb --eject
mss
sumber
Ini adalah perintah yang tepat ketika menggunakan pengontrol SATA untuk CD-ROM.
Xdg
1

Saya mencoba perintah attach-disk dan tidak berhasil untuk saya. Namun, saya menemukan dokumen ini di fedora yang meminta Anda untuk menggunakan perintah "pembaruan-perangkat". Ini bekerja untuk saya, dan Anda dapat menemukannya di Melampirkan dan memperbarui perangkat dengan virsh . Berikut langkah-langkahnya:

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

Pastikan Anda tidak memiliki <source>tag dalam definisi Anda

  • Perbarui perangkat:

    virsh update-device <guest name> <XML file name>
    
anaken78
sumber
Itu akan menghapus perangkat, bukan mengubah CD seperti yang diminta OP. Ini juga disalin dengan buruk dari tautan Anda - itu XML yang salah bentuknya.
0

Pertama, Anda harus mengekspor konfigurasi yang ada:

virsh dumpxml guest_name > config.xml

Maka Anda harus membuka file dan menyalin bagian cdrom dan menambahkan baris dengan path seperti gambar iso

<source file='some.iso'/>

Jadi hasilnya seperti ini

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

dan simpan sebagai cdrom.xml.

Setelah itu:

virsh update-device guest_name cdrom.xml

#Device updated successfully
max5555 max5555
sumber