qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH 0/2] live backup vm


From: Dietmar Maurer
Subject: Re: [Qemu-devel] [RFC PATCH 0/2] live backup vm
Date: Tue, 11 Dec 2012 07:46:19 +0000

OK, I will try to give a short overview on the functionality.

First, we decided to use 'internal' snapshots for our 'live snapshot' 
implementation.
Internal snapshots almost always use some kind of reference counting, making
snapshot action (like 'create/delete snapshot') quite efficient and fast.

Internal snapshot totally depends on the storage backend. For now we can create
internal snapshots on the following storage backend:

* qcow2 files
* rbd
* sheepdog
* nexenta iscsi

As you can see, creating internal snapshots sometimes needs external tool. For 
example we use  the
nexenta API to create snapshots, while we use libiscsi to access them inside 
qemu.

So our snapshot implementation uses the following steps:

1.) qmp: savevm-start [statefile]

This save the VM state into [statefile] and then stops the VM.

2.) qga freezefs

3.) create snapshots: either using external tools or by qmp: snapshot-drive

4.) gqa unfreezefs

5.) qmp: savevm-end 

This restarts/resumes the VM

>    Have some questions:
>    in qmp_savevm_start(), vm_stop(RUN_STATE_SAVE_VM), I think this will
> stop the VM running make it not lively, am I right?

Yes, we need to halt the VM for a short period of time while we make
snapshots. But that time is usually short.

- Dietmar

reply via email to

[Prev in Thread] Current Thread [Next in Thread]