Próbuję wykonać migawkę na żywo za pomocą KVM zgodnie z tą procedurą .
W pewnym momencie musiałem coś popsuć, bo jestem w stanie, którego nie rozumiem.
Moja maszyna wirtualna nazywa się prod
. Został utworzony w pliku /srv/vm/prod.qcow2
.
Najwyraźniej nie ma uruchomionej migawki: Pracuję nad plikiem podstawowym. Zgaduję, ponieważ data modyfikacji pliku /srv/vm/prod.qcow2
zmienia się co minutę. Poza tym polecenie to potwierdza:
# virsh domblklist prod
Target Source
------------------------------------------------
vda /srv/vm/prod.qcow2
I nie ma nic do zablokowania:
# virsh blockcommit prod vda --active --pivot
error: invalid argument: top '/srv/vm/prod.qcow2' in chain for 'vda' has no backing file
Jednak libvirt śledzi starą migawkę:
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
snap 2015-06-09 12:11:33 +0200 disk-snapshot
Jego plik deskryptora to /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>
[...]
Plik źródłowy /srv/vm/snap.qcow2
został usunięty.
Biorąc pod uwagę metodę, którą próbuję wdrożyć, jest całkiem prawdopodobne, że ta migawka została utworzona za pomocą następującego polecenia:
virsh snapshot-create-as --domain prod snap --diskspec vda,file=/srv/vm/snap.qcow2 --disk-only --atomic
Nie mogę tego usunąć:
# virsh snapshot-delete prod snap
error: Failed to delete snapshot snap
error: unsupported configuration: deletion of 1 external disk snapshots not supported yet
Tak więc jestem w stanie, w którym utworzono migawkę, najwyraźniej nie jest już używana i nie można jej usunąć.
Czy mogę coś z tym zrobić?
Czy powinienem się tym przejmować, czy mogę to zignorować?
Edytować
Właśnie usunąłem deskryptor pliku migawki.
# systemctl stop libvirt
# mv /var/lib/libvirt/qemu/snapshot/prod/snap.xml /home/jerome
# systemctl start libvirt
Moja maszyna wirtualna znów działa i nie widzę już żadnych odniesień do migawki.
# virsh snapshot-list prod
Name Creation Time State
------------------------------------------------------------
Nic też w virt-manager.
Czy wszystko ze mną w porządku, czy jest jeszcze jakieś sprzątanie?
Edytuj 2
Najwyraźniej przejście -–no-metadata
do virsh snapshot-create-as
tego miejsca uniknęłoby tego problemu, ponieważ nie utworzyłby pliku .xml, a tym samym nie zachowałby śladu migawki.
qemu-img info /srv/vm/prod.qcow2
. Ale nie jestem pewien, jak sam usunąć ten ślad ...