From: Lorenzo Mancini <lmancini@develer.com>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Online image backup
Date: Wed, 05 Dec 2007 15:12:45 +0100 [thread overview]
Message-ID: <4756B1DD.4040009@develer.com> (raw)
> 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
next reply other threads:[~2007-12-05 14:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-05 14:12 Lorenzo Mancini [this message]
2007-12-05 21:25 ` [Qemu-devel] Online image backup Ricardo Almeida
2007-12-10 10:45 ` Lorenzo Mancini
2007-12-10 17:41 ` Ricardo Almeida
-- strict thread matches above, loose matches on Subject: below --
2007-11-20 11:23 Matteo Bertini
2007-11-20 23:02 ` Fabrice Bellard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4756B1DD.4040009@develer.com \
--to=lmancini@develer.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).