Wechseln Sie die CD-ROM über virsh


22

Ich habe eine virtuelle KVM-Maschine, die über libvirsh verwaltet wird. Jetzt möchte ich ein anderes ISO-Image in der VM verwenden.

Wie ändere ich die DVD im virtuellen Laufwerk mit virsh?

Antworten:


17

CD-ROM hinzufügen:

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

CD-ROM wechseln:

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

CDROM entfernen:

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

Danke, Rkthr. Ich teste das nächste Woche und komme hierher zurück. +1 sowieso :-)
DerMike

7
Danke für den Tipp. Bei mir funktioniert es aber nur, wenn ich '--driver file' aus dem Befehl entferne (Version von virsh: 0.9.2).
Lukasz Stelmach

2
Ich musste --configden Befehl hinzufügen . Vermutlich aufgrund der Tatsache, dass der Gast ursprünglich nicht mit einer CD-ROM konfiguriert war. Dies adressiert die folgenden: 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

Es scheint, dass die Domain gestartet werden muss, um eine neue Quelle für die CD-ROM anzuhängen.
imz - Ivan Zakharyaschev

16

In libvirt 0.9.12 und möglicherweise früher ist ein Befehl change-mediavorhanden:

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

CD wechseln:

change-media guest01 hdb /pool/disc.iso

CD auswerfen:

change-media guest01 hdb --eject

Dies ist der richtige Befehl, wenn Sie einen SATA-Controller für CD-ROM verwenden.
Xdg

1

Ich habe den Befehl attach-disk ausprobiert und es hat bei mir nicht funktioniert. Allerdings habe ich dieses Dokument auf fedora gefunden, das Sie auffordert, den Befehl "update-device" zu verwenden. Das hat bei mir funktioniert, und Sie finden es unter Anhängen und Aktualisieren eines Geräts mit virsh . Hier sind die Schritte:

  • Erstellen Sie eine XML-Datei:

    <backingStore/>
    <target dev='hdc' bus='ide'/>
    <readonly/>
    <alias name='ide0-1-0'/>
    <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
    

Stellen Sie sicher, dass das <source>Tag nicht in Ihrer Definition enthalten ist

  • Aktualisieren Sie das Gerät:

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

Das würde das Gerät entfernen, nicht die CD wechseln, wie das OP fragt. Es ist auch schlecht von Ihrem Link kopiert - es ist fehlerhaft XML wie es ist.

0

Zuerst müssen Sie die vorhandene Konfiguration exportieren:

virsh dumpxml guest_name > config.xml

Dann müssen Sie die Datei öffnen und den CD-ROM-Bereich kopieren und die Zeile mit dem ISO-Image-Pfad wie folgt hinzufügen

<source file='some.iso'/>

Das Ergebnis ist also so etwas wie

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

und speichern Sie es als cdrom.xml.

Nachdem:

virsh update-device guest_name cdrom.xml

#Device updated successfully
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.