On Tue, Mar 30, 2010 at 06:39:02PM -0400, Chris Lalancette wrote:
On 03/30/2010 05:26 PM, Eric Blake wrote:
> On 03/30/2010 02:52 PM, Matthias Bolte wrote:
>> Yep, if a domain it not running you'll just get a disk snapshot
>> without a memory snapshot.
>
> Is taking a halted disk snapshot something we might want to allow with a
> flag, though? For that matter, is this API useful for taking a disk
> snapshot and disregarding a memory snapshot even of a running VM?
>
The problem with disgregarding a memory snapshot of a running guest is that it
is very easy to get inconsistent snapshots; that is, the guest could
have data cached in memory that is not on disk when you snapshot, and then you
have completely inconsistent results on disk.
ESX allows you to do a disk only snapshot of a running guest, but they cheat;
they also have a way to quiesce the guest (force writes), thus ensuring a
consistent snapshot.
Virtualbox doesn't give you a choice in the matter; if the guest is off when
you take a snapshot, you get a disk snapshot, and if it's on when you take a
snapshot, you get a disk+memory snapshot.
Qemu allows both usages, although it must have the consistency problems I
mentioned above for a disk-only snapshot on a running guest.
For now, I think we can stick with the disk-only semantic for shutoff guests,
and the disk+memory semantic for running guests. If it turns out that there
is a need for a disk-only semantic for running guests, this should be easy
to add later via a flag to virDomainSnapshotCreateXML.
yes, that sounds a reasonable approach to me.
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/