qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: "Denis V. Lunev" <den@openvz.org>,
	Vladimir Sementsov-Ogievskiy <vsementsov@parallels.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	"juan quin >> Juan Jose Quintela Carreira" <quintela@redhat.com>
Subject: Re: [Qemu-devel] Migration design planning
Date: Wed, 2 Mar 2016 12:23:57 -0500	[thread overview]
Message-ID: <56D721AD.6010302@redhat.com> (raw)
In-Reply-To: <20160302164637.GE2140@work-vm>



On 03/02/2016 11:46 AM, Dr. David Alan Gilbert wrote:
> * John Snow (jsnow@redhat.com) wrote:
>> Hi Juan;
>> We need your assistance in reviewing two competing designs for migrating
>> some block data so we can move forward with the feature.
>>
>> First, some background:
>>
>> What: Block Dirty Bitmaps. They are simple primitives that keep track of
>> which clusters have been written to since the last incremental backup.
>>
>> Why: They are in-ram primitives that do not get migrated as-is alongside
>> block data, they need to be migrated specially. We want to migrate them
>> so that the "incremental backup" feature is available after a migration.
> 
> There's a question I remember asking before, but I don't remember the answer.
> Given the size of these bitmaps (i.e. pretty small), why not make them
> RAMBlocks that aren't mapped to the guest RAM (we have one example; the ACPI
> config); if you did that, then they'd automatically get migrated with the
> existing migration code.
> 
> Dave
> 

*usually* pretty small, could be ~reasonably large~ (4MiB per 2TiB) and
we could have almost arbitrarily many -- though expected use case is
maybe 1-2 bitmaps per drive (or perhaps 1-2 bitmaps per node) as our
expected eventual use case.

I don't really have an answer for why we haven't pursued this other than
"We already have two unreviewed RFC series for migrating these, why are
we going to write a third?"

--js

>> How: There are two competing designs, see below.
>>
>>
>> Design Option #1: Live Migration
>>
>> Just like block data and ram, we make an initial pass over the data and
>> then continue to re-transmit data as necessary when block data becomes
>> dirtied again.
>>
>> This is a simple, bog-standard approach that mimics pretty closely how
>> other systems are migrated.
>>
>> The series is here from November:
>> https://lists.nongnu.org/archive/html/qemu-devel/2015-11/msg02717.html
>>
>> Most of the block-specific stuff has been reviewed, but it never got any
>> reviews by the migration maintainers. It's reasonably rotted by this
>> point, but it probably would not be a herculean effort to revive it.
>>
>>
>> Design Option #2: "Postcopy" Migration
>>
>> https://lists.nongnu.org/archive/html/qemu-devel/2016-02/msg02793.html
>>
>> The concept here is that incremental backup data can be treated simply
>> as best-effort; if it is lost, it's not a big deal. We can reconstitute
>> the data or simply start a new incremental backup sync point with a full
>> backup.
>>
>> The idea then is that instead of the incremental live migration, we just
>> wait to copy the bitmap until after the pivot and send it all at once.
>> This is faster and a bit more efficient, and will scale pretty nicely to
>> even quite large bitmaps.
>>
>>
>>
>> What I'd like from you: a broad acknowledgment of whether or not you
>> feel the Postcopy solution here is tenable, so we know which solution to
>> pursue. If we can get an ACK to one or the other method, we can
>> exhaustively review it from our end before handing it back to you for a
>> comprehensive migration review. We would like to see this feature hit
>> 2.6 if possible as the designs have been on-list for quite some time.
>>
>> Thanks,
>> --John Snow
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
> 

      reply	other threads:[~2016-03-02 17:24 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-26 23:28 [Qemu-devel] Migration design planning John Snow
2016-03-01 13:47 ` Juan Quintela
2016-03-01 15:24   ` Vladimir Sementsov-Ogievskiy
2016-03-01 19:11     ` John Snow
2016-03-01 18:54   ` John Snow
2016-03-02 16:46 ` Dr. David Alan Gilbert
2016-03-02 17:23   ` John Snow [this message]

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=56D721AD.6010302@redhat.com \
    --to=jsnow@redhat.com \
    --cc=den@openvz.org \
    --cc=dgilbert@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=stefanha@redhat.com \
    --cc=vsementsov@parallels.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).