From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: "Denis V. Lunev" <den@openvz.org>
Cc: John Snow <jsnow@redhat.com>,
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
qemu-devel@nongnu.org, qemu-block@nongnu.org,
quintela@redhat.com, stefanha@redhat.com, famz@redhat.com,
mreitz@redhat.com, kwolf@redhat.com,
Eric Blake <eblake@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 4/6] dirty-bitmaps: clean-up bitmaps loading and migration logic
Date: Fri, 3 Aug 2018 10:10:34 +0100 [thread overview]
Message-ID: <20180803091034.GD2802@work-vm> (raw)
In-Reply-To: <37953739-c697-2c61-3b83-b58a32710b15@openvz.org>
* Denis V. Lunev (den@openvz.org) wrote:
> On 08/03/2018 11:33 AM, Dr. David Alan Gilbert wrote:
> > * Denis V. Lunev (den@openvz.org) wrote:
> >> On 08/02/2018 12:50 PM, Dr. David Alan Gilbert wrote:
> >>> * Denis V. Lunev (den@openvz.org) wrote:
> >>>
> >>>
> >>>>> I don't quite understand the last two paragraphs.
> >>>> we are thinking right now to eliminate delay on regular IO
> >>>> for migration. There is some thoughts and internal work in
> >>>> progress. That is why I am worrying.
> >>> What downtime are you typicaly seeing and what are you aiming for?
> >>>
> >>> It would be good if you could explain what you're planning to
> >>> fix there so we can get a feel for it nearer the start of it
> >>> rather than at the end of the reviewing!
> >>>
> >>> Dave
> >> The ultimate goal is to reliable reach 100 ms with ongoing IO and
> >> you are perfectly correct about reviewing :)
> > That would be neat.
> >
> >> Though the problem is that right now we are just trying to
> >> invent something suitable :(
> > OK, some brain-storm level ideas:
> >
> > a) Throttle the write bandwidth at later stages of migration
> > (I think that's been suggested before)
> yes
>
> > b) Switch to some active-sync like behaviour where the writes
> > are sent over the network as they happen to the destination
> > (mreitz has some prototype code for that type of behaviour
> > for postcopy)
> will not work. Even with the sync mirror (which we have submitted
> 2 years ago, but not accepted), usual downtime will be around 1 sec
> due to requests in flight.
I'm confused why it would be that high; are you saying that would be
longer than the downtime with the current writes near the end of
migration on the source?
> > c) Write the writes into a buffer that gets migrated over the
> > migration stream to get committed on the destination side.
> yes. this is an option but the buffer can be too big.
Combined with some throttling you should be able to bound the size;
especially since it should be done only for the very last part of the
migration.
> For the shared disk migration the options are the following:
> - without metadata updates writes could be just passed to finish, there
> is no need to wait. But completions should be reported to destination
> - metadata updates are not allowed, they should be transferred to the
> destination
>
> For non-shared disk migration we do not need to wait local IO, we just need
> to restart them on target. Alternatively these areas could be marked as
> blocked for IO and re-sync again once writes are completed.
>
> These are raw ideas, which should be improved and tweaked.
Nod; it needs some thinking about.
Dave
> Den
>
> > As I say, brainstorm level ideas only!
> >
> > Dave
> >
> >
> >> Den
> >>
> >>>>> However, coming back to my question; it was really saying that
> >>>>> normal guest IO during the end of the migration will cause
> >>>>> a delay; I'm expecting that to be fairly unrelated to the size
> >>>>> of the disk; more to do with workload; so I guess in your case
> >>>>> the worry is the case of big large disks giving big large
> >>>>> bitmaps.
> >>>> exactly!
> >>>>
> >>>> Den
> >>> --
> >>> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
> > --
> > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2018-08-03 9:10 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-26 13:50 [Qemu-devel] [PATCH 0/6] fix persistent bitmaps migration logic Vladimir Sementsov-Ogievskiy
2018-06-26 13:50 ` [Qemu-devel] [PATCH 1/6] iotests: 169: drop deprecated 'autoload' parameter Vladimir Sementsov-Ogievskiy
2018-07-09 22:36 ` John Snow
2018-06-26 13:50 ` [Qemu-devel] [PATCH 2/6] block/qcow2: improve error message in qcow2_inactivate Vladimir Sementsov-Ogievskiy
2018-06-28 12:16 ` Eric Blake
2018-07-09 22:38 ` John Snow
2018-06-26 13:50 ` [Qemu-devel] [PATCH 3/6] bloc/qcow2: drop dirty_bitmaps_loaded state variable Vladimir Sementsov-Ogievskiy
2018-07-09 23:25 ` John Snow
2018-07-10 7:43 ` Vladimir Sementsov-Ogievskiy
2018-07-17 19:10 ` John Snow
2018-06-26 13:50 ` [Qemu-devel] [PATCH 4/6] dirty-bitmaps: clean-up bitmaps loading and migration logic Vladimir Sementsov-Ogievskiy
2018-07-21 2:41 ` John Snow
2018-08-01 10:20 ` Dr. David Alan Gilbert
2018-08-01 17:34 ` John Snow
2018-08-01 17:40 ` Dr. David Alan Gilbert
2018-08-01 18:42 ` Denis V. Lunev
2018-08-01 18:55 ` Dr. David Alan Gilbert
2018-08-01 20:25 ` Denis V. Lunev
2018-08-02 9:29 ` Dr. David Alan Gilbert
2018-08-02 9:38 ` Denis V. Lunev
2018-08-02 9:50 ` Dr. David Alan Gilbert
2018-08-02 19:05 ` Denis V. Lunev
2018-08-02 19:10 ` John Snow
[not found] ` <6d8ed319-9b63-5a7b-fcfe-20cd37cf8c7c@virtuozzo.com>
[not found] ` <d2538432-be74-99bc-72d1-94f8abaa2f9b@redhat.com>
[not found] ` <26c0e008-898d-924a-214e-68ab9fedf1ea@virtuozzo.com>
2018-10-15 9:42 ` [Qemu-devel] ping " Vladimir Sementsov-Ogievskiy
2018-10-29 17:52 ` [Qemu-devel] ping2 " Vladimir Sementsov-Ogievskiy
2018-10-29 18:06 ` John Snow
2018-08-03 8:33 ` [Qemu-devel] " Dr. David Alan Gilbert
2018-08-03 8:44 ` Vladimir Sementsov-Ogievskiy
2018-08-03 8:49 ` Dr. David Alan Gilbert
2018-08-03 8:59 ` Denis V. Lunev
2018-08-03 9:10 ` Dr. David Alan Gilbert [this message]
2018-08-01 18:56 ` John Snow
2018-08-01 20:31 ` Denis V. Lunev
2018-08-01 20:47 ` Denis V. Lunev
2018-08-01 22:28 ` John Snow
2018-08-02 10:23 ` Vladimir Sementsov-Ogievskiy
2018-08-01 12:24 ` Vladimir Sementsov-Ogievskiy
2018-06-26 13:50 ` [Qemu-devel] [PATCH 5/6] iotests: improve 169 Vladimir Sementsov-Ogievskiy
2018-06-26 13:50 ` [Qemu-devel] [PATCH 6/6] iotests: 169: add cases for source vm resuming Vladimir Sementsov-Ogievskiy
2018-06-26 18:22 ` [Qemu-devel] [PATCH 0/6] fix persistent bitmaps migration logic John Snow
2018-06-28 12:04 ` Vladimir Sementsov-Ogievskiy
2018-06-26 18:36 ` John Snow
2018-07-12 19:00 ` Vladimir Sementsov-Ogievskiy
2018-07-12 20:25 ` John Snow
2018-07-13 6:46 ` Vladimir Sementsov-Ogievskiy
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=20180803091034.GD2802@work-vm \
--to=dgilbert@redhat.com \
--cc=den@openvz.org \
--cc=eblake@redhat.com \
--cc=famz@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@redhat.com \
--cc=vsementsov@virtuozzo.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).