[libvirt] vbox save/restore

Pritesh Kothari Pritesh.Kothari at Sun.COM
Mon Aug 10 07:04:53 UTC 2009


On Monday 10 August 2009 02:48:10 Lucian Adrian Grijincu wrote:
> Hello,
>
> I see that the vbox driver in virDomainSave doesn't use the
> destination file path and calls vbox's IConsole::SaveState.
> As I see it IConsole::SaveState is more like a "pause" command: you
> can save the state you're in and wait for the machine to stop running
> and you can resume it later.
> This limits the uses of the vbox support of libvirt.
>
> There is another way you can do virDomainSave/virDomainRestore: use
> snapshots. This way, you can specify the file in which you want to save the
> snapshot, you can continue to use the machine and do some crazy
> experiments and then restore the machine to the known good state.
> As of the current implementation, I don't think there's a way to do
> this in libvirt.
>
> I'd like to know if there's a real reason why virDomainSave is
> implemented this way (and virDomainRestore is unimplemented), or it
> just got implemented like this and no one cared much about it.

Hi Lucian,

The reason for the current way for implementing virDomainSave is:

The iConsole::takeSnapshot() method is still inadequate in the sense that it 
doesn't take file name as parameter. Secondly snapshots create UUID's and other 
relevant data which is stored in the Machine's xml config file and it is simply 
a no-no to change the xml settings manually and thus it is not an option to 
manually copy that snapshot from current location to the one specified by the 
virDomainSave libvirt call.

so until there is a fully developed API which can cleanly save the snapshot to 
a file at given location, i guess the above method is likely to be near to what 
is expected of virDomainSave().

Regards,
Pritesh




More information about the libvir-list mailing list