
On Tue, Nov 11, 2008 at 10:11:40PM +0000, Daniel P. Berrange wrote:
On Thu, Nov 06, 2008 at 03:10:29PM +0100, Chris Lalancette wrote:
All, Attached is a patch to implement Qemu/KVM live migration in libvirt. Now that upstream Qemu has settled on an interface that is friendly to libvirt (i.e. one that doesn't block the monitor on -incoming), we can implement it here. Note that the bulk of this patch was written by Rich Jones quite a while ago. My hand in it has mostly been to forward port it to current libvirt CVS, tweak it for the new Qemu style, and test it out with a recent KVM (kvm-78, in particular). Note that there is a FIXME in the code. When testing this out with kvm-78, I found that if I let the source side kill the source VM immediately after the "migrate" monitor command completed, the migration to the destination would never complete. This seems to be a bug in Qemu; the migrate monitor command shouldn't return until the migrate is really, truly complete. I'm posting this now so I can get reviews, and start to address review comments while I try to figure out what's going on with Qemu. With my temporary hack of the sleep() call in there, though, I was able to successfully live migrate an F-9 guest between two machines.
Signed-off-by: Chris Lalancette <clalance@redhat.com>
Now that the QEMU bug is fixed, I'm inclined to say we should commit this migration support - minus the sleep(5) of course. It is well overdue to have migration in the QEMU driver, and oVirt guys have sanity checked its implementation in their developemnt, so shouldn't be any surprises.
Agreed, +1 Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/