On 18/03/13 16:53, Alex Bligh wrote:
Paolo,
--On 18 March 2013 17:19:14 +0100 Paolo Bonzini <pbonz...@redhat.com> wrote:
I remembered this incorrectly, sorry. It's not from a previous run,
it's from the beginning of this run. See
http://wiki.qemu.org/Migration/Storage for more information.
A VM has a disk backed by NFS. It runs on node A, at which point pages
are introduced to the page cache. It then migrates to node B, which
entails starting the VM on node B while it is still running on node A.
Closing has yet to happen on node A, but the file is already open on
node B; anything that is cached on node B will never be invalidated.
Thus, any changes done to the disk on node A during migration may not
become visible on node B.
This might be a difference between Xen and KVM. On Xen migration is
made to a server in a paused state, and it's only unpaused when
the migration to B is complete. There's a sort of extra handshake at
the end.
I think what you mean is that all the memory is handled by Xen and the
toolstack, not by qemu. The qemu state is sent as the very last thing,
after all of the memory, and therefore (you are arguing) that qemu is
not started, and the files cannot be opened, until after the migration
is nearly complete, and certainly until after the file is closed on the
sending side.
(In KVM this isn't the case because I assume it's qemu that handles the
memory transition, and so it is likely to open the files on the
receiving side when the migration starts.)
If so I think that should answer Paolo's argument -- but let me go
through and verify that first.
It will have to wait until tomorrow, however. :-)
-George