From: Marcelo Tosatti <mtosatti@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Kevin Wolf <kwolf@redhat.com>,
jes sorensen <jes.sorensen@redhat.com>,
dlaor@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: Thu, 12 May 2011 11:18:17 -0300 [thread overview]
Message-ID: <20110512141817.GA10472@amt.cnet> (raw)
In-Reply-To: <4DC806D7.6090400@codemonkey.ws>
On Mon, May 09, 2011 at 10:23:03AM -0500, Anthony Liguori wrote:
> 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.
One limitation of block copy is the need to rewrite data that differs
from the base image on every "merge". But this is a limitation of qcow2
external snapshots represented as files, not block copy itself (with
external qcow2 snapshots, even a "live block merge" would require
potentially copying large amounts of data).
Only with snapshots internal to an image data copying can be avoided
(and depending on the scenario, this can be a nasty limitation).
>
> Regards,
>
> Anthony Liguori
next prev parent reply other threads:[~2011-05-12 14:18 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
2011-05-09 20:58 ` Dor Laor
2011-05-12 14:18 ` Marcelo Tosatti [this message]
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=20110512141817.GA10472@amt.cnet \
--to=mtosatti@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=avi@redhat.com \
--cc=dlaor@redhat.com \
--cc=jes.sorensen@redhat.com \
--cc=kwolf@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).