Zmień CD-ROM przez virsh

22

Mam maszynę wirtualną KVM, która jest zarządzana przez libvirsh. Teraz chcę użyć innego obrazu ISO w maszynie wirtualnej.

Jak mogę zmienić DVD w napędzie wirtualnym virsh?

DerMike
źródło

Odpowiedzi:

17

Dodaj CDROM:

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

Zmień CDROM:

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

Usuń CDROM:

 attach-disk guest01 " " hdc --driver file --type cdrom
 --mode readonly
rkthkr
źródło
Dzięki, rkthr. Testuję to w przyszłym tygodniu i wracam tutaj. W każdym razie +1 :-)
DerMike
7
Dzięki za wskazówkę. Dla mnie to działa, ale tylko jeśli usunę '--driver file' z polecenia (wersja virsh: 0.9.2).
Łukasz Stelmach,
2
Musiałem dodać --configdo polecenia. Prawdopodobnie z powodu faktu, że gość nie był pierwotnie skonfigurowany z cdrom. Ten zwrócił się do następujących: 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
Wygląda na to, że domena musi zostać uruchomiona, aby dołączyć nowe źródło dla cdrom.
imz - Ivan Zachharyaschev
16

W libvirt 0.9.12 i być może wcześniej change-mediaistnieje polecenie :

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

Zmień dysk CD:

change-media guest01 hdb /pool/disc.iso

Wysuń dysk CD:

change-media guest01 hdb --eject
mss
źródło
Jest to właściwe polecenie, gdy używasz kontrolera SATA na CD-ROM.
Xdg
1

Próbowałem polecenia attach-disk i nie działało to dla mnie. Znalazłem jednak ten dokument na fedorze, który prosi o użycie polecenia „update-device”. To działało dla mnie i można je znaleźć w Podłączanie i aktualizowanie urządzenia za pomocą virsh . Oto kroki:

  • Utwórz plik 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>
    

Upewnij się, że nie masz <source>znacznika w definicji

  • Zaktualizuj urządzenie:

    virsh update-device <guest name> <XML file name>
    
anaken78
źródło
To by usunęło urządzenie, a nie zmieniło dysku CD, jak prosi OP. Jest również źle skopiowany z twojego linku - jest zniekształcony XML w obecnej formie.
0

Najpierw musisz wyeksportować istniejącą konfigurację:

virsh dumpxml guest_name > config.xml

Następnie musisz otworzyć plik i skopiować sekcję cdrom i dodać linię ze ścieżką obrazu ISO

<source file='some.iso'/>

Wynik jest więc podobny

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

i zapisz go jako cdrom.xml.

Po tym:

virsh update-device guest_name cdrom.xml

#Device updated successfully
max5555 max5555
źródło