Змініть компакт-диск через virsh


22

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

Як я можу змінити DVD на віртуальному диску virsh?

Відповіді:


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

Спасибі, rkthr. Я тестую це на наступному тижні і повертаюся сюди. +1 у будь-якому випадку :-)
DerMike

7
Дякую за пораду. Для мене це працює, але тільки якщо я видалю з команди команду '--driver file' (версія virsh: 0.9.2).
Лукаш Стельмах

2
Мені довелося додати --configдо команди. Можливо, через те, що гість спочатку не був налаштований на компакт-диск. Це ім'я наступне: error: internal error: No device with bus 'ide' and target 'hdc'. cdrom and floppy device hotplug isn't supported by libvirt.
користувач59156

1
virsh attach-disk virtual.host.name /tank/kvm/iso/ubuntu-16.04.1-server-amd64.iso hda --тип cdrom --mode readonly
Xdg

Здається, що домен потрібно запустити, щоб приєднати нове джерело для компакт-диска.
imz - Іван Захарящев

16

У libvirt 0.9.12 і, можливо, раніше change-mediaіснує команда :

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

Змінити компакт-диск:

change-media guest01 hdb /pool/disc.iso

Вийняти компакт-диск:

change-media guest01 hdb --eject

Це правильна команда при використанні контролера SATA для CD-ROM.
Xdg

1

Я спробував команду приєднати диск, і це не працювало для мене. Однак я знайшов цього документа на 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>
    

Це видалить пристрій, а не змінить компакт-диск, як просить ОП. Це також погано скопійовано з вашого посилання - це неправильно сформований XML як є.

0

Спочатку потрібно експортувати наявну конфігурацію:

virsh dumpxml guest_name > config.xml

Тоді вам потрібно відкрити файл і скопіювати розділ cdrom і додати рядок з таким чином, як image image

<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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.