[libvirt] Local qemu migration

Daniel P. Berrange berrange at redhat.com
Wed Nov 5 12:28:17 UTC 2014

On Wed, Nov 05, 2014 at 01:16:08PM +0100, Marc-André Lureau wrote:
> Hi
> On Wed, Nov 5, 2014 at 9:10 AM, Daniel P. Berrange <berrange at redhat.com>
> wrote:
> > Nope, there's stuff that's on the filesystem that is tied to the QEMU
> > process and that would clash when migrating as you have two copies of
> > the same VM running at the sme time.
> >
> Ok, there is no guarantee that the VMs won't write concurrently to the disk
> during migration?
> Also, there are cases where VM disks/images are readonly, or image-less VMs.

No, it isn't about the disk images. The actual guest CPUs are only executing
in one QEMU at a time, so there's not a problem wrt disk image usage. The
issue is with various other files we use. For example the QEMU monitor is a
UNIX domain socket at a specific path - you can't have both QEMUs have the
same UNIX domain socket. That's not under user control so we could change
the monitor socket path, but the problem extends to stuff that is directly
from the guest XML. ie VNC can be told to listen on a UNIX domain socket
path. virtio-serial devices are typically bound to UNIX domain sockets.
Serial ports, parallel ports, certain network device backends, and so on.

Migration fundamentally requires that the two QEMU processes involved have
completely separate filesystem namespaces, which effectively means separate
hosts (or at least separate containers which is effectively the same thing)

> Except the obvious testing case, there are other use cases that could be
> interesting: moving a running VM from system to session libvirt, or the
> other way around, or to a different user.

Migrating from session to system libvirt or vica-verca isn't something
that is reasonable to support either because of the different privilege
levels. The session QEMU will require the disk images to be owned by
one user account, the system QEMU will require them to be owned by a
different user account. We can't chown the images to satisfy both the
system and session QEMU at the same time.

|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

More information about the libvir-list mailing list