
On Jun 30, 2017 6:22 AM, "Peter Krempa" <pkrempa@redhat.com> wrote:
On Fri, Jun 30, 2017 at 12:05:47 +0200, Peter Krempa wrote:
On Thu, Jun 22, 2017 at 11:02:41 -0400, Doug Hughes wrote:
[...]
virsh blockcommit $vm $DISK --active --pivot
Normally this works fine, though something went wrong on the 20th. something happened to make the blockcommit fail, but the -snap file got deleted (note to self - check return code from blockcommit command!)
So now I'm in a state. The domain i still running. but it's running off the -snapshot that is in the xml. I googled around for how to recover a blockcommit from a deleted snapshot, but didn't find anything. (pointers welcome)
In fact, it's way simpler. If libvirt still knows about the overlay image (this is necessary only so that it can say the proper things to qemu) you can re-do the block commit:
$ virsh list Id Name State ---------------------------------------------------- 3 fedora23 running
$ virsh snapshot-create-as --disk-only --no-metadata fedora23 Domain snapshot 1498817916 created $ virsh domblklist fedora23 Target Source ------------------------------------------------ vda /var/lib/libvirt/images/fedora23.1498817916 hda -
$ rm /var/lib/libvirt/images/fedora23.1498817916 $ ls /var/lib/libvirt/images/fedora23.1498817916 ls: cannot access '/var/lib/libvirt/images/fedora23.1498817916': No such file or directory $ virsh blockcommit --active --pivot fedora23 vda
Successfully pivoted $ virsh domblklist fedora23 Target Source ------------------------------------------------ vda /var/lib/libvirt/images/fedora23.qcow2 hda -
Thanks for the reply! The original image is still there. Only the 1st and only top-level snapshot is deleted. the blockcommit fails though: [root@vm1 ~]# virsh blockcommit serv1r2 vda --active --pivot error: block copy still active: disk 'vda' already in active block job