On Mon, Mar 09, 2009 at 11:14:56PM +0900, Matt McCowan wrote:
OK. Another run at producing a function that helps the likes of me
backup my kvm Windows servers.
'virsh checkpoint domain file [script]' is what the following patch set
(against cvs) enables. Modelled on the virDomainSave function it takes
an optional script which it will execute (and pass the name of the
domain as an argument) while the domain is paused, then resume the
domain.
Okay, I quickly looked at the patch and the new API, so no stylistic
review at this point but more a general feedback. I appreciate the
completeness of the patch (only bit missing is filling up the virsh
man page with the new option)
I think this can help administrators in a controlled situation,
but I'm hoping a real snapshotting API will be possible at some point
where libvirt goes though the list of storage resources used by the
domain and properly make a snapshot using a storage API or return
an error if that's not possible.
This looks more as a script extension to virDomainSave/Restore
than really a snapshotting API as I would like libvirt to get at some
point. To me it doesn't implement snapshotting, it implement running a
script on a frozen domain. There is a lot of issues with that:
- the script need to be in place and there is no hint of what
it may contain
- what the script does is unbounded, there is a potential very
serious security issue there
- this does not garantee sucess of the operation and in case of
failure the script can't even propagate back an error code and
description
In my opinion this is a bit too ad-hoc to be turned into a full API
maintained forever, and I'm worried about remote execution capabilities
this opens up. I really hope we will have one day a real checkpointing
API in libvirt, but that requires making more progresses on the storage
management side.
Still thanks for sending the patches, even if I think this is not ripe
for inclusion, it reminds us that snapshotting is a big issue and need
to be taken care of !
By the by stability is coming along nicely since 0.6.0. Thanks!
Yeah, there were a lot of changes, and bugs are ironed out
progressively. Check the version from CVS/git/snapshot to get the
latest changes as usual,
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit
http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/