[libvirt] RFCv2: virDomainSnapshotCreateXML enhancements
Eric Blake
eblake at redhat.com
Tue Aug 23 13:40:05 UTC 2011
On 08/23/2011 03:52 AM, Stefan Hajnoczi wrote:
> On Wed, Aug 10, 2011 at 11:08 PM, Eric Blake<eblake at redhat.com> wrote:
>> disk snapshot: the state of a virtual disk used at a given time; once a
>> snapshot exists, then it is possible to track a delta of changes that have
>> happened since that time.
>
> Did you go into details of the delta API anywhere? I don't see it.
It's not available yet, because qemu doesn't provide anything yet. I
think that APIs to inspect the actual delta disk contents between the
current state and a prior snapshot will be similar to block pull, but we
can't implement anything without support from the underlying tools.
>
> My general feedback is that you are trying to map all supported
> semantics which becomes very complex. However, I'm a little concerned
> that this API will require users to become experts in
> snapshots/checkpoints. You've mentioned quite a few exceptions where
> a force flag is needed or other action is required. Does it make
> sense to cut this down to a common abstraction that mortals can use?
Hopefully I'm making the error messages specific enough in the cases
where a revert is rejected but would succeed with a force flag. And as
I haven't actually implemented the force flag yet, I may still end up
tweaking things a bit compared to the original RFC when I actually get
into coding things.
> Regarding LVM, btrfs, etc support: eventually it would be nice to
> support these storage systems as well as storage appliances (various
> SAN and NAS boxes that have their own APIs). If you lay down an
> interface that must be implemented in order to enable snapshots on a
> given storage system, then others can contribute the actual drivers
> for storage systems they care about.
Yes, there's still quite a bit of refactoring to be done to move the
snapshot work out of the qemu driver an into the storage volume driver,
with enough of an expressive interface that the qemu driver can then
make several calls to probe the snapshot capabilities of each storage
volume. But one step at a time, and the first thing to get working is
proving that the xml changes are sufficient for qemu to do qcow2
snapshots, and that the xml remains flexible enough to later extend (it
isn't locking us into a qcow2-only solution).
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
More information about the libvir-list
mailing list