Crmgo Blog

KVM, Fehler beim Klonen in CentOS 7

KVM, Fehler beim Klonen in CentOS 7

Beim Klonen einer VM tritt ein unangenehmer Bug auf, der mit ihrer Konfigurationsdatei zusammenhängt. In dieser Datei gibt es einen Abschnitt, in dem „test“ der Name der VM ist. Beim Klonen mit dem Befehl: `virt-clone -o test -n test2 -f /tmp/test2.img` wird dieser Name im Pfad nicht geändert mit…

KVM, Fehler beim Klonen in CentOS 7

Beim Klonen einer VM tritt ein unangenehmer Bug im Zusammenhang mit ihrer Konfigurationsdatei auf. In dieser Datei gibt es einen Abschnitt:

<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-test/org.qemu.guest_agent.0'/>
<target type='virtio' name='org.qemu.guest_agent.0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>

wobei test der Name der VM ist. Beim Klonen mit dem Befehl:

virt-clone -o test -n test2 -f /tmp/test2.img

wird der Name im Pfad nicht von test auf test2 geändert. Wenn die VM test nicht läuft, startet die neue VM test2 nicht und es wird folgende Fehlermeldung ausgegeben:

Zitat
Fehler: Domain test2 konnte nicht gestartet werden interner Fehler: Prozess endete beim Verbinden mit dem Monitor: 2016-02-12T06:02:41.024054Z qemu-kvm: -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-test/org.qemu.guest_agent.0,server,nowait: Failed to bind socket: No such file or directory 2016-02-12T06:02:41.024121Z qemu-kvm: -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-test/org.qemu.guest_agent.0,server,nowait: chardev: opening backend "socket" failed

Um dies zu beheben, muss man den VM-Namen im Pfad manuell von test auf test2 ändern, d. h. es ergibt sich:

<channel type='unix'>
<source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-test2/org.qemu.guest_agent.0'/>
<target type='virtio' name='org.qemu.guest_agent.0'/>
<address type='virtio-serial' controller='0' bus='0' port='1'/>
</channel>

und man führt den Befehl aus:

systemctl restart libvirtd.service
Um keinen Neustart durchführen zu müssen, kann man die Änderung mit dem Befehl virsh edit vornehmen.
Beim Klonen bleibt manchmal auch der Link auf die alte qcow2-Datei erhalten:
<source file='/var/lib/libvirt/images/Old.qcow2'/>
Ich gehe wie folgt vor, um dies zu beheben:
cp /var/lib/libvirt/images/Old.qcow2 /var/lib/libvirt/images/New.qcow2
Und korrigiere es in virsh edit New:
<source file='/var/lib/libvirt/images/New.qcow2'/>

Hinweis: Dieser Beitrag kann KI-unterstützt erstellt und anschließend redaktionell geprüft worden sein. Verantwortlich: Dmytro Lomaka, Kaltenkirchen.

Kategorien: KVM