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?
Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html