[sheepdog] Live snapshot not working via libvirt. Possible regression?
noblej at yahoo.com
Thu Sep 10 17:20:03 CEST 2015
My understanding from the page at https://github.com/sheepdog/sheepdog/wiki/Which-Format-of-QEMU-Images-Should-I-Run is that sheepdog can store qemu checkpoints internally using the 'raw' format. I am having problems when trying to take a live snapshot of a VM stored on sheepdog though. I get the following error message when using `virsh snapshot-create --live domain`:
"internal snapshot for disk vda unsupported for storage type raw"
This behavior appears to have been introduced with the following commit:
commit f7c1410b0ee5b878e81f2eddf86c609947a9b27cAuthor: Shanzhi Yu <shyu at redhat.com>Date: Sat Feb 28 17:51:36 2015 +0800
qemu: snapshot: Don't skip check for qcow2 format with network disks
When the domain's source disk type is network, if source protocol is rbd or sheepdog, the 'if().. break' will end the current case, which lead to miss check the driver type is raw or qcow2. Libvirt will allow to create internal snapshot for a running domain with raw format disk which based on rbd storage.
While both protocols support internal snapshots of the disk qemu is not able to use it as it requires some place to store the memory image. The check if the disk is backed by a qcow2 image needs to be executed always.
I reverted the above commit, built libvirt and tried again and got the following error:
"error: Operation not supported: live snapshot creation is supported only with external checkpoints"
Before digging any further into this issue, I wanted to ask on the mailing list if this behavior seems incorrect to others. If this behavior _is_ expected then I think the wiki page linked in the opening of this email should be updated to reflect that.
The versions of qemu, libvirt and sheepdog I'm using are listed below.
jason at sheepdog1:~/sheepdog$ qemu-system-x86_64 --versionQEMU emulator version 2.3.0 (Debian 2.3+dfsg-0ubuntu1), Copyright (c) 2003-2008 Fabrice Bellard
jason at sheepdog1:~/sheepdog$ libvirtd --versionlibvirtd (libvirt) 1.2.16
jason at sheepdog1:~/sheepdog$ sheep -vSheepdog daemon version 0.9.0_165_g01fe35e
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the sheepdog