On Fri, Feb 07, 2020 at 15:25:22 +0100, Lentes, Bernd wrote:
Hi,
i'm cuurently a bit confused if a guest does have a valid snapshot or not.
This is the xml:
...
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source
file='/var/lib/libvirt/images/crispor_1604/crispor_1604.sn'/>
<backingStore type='file' index='1'>
<format type='raw'/>
<source
file='/var/lib/libvirt/images/crispor_1604/crispor_1604.img'/>
<backingStore/>
</backingStore>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x04' function='0x0'/>
</disk>
...
both files are currently in access by the respective qemu process.
lsof:
qemu-kvm 19533 root 13u REG 253,0 29761732608 12091393
/var/lib/libvirt/images/crispor_1604/crispor_1604.sn
qemu-kvm 19533 root 14r REG 253,0 111561775513 44793857
/var/lib/libvirt/images/crispor_1604/crispor_1604.img
Here are both files:
pc60181:/var/lib/libvirt/images/crispor_1604 # ll
...
-rw------- 1 root root 111561775513 Oct 22 15:23 crispor_1604.img
-rw-r--r-- 1 root root 29761732608 Feb 7 15:13 crispor_1604.sn
crispor_1604.sn has a recent timestamp.
The snapshot is currently in use:
virsh # domblklist crispor_1604
Target Source
------------------------------------------------
vda /var/lib/libvirt/images/crispor_1604/crispor_1604.sn
But virsh does not show any snapshot:
virsh # snapshot-list crispor_1604
Name Creation Time State
------------------------------------------------------------
Libvirt is probably lacking the metadata for the snapshot. That is not a
problem though, because since libvirt doesn't support deletion of
external snapshots anyways currently you'd need to use the below
approach anyways.
So i'm a bit confused. Does it have a valid snapshot or not. How
can i find out and how can i get rid of it ?
virsh blockcommit crispor_1604 vda --active --pivot
in the case above. that merges the
file='/var/lib/libvirt/images/crispor_1604/crispor_1604.sn'/
into file='/var/lib/libvirt/images/crispor_1604/crispor_1604.img'/ and
finishes the job.
If you have more complex backing chain you might want to use the --top
and --base arguments to control which portion to merge as the command
I've suggested merges everything into the bottom-most image.