Ich versuche, einen Live-Schnappschuss mit KVM gemäß diesem Verfahren zu erstellen .
Ich muss irgendwann durcheinander gebracht haben, weil ich in einem Zustand bin, den ich nicht verstehe.
Meine VM wird aufgerufen prod
. Es wurde in einer Datei erstellt /srv/vm/prod.qcow2
.
Anscheinend gibt es keinen laufenden Schnappschuss: Ich arbeite an der Basisdatei. Ich kann mir /srv/vm/prod.qcow2
vorstellen, dass sich das Änderungsdatum der Datei jede Minute oder so ändert. Außerdem bestätigt dieser Befehl Folgendes:
# virsh domblklist prod
Target Source
------------------------------------------------
vda /srv/vm/prod.qcow2
Und es gibt nichts zu blockieren:
# virsh blockcommit prod vda --active --pivot
error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file
Libvirt verfolgt jedoch einen alten Schnappschuss:
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
snap 2015-06-09 12:11:33 +0200 disk-snapshot
Die Deskriptordatei lautet /var/lib/libvirt/qemu/snapshot/prod/snap.xml
:
<domainsnapshot>
<name>snap</name>
<state>disk-snapshot</state>
<creationTime>1433844693</creationTime>
<memory snapshot='no'/>
<disks>
<disk name='vda' snapshot='external' type='file'>
<driver type='qcow2'/>
<source file='/srv/vm/snap.qcow2'/>
</disk>
</disks>
[...]
Die Quelldatei /srv/vm/snap.qcow2
wurde gelöscht.
In Anbetracht der Methode, die ich zu implementieren versuche, ist es ziemlich wahrscheinlich, dass dieser Snapshot mit dem folgenden Befehl erstellt wurde:
virsh snapshot-create-as --domain prod snap --diskspec vda,file=/srv/vm/snap.qcow2 --disk-only --atomic
Ich kann es nicht entfernen:
# virsh snapshot-delete prod snap
error: Failed to delete snapshot snap
error: unsupported configuration: deletion of 1 external disk snapshots not supported yet
Ich bin also in einem Zustand, in dem ein Schnappschuss erstellt wurde, anscheinend nicht mehr verwendet wird und nicht gelöscht werden kann.
Kann ich etwas dagegen tun?
Sollte es mich interessieren oder kann ich es einfach ignorieren?
Bearbeiten
Ich habe gerade den Snapshot-Dateideskriptor entfernt.
# systemctl stop libvirt
# mv /var/lib/libvirt/qemu/snapshot/prod/snap.xml /home/jerome
# systemctl start libvirt
Meine VM ist wieder aktiv und ich sehe keinen Verweis mehr auf den Snapshot.
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
Auch nichts im Virt-Manager.
Geht es mir gut oder gibt es noch etwas zu tun?
Bearbeiten 2
Anscheinend würde das Übergeben -–no-metadata
an virsh snapshot-create-as
dieses Problem vermeiden, indem die XML-Datei nicht erstellt wird und somit keine Spur des Snapshots erhalten bleibt.
qemu-img info /srv/vm/prod.qcow2
. Aber ich bin mir nicht sicher, wie ich diese Spur selbst entfernen soll ...