From: Anthony Liguori <anthony@codemonkey.ws>
To: dlaor@redhat.com
Cc: Kevin Wolf <kwolf@redhat.com>,
jes sorensen <jes.sorensen@redhat.com>,
Marcelo Tosatti <mtosatti@redhat.com>,
qemu-devel <qemu-devel@nongnu.org>, Avi Kivity <avi@redhat.com>,
Stefan Hajnoczi <stefan.hajnoczi@uk.ibm.com>
Subject: Re: [Qemu-devel] [RFC] live snapshot, live merge, live block migration
Date: Mon, 09 May 2011 10:23:03 -0500 [thread overview]
Message-ID: <4DC806D7.6090400@codemonkey.ws> (raw)
In-Reply-To: <4DC7EEB0.3040007@redhat.com>
On 05/09/2011 08:40 AM, Dor Laor wrote:
> No patch here (sorry) but collection of thoughts about these features
> and their potential building blocks. Please review (also on
> http://wiki.qemu.org/Features/LiveBlockMigration)
>
> Future qemu is expected to support these features (some already
> implemented):
>
> * Live block copy
>
> Ability to copy 1+ virtual disk from the source backing file/block
> device to a new target that is accessible by the host. The copy
> supposed to be executed while the VM runs in a transparent way.
>
> Status: code exists (by Marcelo) today in qemu but needs refactoring
> due to a race condition at the end of the copy operation. We agreed
> that a re-implementation of the copy operation should take place
> that makes sure the image is completely mirrored until management
> decides what copy to keep.
Live block copy is growing on me. It can actually be used (with an
intermediate network storage) to do live block migration.
>
> * Live snapshots and live snapshot merge
>
> Live snapshot is already incorporated (by Jes) in qemu (still need
> qemu-agent work to freeze the guest FS).
Live snapshot is unfortunately not really "live". It runs a lot of
operations synchronously which will cause the guest to incur downtime.
We really need to refactor it to truly be live.
> * Copy on read (image streaming)
> Ability to start guest execution while the parent image reside
> remotely and each block access is replicated to a local copy (image
> format snapshot)
>
> It should be nice to have a general mechanism that will be used for
> all image formats. What about the protocol to access these blocks
> over the net? We can reuse existing ones (nbd/iscsi).
I think the image format is really the best place to have this logic.
Of course, if we have live snapshot merge, we could use a temporary
QED/QCOW2 file and then merge afterwards.
> * Using external dirty block bitmap
>
> FVD has an option to use external dirty block bitmap file in
> addition to the regular mapping/data files.
>
> We can consider using it for live block migration and live merge too.
> It can also allow additional usages of 3rd party tools to calculate
> diffs between the snapshots.
> There is a big down side thought since it will make management
> complicated and there is the risky of the image and its bitmap file
> get out of sync. It's much better choice to have qemu-img tool to be
> the single interface to the dirty block bitmap data.
Does the dirty block bitmap need to exist outside of QEMU?
IOW, if it goes away after a guest shuts down, is that problematic?
I think it potentially greatly simplifies the problem which makes it
appealing from my perspective.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2011-05-09 15:23 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-09 13:40 [Qemu-devel] [RFC] live snapshot, live merge, live block migration Dor Laor
2011-05-09 15:23 ` Anthony Liguori [this message]
2011-05-09 20:58 ` Dor Laor
2011-05-12 14:18 ` Marcelo Tosatti
2011-05-12 15:37 ` Jes Sorensen
2011-05-10 14:13 ` Marcelo Tosatti
2011-05-12 15:33 ` Jes Sorensen
2011-05-13 3:16 ` Jagane Sundar
2011-05-15 21:14 ` Dor Laor
2011-05-15 21:38 ` Jagane Sundar
2011-05-16 7:53 ` Dor Laor
2011-05-16 8:23 ` Jagane Sundar
2011-05-17 22:53 ` Dor Laor
2011-05-18 15:49 ` Jagane Sundar
2011-05-20 12:19 ` Stefan Hajnoczi
2011-05-20 12:39 ` Jes Sorensen
2011-05-20 12:49 ` Stefan Hajnoczi
2011-05-20 12:56 ` Jes Sorensen
2011-05-22 9:52 ` Dor Laor
2011-05-23 13:02 ` Stefan Hajnoczi
2011-05-27 16:46 ` Stefan Hajnoczi
2011-05-27 17:16 ` Jagane Sundar
2011-05-23 5:42 ` Jagane Sundar
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=4DC806D7.6090400@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=avi@redhat.com \
--cc=dlaor@redhat.com \
--cc=jes.sorensen@redhat.com \
--cc=kwolf@redhat.com \
--cc=mtosatti@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefan.hajnoczi@uk.ibm.com \
/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).