From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
Andrea Arcangeli <aarcange@redhat.com>,
Pavel Hrdina <phrdina@redhat.com>,
Zhanghailiang <zhang.zhanghailiang@huawei.com>,
KVM devel mailing list <kvm@vger.kernel.org>,
Stefan Hajnoczi <stefanha@gmail.com>,
"Huangpeng (Peter)" <peter.huangpeng@huawei.com>,
mrhines@linux.vnet.ibm.com,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
Wenchao Xia <xiawenc@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [RFC]VM live snapshot proposal
Date: Mon, 3 Mar 2014 14:55:35 +0000 [thread overview]
Message-ID: <20140303145535.GE2837@work-vm> (raw)
In-Reply-To: <531487F3.9010606@redhat.com>
* Paolo Bonzini (pbonzini@redhat.com) wrote:
> Il 03/03/2014 14:30, Kevin Wolf ha scritto:
> >> > So why don't we simply reuse the existing migration code?
> >> I think this is different in the same way that block-backup and
> >> block-mirror are different. Huangpeng's proposal would let you make
> >> a consistent snapshot of disks and RAM.
> >Right. Though the point isn't about consistency (doing the disk snapshot
> >when memory has converged would be consistent as well), but about
> >having the snapshot semantically right at the time when the monitor
> >command is issued instead of only starting it then and being consistent
> >at the point of completion.
>
> Right---though it's not entirely true that migration only affects
> the point in time where you have consistency. For example, with
> migration you cannot use the guest agent for freeze/thaw and, even
> if we changed the code to allow that, the pause would be much longer
> than for live snapshots or block-backup.
>
> >This is indeed like pre/post-copy live migration, and probably both
> >options have their uses. I would suggest starting with the easy one, and
> >adding the post-copy feature on top.
>
> The feature matrix for migration and snapshot
>
> disk RAM internal snapshot
> non-live yes (0) yes (0) yes
> live, disk only yes (1) N/A yes (2)
> live, pre-copy yes (3) yes no
> live, post-copy yes (4) no no
> live, point-in-time yes (5) no no
>
> (0) just stop VM while doing normal pre-copy migration
> (1) blockdev-snapshot-sync
> (2) blockdev-snapshot-internal-sync
> (3) block-stream
> (4) drive-mirror
> (5) drive-backup
>
> By "the easy one" you mean live savevm with snapshot at the end of
> RAM migration, I guess. But the functionality is already available
> using migration, while point-in-time snapshots actually add new
> functionality. I'm not sure what's the status of the kernel
> infrastructure for post-copy. Andrea?
Accumulating the running set of changes that migration is spitting out
gets you some of the way - but to do it you have to have
points in the migration stream which represent a consistent view of
device state, RAM and disk and I think the tricky point is getting
those consistent points; while the CPU is running the set of pages that
migration spits out are certainly newer than old versions of the pages
but I don't think you can just put a marker in and say that the point
represents a single consistent view of RAM.
In many ways this is the opposite of Michael Hines's microcheckpointing approach;
which stops everything and takes the snapshot regularly; I did suggest a
modification to that would be to COW those checkpoints.
Dave
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2014-03-03 14:56 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-03 1:13 [Qemu-devel] [RFC]VM live snapshot proposal Huangpeng (Peter)
2014-03-03 12:32 ` Stefan Hajnoczi
2014-03-03 12:55 ` Kevin Wolf
2014-03-03 13:19 ` Paolo Bonzini
2014-03-03 13:30 ` Kevin Wolf
2014-03-03 13:47 ` Paolo Bonzini
2014-03-03 14:04 ` Kevin Wolf
2014-03-03 14:55 ` Dr. David Alan Gilbert [this message]
2014-03-03 19:52 ` Andrea Arcangeli
2014-03-04 1:35 ` Huangpeng (Peter)
2014-03-05 14:46 ` Andrea Arcangeli
2014-03-05 1:52 ` Huangpeng (Peter)
2014-03-05 14:55 ` Andrea Arcangeli
2014-03-04 1:28 ` Huangpeng (Peter)
2014-03-04 9:40 ` Dr. David Alan Gilbert
2014-03-05 1:00 ` Huangpeng (Peter)
2014-03-05 9:09 ` Paolo Bonzini
2014-03-06 1:42 ` Huangpeng (Peter)
2014-03-06 9:14 ` Dr. David Alan Gilbert
2014-03-04 1:06 ` Huangpeng (Peter)
2014-03-03 13:18 ` Paolo Bonzini
2014-03-04 1:02 ` Huangpeng (Peter)
2014-03-04 8:54 ` Stefan Hajnoczi
2014-03-04 9:05 ` Paolo Bonzini
2014-03-04 11:28 ` Wenchao Xia
2014-03-05 0:46 ` Huangpeng (Peter)
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=20140303145535.GE2837@work-vm \
--to=dgilbert@redhat.com \
--cc=aarcange@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=kwolf@redhat.com \
--cc=mrhines@linux.vnet.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peter.huangpeng@huawei.com \
--cc=phrdina@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.com \
--cc=xiawenc@linux.vnet.ibm.com \
--cc=zhang.zhanghailiang@huawei.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).