Re: [Qemu-devel] qemu live migration error from 2.0 to 2.1
William Dauchy wdau...@gmail.com writes: On Tue, Aug 5, 2014 at 8:57 PM, Dr. David Alan Gilbert dgilb...@redhat.com wrote: Can you confirm this is on the final 2.1 release (there was a fix that went in just around rc5). for the receiver, I'm using 2.1 # qemu-system-x86_64 --version QEMU emulator version 2.1.0, Copyright (c) 2003-2008 Fabrice Bellar for the sender side, here is the qmp result: (QEMU) query-version { u'return': { u'package': u'', u'qemu': { u'major': 2, u'micro': 50, u'minor': 0}}} What's your command line on both ends? the receiver: qemu-system-x86_64 -m 2048 -cpu host,level=9 -nodefconfig -nodefaults -nographic -readconfig /var/lib/qemu/VM_A/config -pidfile /var/lib/qemu/VM_A/pid -serial pty -D /var/lib/qemu/VM_A/log -d unimp,guest_errors -incoming tcp:0:32768 /var/lib/qemu/VM_A/config: [name] guest = VM_A process = VM_A [chardev compat_monitor0] backend = socket path = /var/lib/qemu/VM_A/sock server = on wait = off [device] driver = virtio-balloon [rtc] base = utc [mon compat_monitor0] mode = control chardev = compat_monitor0 default = on [machine] kernel = /boot/bzImage append = root=/dev/sda console=ttyS0 ro accel = kvm [device] driver = virtio-rng-pci [device scsi0] driver = virtio-scsi-pci hotplug = on [...] vif config [...] disk config [smp-opts] cpus = 2 sockets = 1 cores = 1 threads = 1 maxcpus = 12 the sender has the exact same command (without tcp receiver) and also the same config; I'm just issuing a migrate command through qmp. Looks like you're not specifying a machine type. If that's the case, your source machine uses the old QEMU's default machine type, probably pc-i440fx-2.0, and your destination machine uses the new default, probably pc-i440fx-2.1. Migration requires identical machine types on source and destination. If they differ, migration may work anyway (this is the very lucky case), fail outright (lucky case), or it may succeed, then make the guest misbehave or blow up on the destination, possibly after some delay. Please try with 'type = pc-i440fx-2.0' in your '[machine]' section.
Re: [Qemu-devel] qemu live migration error from 2.0 to 2.1
Il 05/08/2014 20:57, Dr. David Alan Gilbert ha scritto: (CC Paolo) * William Dauchy (wdau...@gmail.com) wrote: Hello, For a qemu live migration from 2.0 to 2.1 I'm getting: qemu-system-x86_64: Length mismatch: /rom@etc/acpi/tables: 3000 in != 2 qemu-system-x86_64: Unknown ramblock /table-loader, cannot accept migration qemu-system-x86_64: Ack, bad migration stream! qemu-system-x86_64: Illegal RAM offset f0e2d500f06000 qemu: warning: error while loading state for instance 0x0 of device 'ram' qemu-system-x86_64: load of migration failed: Invalid argument I was wondering if it was a bug or if I was supposed to do something to avoid this error. That should work. I saw the bug report for qemu1.7 but it's not my case. Can you confirm this is on the final 2.1 release (there was a fix that went in just around rc5). What's your command line on both ends? I suspect he's using -M pc on both. You must use -M pc-i440fx-2.0 on both if you're migrating from 2.0 to a different version. Paolo
Re: [Qemu-devel] qemu live migration error from 2.0 to 2.1
Il 06/08/2014 08:16, Markus Armbruster ha scritto: for the receiver, I'm using 2.1 # qemu-system-x86_64 --version QEMU emulator version 2.1.0, Copyright (c) 2003-2008 Fabrice Bellar for the sender side, here is the qmp result: (QEMU) query-version { u'return': { u'package': u'', u'qemu': { u'major': 2, u'micro': 50, u'minor': 0}}} This is a development version between 2.0.0 and 2.0.0-rc1; it may have bugs such as the one that was fixed in 2.0.0-rc5. Migration from development versions is not supported. You must either upgrade to 2.1.0, or downgrade to the released 2.0.0 version. Paolo
Re: [Qemu-devel] qemu live migration error from 2.0 to 2.1
On Wed, Aug 6, 2014 at 9:47 AM, Paolo Bonzini pbonz...@redhat.com wrote: I suspect he's using -M pc on both. Is it the default value? because it's not the case in my command line. You must use -M pc-i440fx-2.0 on both if you're migrating from 2.0 to a different version. wow. I wasn't expecting such behavior; i.e migration between qemu version does not seem trivial and it removes the benefits; better using stop/start. thanks for the info. -- William
Re: [Qemu-devel] qemu live migration error from 2.0 to 2.1
On Wed, Aug 6, 2014 at 9:49 AM, Paolo Bonzini pbonz...@redhat.com wrote: This is a development version between 2.0.0 and 2.0.0-rc1; it may have bugs such as the one that was fixed in 2.0.0-rc5. you mean 2.1.0-rc5 Migration from development versions is not supported. You must either upgrade to 2.1.0, or downgrade to the released 2.0.0 version. in all case I would have the same issue with 2.0.0 version since the fix has been pushed in 2.1.0-rc5 -- William
Re: [Qemu-devel] qemu live migration error from 2.0 to 2.1
* William Dauchy (wdau...@gmail.com) wrote: On Wed, Aug 6, 2014 at 9:47 AM, Paolo Bonzini pbonz...@redhat.com wrote: I suspect he's using -M pc on both. Is it the default value? because it's not the case in my command line. You must use -M pc-i440fx-2.0 on both if you're migrating from 2.0 to a different version. wow. I wasn't expecting such behavior; i.e migration between qemu version does not seem trivial and it removes the benefits; better using stop/start. thanks for the info. The trick is to pick a -M value and stick with it; then you should be able to keep migrating to newer QEMU versions easily (just don't go with dev versions because things are often broken in them). -M pc is special, don't use that if you want to be able to migrate Dave -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
Re: [Qemu-devel] qemu live migration error from 2.0 to 2.1
On Wed, Aug 6, 2014 at 11:17 AM, Dr. David Alan Gilbert dgilb...@redhat.com wrote: The trick is to pick a -M value and stick with it; then you should be able to keep migrating to newer QEMU versions easily (just don't go with dev versions because things are often broken in them). ok for dev versions, I'm just cherry picking interesting fixes which are not yet released in stable. -M pc is special, don't use that if you want to be able to migrate understood, I guess it's the default value -- William
[Qemu-devel] qemu live migration error from 2.0 to 2.1
Hello, For a qemu live migration from 2.0 to 2.1 I'm getting: qemu-system-x86_64: Length mismatch: /rom@etc/acpi/tables: 3000 in != 2 qemu-system-x86_64: Unknown ramblock /table-loader, cannot accept migration qemu-system-x86_64: Ack, bad migration stream! qemu-system-x86_64: Illegal RAM offset f0e2d500f06000 qemu: warning: error while loading state for instance 0x0 of device 'ram' qemu-system-x86_64: load of migration failed: Invalid argument I was wondering if it was a bug or if I was supposed to do something to avoid this error. I saw the bug report for qemu1.7 but it's not my case. Regards, -- William
Re: [Qemu-devel] qemu live migration error from 2.0 to 2.1
On Tue, Aug 5, 2014 at 8:57 PM, Dr. David Alan Gilbert dgilb...@redhat.com wrote: Can you confirm this is on the final 2.1 release (there was a fix that went in just around rc5). for the receiver, I'm using 2.1 # qemu-system-x86_64 --version QEMU emulator version 2.1.0, Copyright (c) 2003-2008 Fabrice Bellar for the sender side, here is the qmp result: (QEMU) query-version { u'return': { u'package': u'', u'qemu': { u'major': 2, u'micro': 50, u'minor': 0}}} What's your command line on both ends? the receiver: qemu-system-x86_64 -m 2048 -cpu host,level=9 -nodefconfig -nodefaults -nographic -readconfig /var/lib/qemu/VM_A/config -pidfile /var/lib/qemu/VM_A/pid -serial pty -D /var/lib/qemu/VM_A/log -d unimp,guest_errors -incoming tcp:0:32768 /var/lib/qemu/VM_A/config: [name] guest = VM_A process = VM_A [chardev compat_monitor0] backend = socket path = /var/lib/qemu/VM_A/sock server = on wait = off [device] driver = virtio-balloon [rtc] base = utc [mon compat_monitor0] mode = control chardev = compat_monitor0 default = on [machine] kernel = /boot/bzImage append = root=/dev/sda console=ttyS0 ro accel = kvm [device] driver = virtio-rng-pci [device scsi0] driver = virtio-scsi-pci hotplug = on [...] vif config [...] disk config [smp-opts] cpus = 2 sockets = 1 cores = 1 threads = 1 maxcpus = 12 the sender has the exact same command (without tcp receiver) and also the same config; I'm just issuing a migrate command through qmp. -- William