Изменить CD-ROM через virsh

Изменить CD-ROM через virsh

У меня есть виртуальная машина KVM, которая управляется через libvirsh. Теперь я хочу использовать другой образ ISO внутри виртуальной машины.

Как сменить DVD в виртуальном приводе с помощью virsh?

решение1

Добавить CD-ROM:

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

Изменить CD-ROM:

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

Извлечь CD-ROM:

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

решение2

change-mediaВ libvirt 0.9.12 и, возможно, более ранних версиях существует команда :

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

Изменить компакт-диск:

change-media guest01 hdb /pool/disc.iso

Извлечь компакт-диск:

change-media guest01 hdb --eject

решение3

Я попробовал команду attach-disk, и она не сработала. Однако я нашел этот документ на Fedora, который просит вас использовать команду "update-device". Это сработало для меня, и вы можете найти его здесьПрисоединение и обновление устройства с помощью virsh. Вот шаги:

  • Создайте 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>
    

<source>Убедитесь, что в вашем определении нет тега

  • Обновите устройство:

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

решение4

Сначала необходимо экспортировать существующую конфигурацию:

virsh dumpxml guest_name > config.xml

Затем вам нужно открыть файл и скопировать раздел cdrom и добавить строку с путем к образу iso, например:

<source file='some.iso'/>

Итак, результат примерно такой:

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

и сохраните его как cdrom.xml.

После этого:

virsh update-device guest_name cdrom.xml

#Device updated successfully

Связанный контент