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
>
prev parent 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).