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?

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

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

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>
    

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.