Il 19/03/2014 16:42, Serge E. Hallyn ha scritto:
Hi,
at https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1291321
it was found that migrating running vms from a machine with
qemu-kvm to one with qemu, migration fails due to some mismatches.
The first one we usually hit is
Length mismatch: vga.vram: 1000000 in != 800000
while the second one is network card (and I have not gone beyond
that).
This is just a different default. Make sure you specify the right model
on the command line.
The vga one can be handled on the command line by
specifying the -global cirrus-vga.vrammem_mb=8. However that
doesn't help with a libvirt migration.
You can patch Ubuntu's QEMU to detect old machine types (pc-1.2 and
earlier) and give cirrus-vga 16MB memory by default. Migration only
works with versioned machine types (or between same-version QEMU), so
it's okay to only do it there.
I guess this happens at ram_load() unfortunately - is there any
good way that this could be detected at incoming migration time
and the virtual hardware modified as needed for migration to
continue?
It cannot, but the destination can be patched to operate correctly for
the old machine types, on the assumption that migration from the old
machine types is always from Ubuntu's qemu-kvm.
Paolo