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

22

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

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

DerMike
источник

Ответы:

17

Добавить CDROM:

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

Изменить CDROM:

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

Удалить CDROM:

 attach-disk guest01 " " hdc --driver file --type cdrom
 --mode readonly
rkthkr
источник
Спасибо, rkthr. Я проверю это на следующей неделе и вернусь сюда. +1 в любом случае :-)
DerMike
7
Спасибо за совет. Для меня это работает, но только если я удаляю '--driver file' из команды (версия virsh: 0.9.2).
Лукаш Стельмах
2
Я должен был добавить --configк команде. Вероятно, из-за того, что гость изначально не был настроен на cdrom. Это имя следующее: 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 только для
чтения
Кажется, что домен должен быть запущен, чтобы присоединить новый источник для компакт-диска.
imz - Иван
16

В libvirt 0.9.12, а может и раньше, change-mediaсуществует команда :

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

Изменить CD:

change-media guest01 hdb /pool/disc.iso

Извлечь CD:

change-media guest01 hdb --eject
гпп
источник
Это правильная команда при использовании контроллера SATA для CD-ROM.
Xdg
1

Я попробовал команду 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>
    
anaken78
источник
Это приведет к удалению устройства, а не к изменению компакт-диска, как того требует ОП. Он также плохо скопирован с вашей ссылки - он искажен как XML.
0

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

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
max5555 max5555
источник