2010/3/31 Chris Lalancette <clalance(a)redhat.com>:
On 03/30/2010 08:14 PM, Matthias Bolte wrote:
> 2010/3/30 Chris Lalancette <clalance(a)redhat.com>:
>> Hello,
>> After our discussions about the snapshot API last week, I went ahead and
implemented
>> quite a bit of the API. I also went back to the ESX, Virtualbox, and QEMU
API's to
>> try and make sure our API's matched up. What's below is my revised API
based on
>> that survey. Following my revised API are notes that I took regarding how the
>> libvirt API matches up to the various API's, and some questions about
semantics that
>> I had while doing the survey. More comments and questions are welcome.
>> Mapping of our interface to various hypervisors:
>>
+-------------------------------+-----------------+-------------------+------------------------------+
>> | Libvirt | Qemu | Virtualbox | ESX
|
>>
+-------------------------------+-----------------+-------------------+------------------------------+
>> | virDomainSnapshotCreateXML | monitor command | takeSnapshot |
CreateSnapshot_task |
>> | | "savevm"; if | Snapshots can |
takes a name, description, |
>> | | snapshot name | be taken on | memory
(true/false) and |
>> | | is already in | powered off, | quiesce
(true/false). |
>> | | use, replaces | saved, running, | What does
"memory" mean? |
>
> If memory is true, ESX snapshots the memory of the domain too,
> otherwise only a disk snapshot is created.
>
> Creating a disk-only snapshot is nearly instant, while creating a
> memory snapshot also requires a notable amount of time to write the
> memory image to disk.
Sorry, I misread the documentation yesterday. That's fairly clear.
What's less clear to me is what happens when you take a disk-only snapshot,
and then try to RevertToSnapshot from a running VM. What happens in that case?
If the domain is running and you revert to a disk-only snapshot then
the domain gets shutdown. Or rephrased: the power state associated
with a disk-only snapshot is always powered-off, even if the domain
was running while the disk-only snapshot was created.
>
>> | | the previous | or paused VMs. | Should we
model "quiesce" |
>
> The vSphere API docs give a good description what the quiesce option does:
>
> "If TRUE and the virtual machine is powered on when the snapshot is
> taken, VMware Tools is used to quiesce the file system in the virtual
> machine. This assures that a disk snapshot represents a consistent
> state of the guest file systems. If the virtual machine is powered off
> or VMware Tools are not available, the quiesce flag is ignored."
>
> I assume "quiesce the file system" means to flush write caches and
> stuff like that.
>
> This option is important if you want to create a disk-only snapshot of
> a running domain.
Exactly. I'm not sure this is going to be possible in general (and
I guess it's not even really possible in ESX unless you install VMware
Tools inside the guest). I'm inclined not to model it at the moment,
although I could be convinced otherwise.
Yes, quiesce requires VMware Tools to be installed in the guest.
Matthias