I have an oVirt engine node that currently runs the system on a qcow2 based virtual disk, and an NFS export volume on RAW. I'd like to take a snapshot before a somewhat risky upgrade of oVirt and can't with the raw image attached. Looking at the documentation for the snapshot XML, I created this XML file for the snapshot <domainsnapshot> <name>20120802</name> <description>oVirt 3.1 upgrade</description> <disks> <disk name='vda' snapshot='yes' /> <disk name='vdb' snapshot='no' /> </disks> </domainsnapshot> When I try the snapshot I get this error... # virsh snapshot-create dc-vmarchitect dc-vmarchitect_ss.xml error: argument unsupported: unable to handle disk requests in snapshot This occurred on both libvirt-0.9.4 and after an upgrade to libvirt-0.9.10 Current system is CentOS 6.2 with 6.3 versions of qemu/libvirt qemu-kvm-0.12.1.2-2.295.el6_3.1.x86_64 qemu-img-0.12.1.2-2.295.el6_3.1.x86_64 libvirt-client-0.9.10-21.el6_3.3.x86_64 libvirt-python-0.9.10-21.el6_3.3.x86_64 libvirt-0.9.10-21.el6_3.3.x86_64 According to the documentation, http://libvirt.org/formatsnapshot.html, the disk features should be available since 0.9.5. Is this still missing or have I created an invalid XML? Thanks - Trey
On 08/02/2012 10:21 AM, Trey Dockendorf wrote:> I have an oVirt engine node that currently runs the system on a qcow2 > based virtual disk, and an NFS export volume on RAW. I'd like to take > a snapshot before a somewhat risky upgrade of oVirt and can't with the > raw image attached. > > Looking at the documentation for the snapshot XML, I created this XML > file for the snapshot > > <domainsnapshot> > <name>20120802</name> > <description>oVirt 3.1 upgrade</description> > <disks> > <disk name='vda' snapshot='yes' /> > <disk name='vdb' snapshot='no' /> > </disks> > </domainsnapshot> > > When I try the snapshot I get this error... > > # virsh snapshot-create dc-vmarchitect dc-vmarchitect_ss.xml > error: argument unsupported: unable to handle disk requests in snapshotTry again with: virsh snapshot-create --disk-only dc-vmarchitect dc-vmarchitect_ss.xml The --disk-only parameter is essential, as the current code base can only choose between a system checkpoint (disk state and ram state, stored internally into required qcow2; takes several seconds and the guest is paused during the action) or disk-only external (disk state only, external files, does not require qcow2 at the starting point; completes very quickly). I have tested that qemu will support the notion of an external system checkpoint (disk state and ram state, stored into external files, does not require qcow2 at the starting point), but have to still write the patches to actually expose that mode; I still have time to get something proposed before the 0.10.0 feature freeze, so I'll see what I can do. This third mode of snapshots would not use the --disk-only flag, and would take several seconds like the existing system checkpoint but has the advantage that the guest is running during the bulk of the operation.> > According to the documentation, > http://libvirt.org/formatsnapshot.html, the disk features should be > available since 0.9.5. Is this still missing or have I created an > invalid XML?Neither - you just missed the --disk-only flag. -- Eric Blake eblake at redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 620 bytes Desc: OpenPGP digital signature URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20120802/7e2cbfaa/attachment.sig>
On Thu, Aug 2, 2012 at 11:58 AM, Eric Blake <eblake at redhat.com> wrote:> On 08/02/2012 10:53 AM, Trey Dockendorf wrote: > > Did you mean for this to go to the list? Others might benefit from the > answer. > >>>> >>>> <domainsnapshot> >>>> <name>20120802</name> >>>> <description>oVirt 3.1 upgrade</description> >>>> <disks> >>>> <disk name='vda' snapshot='yes' /> >>>> <disk name='vdb' snapshot='no' /> >>>> </disks> >>>> </domainsnapshot> >>>> >>>> When I try the snapshot I get this error... >>>> > >> Here's the new XML >> >> <domainsnapshot> >> <name>20120802</name> >> <description>oVirt 3.1 upgrade</description> >> <disks> >> <disk name='vdb' snapshot='no' /> >> </disks> >> </domainsnapshot> >> > > Ah, right - snapshot is a tri-state: 'no', 'internal', and 'external', > so 'yes' is not a valid state (although currently only 2 of the 3 states > are supported for qemu: 'no' and 'external'). > >> Now I get this error >> >> >> # virsh snapshot-create --disk-only dc-vmarchitect dc-vmarchitect_ss.xml >> error: operation failed: Failed to take snapshot: unknown command: >> 'snapshot_blkdev' > > That's a sign of your qemu being too old to support disk snapshots > (older qemu only supports system checkpoint internal snapshots). > >> >> I do not know if this could be an issue, but after this wasn't working >> with libvirt-0.9.4, I did "yum update qemu-img qemu-kvm libvirt" and >> am now at the versions listed in previous email. I did not do a full >> system upgrade or reboot as this is a heavily loaded production >> system. Is this the case where the VM is running as the previous >> version of qemu-kvm ? >> >> Thanks >> - Trey >> > > -- > Eric Blake eblake at redhat.com +1-919-301-3266 > Libvirt virtualization library http://libvirt.org >Replying back to list, accidently missed reply-all. Could it be the case that since I upgraded libvirt and qemu while all the VMs were running, that the VM has to be restarted to take on the updated version's capability? If this isn't something yet supported in EL6.3, which I hope it is, is there any other way to perform a snapshot and exclude a disk aside from temporarily detaching it from the VM? Thanks - Trey