On 03/27/2014 04:48 PM, Jon Bernard wrote:
One thing comes to mind: once volumes are quiesced, qemu-img could be
used directly to create the snapshot. In the case of iSCSI-attached
volumes, a remote snapshot command could be issued to create a snapshot.
Once all have completed the guest then thawed.
For local volumes, using qemu-img seems cumbersome to me. I feel there
should be a libvirt call to handle at least the local volumes.
virDomainSnapshotCreateXML already handles a snapshot of a subset of
local volumes via qemu. The reason we are adding FSFreeze/FSThaw is to
cater to situations where creating the snapshot via qemu is not feasible.
But be aware that you generally must NOT use qemu-img on a disk that is
in-use by qemu, as qemu may have pending changes to the image metadata
that would cause qemu-img to misbehave. If a guest is live (even if
paused or quiesced), the only safe things you can do to that guest are
to backing files (which are read-only to qemu) or actions supported
directly by qemu (and yes, we still need qemu to have a way to pivot to
a new disk file if you have a way of doing a fast snapshot while the
disk is quiesced but in a way different than how qemu does snapshots
with qcow2 files).
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org