У меня есть виртуальная машина 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