qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Online image backup


From: Lorenzo Mancini
Subject: Re: [Qemu-devel] Online image backup
Date: Wed, 05 Dec 2007 15:12:45 +0100
User-agent: Thunderbird 2.0.0.6 (X11/20071022)

Matteo Bertini wrote:
Hello everyone,

is there any support for an online image backup? Or some direction to
have it?

Imagine I have an emulated server. How can I make an online backup of
the server state?

If I'm right in the actual design this is very hard.

Or there are some image internals update rules that permit a consistent
copy possible?

It should not be difficult provided the VM is using the QEMU qcow2 image
format (doing a backup can be seen as a kind of snapshot).

Fabrice, that's just part of the problem. A full automated remote backup service for qemu VMs should work like this:

 1. send a "savevm state" command to qemu;
 2. wait for savevm completion;
3. perform an *online* copy (cp, rsync, whatever) of the .qcow2 image, while it's still running in qemu;
 4. ...repeat for all running VMs.

Now suppose you lose the host machine and must revert to backup. A recovery scenario would be:

 1. copy the .qcow2 image on the new host machine;
 2. start qemu with the "-loadvm state" commandline switch.


The weak spot of this configuration is the third step of backup: if you perform an online copy (and that's your only real choice, since you don't want to powerdown the VMs every night just to backup them), you are copying a file while it's always modifying, and chances are high that the copy will be corrupted (i.e. different from any state the original went through), since you can't perform the copy with a single read.

However, if the .qcow2 file format is designed in such a way that even while copying it online, the resulting copy will certainly be corrupted but at least the states inside of it will be loadvm-able, that saves the day.


If that's not the case, one could fallback to perform the online copy between a couple of "stop" and "cont" commands, so you're sure that the underlying .qcow2 image is frozen while you're reading it (...is it?), but again that's suboptimal since you force the VMs to be down for some time.


Thanks in advance!

--
Lorenzo Mancini




reply via email to

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