* [Qemu-devel] live migration between different qemu versions
@ 2016-01-11 15:46 Alexey
2016-01-11 19:51 ` Dr. David Alan Gilbert
2016-01-12 12:00 ` Gerd Hoffmann
0 siblings, 2 replies; 13+ messages in thread
From: Alexey @ 2016-01-11 15:46 UTC (permalink / raw)
To: Qemu devel
Hello.
I have two servers between which I need have live migration.
First server have QEMU emulator version 2.3.0
Second server have QEMU emulator version 2.5.0
Migration command look like this:
/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
tcp://second.server qemu+ssh://second.server/system --verbose
I got next error on console:
error: operation failed: migration job: unexpectedly failed
And next error in log on second server:
2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
/rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
2016-01-11T15:07:12.888685Z qemu-system-x86_64: error while loading
state for instance 0x0 of device 'ram'
2016-01-11T15:07:12.889733Z qemu-system-x86_64: load of migration
failed: Invalid argument
In my libvirt domain I have option <rom bar="off"/>.
I need to do a live migration in any possible way. How can I do this
one?
Thanks,
Alexey Mochkin.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-11 15:46 [Qemu-devel] live migration between different qemu versions Alexey
@ 2016-01-11 19:51 ` Dr. David Alan Gilbert
2016-01-11 20:49 ` Alexey
2016-01-12 12:00 ` Gerd Hoffmann
1 sibling, 1 reply; 13+ messages in thread
From: Dr. David Alan Gilbert @ 2016-01-11 19:51 UTC (permalink / raw)
To: Alexey; +Cc: Qemu devel
* Alexey (alukardd@alukardd.org) wrote:
> Hello.
Hi,
> I have two servers between which I need have live migration.
>
> First server have QEMU emulator version 2.3.0
> Second server have QEMU emulator version 2.5.0
>
> Migration command look like this:
> /usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri tcp://second.server
> qemu+ssh://second.server/system --verbose
>
> I got next error on console:
> error: operation failed: migration job: unexpectedly failed
>
> And next error in log on second server:
> 2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
> /rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
> 2016-01-11T15:07:12.888685Z qemu-system-x86_64: error while loading state
> for instance 0x0 of device 'ram'
> 2016-01-11T15:07:12.889733Z qemu-system-x86_64: load of migration failed:
> Invalid argument
>
> In my libvirt domain I have option <rom bar="off"/>.
>
> I need to do a live migration in any possible way. How can I do this one?
Is the efi-virtio ROM that you're using on the two versions the same identical size?
Also, can you post the commandline that you're using please.
Dave
>
> Thanks,
> Alexey Mochkin.
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-11 19:51 ` Dr. David Alan Gilbert
@ 2016-01-11 20:49 ` Alexey
2016-01-12 9:19 ` Dr. David Alan Gilbert
0 siblings, 1 reply; 13+ messages in thread
From: Alexey @ 2016-01-11 20:49 UTC (permalink / raw)
To: Dr. David Alan Gilbert; +Cc: Qemu devel
Hi David.
On 2016-01-11 22:51, Dr. David Alan Gilbert wrote:
> * Alexey (alukardd@alukardd.org) wrote:
>> Hello.
>
> Hi,
>
>> I have two servers between which I need have live migration.
>>
>> First server have QEMU emulator version 2.3.0
>> Second server have QEMU emulator version 2.5.0
>>
>> Migration command look like this:
>> /usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
>> tcp://second.server
>> qemu+ssh://second.server/system --verbose
>>
>> I got next error on console:
>> error: operation failed: migration job: unexpectedly failed
>>
>> And next error in log on second server:
>> 2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
>> /rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
>> 2016-01-11T15:07:12.888685Z qemu-system-x86_64: error while loading
>> state
>> for instance 0x0 of device 'ram'
>> 2016-01-11T15:07:12.889733Z qemu-system-x86_64: load of migration
>> failed:
>> Invalid argument
>>
>> In my libvirt domain I have option <rom bar="off"/>.
>>
>> I need to do a live migration in any possible way. How can I do this
>> one?
> Is the efi-virtio ROM that you're using on the two versions the same
> identical size?
No, I have different efi-virtio.rom files, and I try to find a way which
allows me not to copy the same efi-virtio.rom to all servers.
> Also, can you post the commandline that you're using please.
I already done this in my first email: virsh migrate...
>> /usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
>> tcp://second.server
>> qemu+ssh://second.server/system --verbose
Regards,
Alexey Mochkin.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-11 20:49 ` Alexey
@ 2016-01-12 9:19 ` Dr. David Alan Gilbert
2016-01-12 9:56 ` Alexey
0 siblings, 1 reply; 13+ messages in thread
From: Dr. David Alan Gilbert @ 2016-01-12 9:19 UTC (permalink / raw)
To: Alexey; +Cc: Qemu devel
* Alexey (alukardd@alukardd.org) wrote:
> Hi David.
>
> On 2016-01-11 22:51, Dr. David Alan Gilbert wrote:
> >* Alexey (alukardd@alukardd.org) wrote:
> >>Hello.
> >
> >Hi,
> >
> >>I have two servers between which I need have live migration.
> >>
> >>First server have QEMU emulator version 2.3.0
> >>Second server have QEMU emulator version 2.5.0
> >>
> >>Migration command look like this:
> >>/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
> >>tcp://second.server
> >>qemu+ssh://second.server/system --verbose
> >>
> >>I got next error on console:
> >>error: operation failed: migration job: unexpectedly failed
> >>
> >>And next error in log on second server:
> >>2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
> >>/rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
> >>2016-01-11T15:07:12.888685Z qemu-system-x86_64: error while loading
> >>state
> >>for instance 0x0 of device 'ram'
> >>2016-01-11T15:07:12.889733Z qemu-system-x86_64: load of migration
> >>failed:
> >>Invalid argument
> >>
> >>In my libvirt domain I have option <rom bar="off"/>.
> >>
> >>I need to do a live migration in any possible way. How can I do this
> >>one?
>
> >Is the efi-virtio ROM that you're using on the two versions the same
> >identical size?
> No, I have different efi-virtio.rom files, and I try to find a way which
> allows me not to copy the same efi-virtio.rom to all servers.
Right, the error does look like it's just complaining about the ROM size:
2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
/rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
It copes with small variations, but as soon as it flips over a 4K (?)
boundary then it has nowhere to put the extra data coming from the
larger ROM.
> >Also, can you post the commandline that you're using please.
> I already done this in my first email: virsh migrate...
> >>/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
> >>tcp://second.server
> >>qemu+ssh://second.server/system --verbose
I meant for the QEMU itself; but if we've already found the ROMs are
different sizes, lets fix that first and see how you go.
Dave
>
> Regards,
> Alexey Mochkin.
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-12 9:19 ` Dr. David Alan Gilbert
@ 2016-01-12 9:56 ` Alexey
2016-01-12 10:04 ` Dr. David Alan Gilbert
0 siblings, 1 reply; 13+ messages in thread
From: Alexey @ 2016-01-12 9:56 UTC (permalink / raw)
To: Dr. David Alan Gilbert; +Cc: Qemu devel
Hello,
On 2016-01-12 12:19, Dr. David Alan Gilbert wrote:
> * Alexey (alukardd@alukardd.org) wrote:
>> Hi David.
>>
>> On 2016-01-11 22:51, Dr. David Alan Gilbert wrote:
>> >* Alexey (alukardd@alukardd.org) wrote:
>> >>Hello.
>> >
>> >Hi,
>> >
>> >>I have two servers between which I need have live migration.
>> >>
>> >>First server have QEMU emulator version 2.3.0
>> >>Second server have QEMU emulator version 2.5.0
>> >>
>> >>Migration command look like this:
>> >>/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
>> >>tcp://second.server
>> >>qemu+ssh://second.server/system --verbose
>> >>
>> >>I got next error on console:
>> >>error: operation failed: migration job: unexpectedly failed
>> >>
>> >>And next error in log on second server:
>> >>2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
>> >>/rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
>> >>2016-01-11T15:07:12.888685Z qemu-system-x86_64: error while loading
>> >>state
>> >>for instance 0x0 of device 'ram'
>> >>2016-01-11T15:07:12.889733Z qemu-system-x86_64: load of migration
>> >>failed:
>> >>Invalid argument
>> >>
>> >>In my libvirt domain I have option <rom bar="off"/>.
>> >>
>> >>I need to do a live migration in any possible way. How can I do this
>> >>one?
>>
>> >Is the efi-virtio ROM that you're using on the two versions the same
>> >identical size?
>
>> No, I have different efi-virtio.rom files, and I try to find a way
>> which
>> allows me not to copy the same efi-virtio.rom to all servers.
>
> Right, the error does look like it's just complaining about the ROM
> size:
>
> 2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
> /rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
>
> It copes with small variations, but as soon as it flips over a 4K (?)
> boundary then it has nowhere to put the extra data coming from the
> larger ROM.
old server with qemu 2.3.0:
-rw-r--r-- 1 root root 203264 Nov 21 2014
/usr/lib/ipxe/qemu/efi-virtio.rom
new server with qemu 2.5.0:
-rw-r--r-- 1 root root 184320 Oct 19 2014
/usr/lib/ipxe/qemu/efi-virtio.rom
See, that destination server has smaller rom than source.
I interested in way which I could do live migration between different
ROMs.
Also I interested in migration in both side: from old to new and from
new to old.
>> >Also, can you post the commandline that you're using please.
>> I already done this in my first email: virsh migrate...
>> >>/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
>> >>tcp://second.server
>> >>qemu+ssh://second.server/system --verbose
> Do you mean running domain command line?
> I meant for the QEMU itself; but if we've already found the ROMs are
> different sizes, lets fix that first and see how you go.
Do you mean command line of running domain?
qemu-system-x86_64 -enable-kvm -name 208664-73 -S -machine
pc-i440fx-1.7,accel=kvm,usb=off -cpu
kvm64,+lahf_lm,+popcnt,+sse4.2,+sse4.1,+ssse3,+ss,-mca,-mce -m 1024
-realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid
08cf6bf2-a701-4a00-a0cb-4ecbe514c3d7 -no-user-config -nodefaults
-chardev
socket,id=charmonitor,path=/var/lib/libvirt/qemu/208664-73.monitor,server,nowait
-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc
-no-shutdown -boot strict=on -device
piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device
virtio-scsi-pci,id=scsi0,num_queues=4,bus=pci.0,addr=0x4 -device
virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive
file=/dev/disk/vbd/208664-73,if=none,id=drive-scsi0-0-0-0,format=raw,cache=none,discard=unmap,aio=native
-device
scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2
-netdev tap,fd=53,id=hostnet0,vhost=on,vhostfd=54 -device
virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:00:40:b9,bus=pci.0,addr=0x3,rombar=0
-chardev pty,id=charserial0 -device
isa-serial,chardev=charserial0,id=serial0 -chardev
socket,id=charchannel0,path=/var/lib/libvirt/qemu/208664-73.agent,server,nowait
-device
virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0
-device usb-mouse,id=input0 -device usb-kbd,id=input1 -vnc
[::]:12,password -device VGA,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -object
rng-random,id=objrng0,filename=/dev/random -device
virtio-rng-pci,rng=objrng0,id=rng0,max-bytes=1024,period=2000,bus=pci.0,addr=0x7
-msg timestamp=on
>
> Dave
>
>>
>> Regards,
>> Alexey Mochkin.
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-12 9:56 ` Alexey
@ 2016-01-12 10:04 ` Dr. David Alan Gilbert
2016-01-12 10:24 ` Alexey
0 siblings, 1 reply; 13+ messages in thread
From: Dr. David Alan Gilbert @ 2016-01-12 10:04 UTC (permalink / raw)
To: Alexey; +Cc: Qemu devel
* Alexey (alukardd@alukardd.org) wrote:
> Hello,
>
> On 2016-01-12 12:19, Dr. David Alan Gilbert wrote:
> >* Alexey (alukardd@alukardd.org) wrote:
> >>Hi David.
> >>
> >>On 2016-01-11 22:51, Dr. David Alan Gilbert wrote:
> >>>* Alexey (alukardd@alukardd.org) wrote:
> >>>>Hello.
> >>>
> >>>Hi,
> >>>
> >>>>I have two servers between which I need have live migration.
> >>>>
> >>>>First server have QEMU emulator version 2.3.0
> >>>>Second server have QEMU emulator version 2.5.0
> >>>>
> >>>>Migration command look like this:
> >>>>/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
> >>>>tcp://second.server
> >>>>qemu+ssh://second.server/system --verbose
> >>>>
> >>>>I got next error on console:
> >>>>error: operation failed: migration job: unexpectedly failed
> >>>>
> >>>>And next error in log on second server:
> >>>>2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
> >>>>/rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
> >>>>2016-01-11T15:07:12.888685Z qemu-system-x86_64: error while loading
> >>>>state
> >>>>for instance 0x0 of device 'ram'
> >>>>2016-01-11T15:07:12.889733Z qemu-system-x86_64: load of migration
> >>>>failed:
> >>>>Invalid argument
> >>>>
> >>>>In my libvirt domain I have option <rom bar="off"/>.
> >>>>
> >>>>I need to do a live migration in any possible way. How can I do this
> >>>>one?
> >>
> >>>Is the efi-virtio ROM that you're using on the two versions the same
> >>>identical size?
> >
> >>No, I have different efi-virtio.rom files, and I try to find a way which
> >>allows me not to copy the same efi-virtio.rom to all servers.
> >
> >Right, the error does look like it's just complaining about the ROM size:
> >
> > 2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
> > /rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
> >
> >It copes with small variations, but as soon as it flips over a 4K (?)
> >boundary then it has nowhere to put the extra data coming from the
> >larger ROM.
> old server with qemu 2.3.0:
> -rw-r--r-- 1 root root 203264 Nov 21 2014 /usr/lib/ipxe/qemu/efi-virtio.rom
>
> new server with qemu 2.5.0:
> -rw-r--r-- 1 root root 184320 Oct 19 2014 /usr/lib/ipxe/qemu/efi-virtio.rom
>
> See, that destination server has smaller rom than source.
> I interested in way which I could do live migration between different ROMs.
You can't do it if the ROMs dont approximately match in size; what happens here
is that the 2.3.0 machine allocates just over 203k for the ROM (203264=0x31A00
and it's rounded that upto 0x32000).
On the destination it's size is based on the 184320 (=0x2d000), so it hasn't
got room to receive the larger ROM.
One way to fix this is to pad the ROMs; so just adding blank space to the end
of the newer efi-virtio.rom to make it the same size as the old one.
> Also I interested in migration in both side: from old to new and from new to
> old.
OK, but note that backwards migration isn't tested much in
upstream qemu.
> >>>Also, can you post the commandline that you're using please.
> >>I already done this in my first email: virsh migrate...
> >>>>/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
> >>>>tcp://second.server
> >>>>qemu+ssh://second.server/system --verbose
> >Do you mean running domain command line?
> >I meant for the QEMU itself; but if we've already found the ROMs are
> >different sizes, lets fix that first and see how you go.
> Do you mean command line of running domain?
>
> qemu-system-x86_64 -enable-kvm -name 208664-73 -S -machine
> pc-i440fx-1.7,accel=kvm,usb=off -cpu
> kvm64,+lahf_lm,+popcnt,+sse4.2,+sse4.1,+ssse3,+ss,-mca,-mce -m 1024
> -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid
> 08cf6bf2-a701-4a00-a0cb-4ecbe514c3d7 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/208664-73.monitor,server,nowait
> -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown
> -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device
> virtio-scsi-pci,id=scsi0,num_queues=4,bus=pci.0,addr=0x4 -device
> virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/dev/disk/vbd/208664-73,if=none,id=drive-scsi0-0-0-0,format=raw,cache=none,discard=unmap,aio=native
> -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2
> -netdev tap,fd=53,id=hostnet0,vhost=on,vhostfd=54 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:00:40:b9,bus=pci.0,addr=0x3,rombar=0
> -chardev pty,id=charserial0 -device
> isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/208664-73.agent,server,nowait
> -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0
> -device usb-mouse,id=input0 -device usb-kbd,id=input1 -vnc [::]:12,password
> -device VGA,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2 -device
> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -object
> rng-random,id=objrng0,filename=/dev/random -device virtio-rng-pci,rng=objrng0,id=rng0,max-bytes=1024,period=2000,bus=pci.0,addr=0x7
> -msg timestamp=on
OK, nothing too unusual there.
Dave
> >
> >Dave
> >
> >>
> >>Regards,
> >>Alexey Mochkin.
> >--
> >Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-12 10:04 ` Dr. David Alan Gilbert
@ 2016-01-12 10:24 ` Alexey
2016-01-12 12:11 ` Dr. David Alan Gilbert
0 siblings, 1 reply; 13+ messages in thread
From: Alexey @ 2016-01-12 10:24 UTC (permalink / raw)
To: Dr. David Alan Gilbert; +Cc: Qemu devel
On 2016-01-12 13:04, Dr. David Alan Gilbert wrote:
> * Alexey (alukardd@alukardd.org) wrote:
>> Hello,
>>
>> On 2016-01-12 12:19, Dr. David Alan Gilbert wrote:
>> >* Alexey (alukardd@alukardd.org) wrote:
>> >>Hi David.
>> >>
>> >>On 2016-01-11 22:51, Dr. David Alan Gilbert wrote:
>> >>>* Alexey (alukardd@alukardd.org) wrote:
>> >>>>Hello.
>> >>>
>> >>>Hi,
>> >>>
>> >>>>I have two servers between which I need have live migration.
>> >>>>
>> >>>>First server have QEMU emulator version 2.3.0
>> >>>>Second server have QEMU emulator version 2.5.0
>> >>>>
>> >>>>Migration command look like this:
>> >>>>/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
>> >>>>tcp://second.server
>> >>>>qemu+ssh://second.server/system --verbose
>> >>>>
>> >>>>I got next error on console:
>> >>>>error: operation failed: migration job: unexpectedly failed
>> >>>>
>> >>>>And next error in log on second server:
>> >>>>2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
>> >>>>/rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
>> >>>>2016-01-11T15:07:12.888685Z qemu-system-x86_64: error while loading
>> >>>>state
>> >>>>for instance 0x0 of device 'ram'
>> >>>>2016-01-11T15:07:12.889733Z qemu-system-x86_64: load of migration
>> >>>>failed:
>> >>>>Invalid argument
>> >>>>
>> >>>>In my libvirt domain I have option <rom bar="off"/>.
>> >>>>
>> >>>>I need to do a live migration in any possible way. How can I do this
>> >>>>one?
>> >>
>> >>>Is the efi-virtio ROM that you're using on the two versions the same
>> >>>identical size?
>> >
>> >>No, I have different efi-virtio.rom files, and I try to find a way which
>> >>allows me not to copy the same efi-virtio.rom to all servers.
>> >
>> >Right, the error does look like it's just complaining about the ROM size:
>> >
>> > 2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
>> > /rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
>> >
>> >It copes with small variations, but as soon as it flips over a 4K (?)
>> >boundary then it has nowhere to put the extra data coming from the
>> >larger ROM.
>> old server with qemu 2.3.0:
>> -rw-r--r-- 1 root root 203264 Nov 21 2014
>> /usr/lib/ipxe/qemu/efi-virtio.rom
>>
>> new server with qemu 2.5.0:
>> -rw-r--r-- 1 root root 184320 Oct 19 2014
>> /usr/lib/ipxe/qemu/efi-virtio.rom
>>
>> See, that destination server has smaller rom than source.
>> I interested in way which I could do live migration between different
>> ROMs.
>
> You can't do it if the ROMs dont approximately match in size; what
> happens here
> is that the 2.3.0 machine allocates just over 203k for the ROM
> (203264=0x31A00
> and it's rounded that upto 0x32000).
> On the destination it's size is based on the 184320 (=0x2d000), so it
> hasn't
> got room to receive the larger ROM.
> One way to fix this is to pad the ROMs; so just adding blank space to
> the end
> of the newer efi-virtio.rom to make it the same size as the old one.
Ok, thanks. I'll try to do this.
Tell me please right way to append zeros to "BIOS (ia32) ROM Ext.
(137*512)" file?
It will be grate, if I could specify ROM size as option to qemu.
>> Also I interested in migration in both side: from old to new and from
>> new to
>> old.
>
> OK, but note that backwards migration isn't tested much in
> upstream qemu.
>
>> >>>Also, can you post the commandline that you're using please.
>> >>I already done this in my first email: virsh migrate...
>> >>>>/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
>> >>>>tcp://second.server
>> >>>>qemu+ssh://second.server/system --verbose
>> >Do you mean running domain command line?
>> >I meant for the QEMU itself; but if we've already found the ROMs are
>> >different sizes, lets fix that first and see how you go.
>> Do you mean command line of running domain?
>>
>> qemu-system-x86_64 -enable-kvm -name 208664-73 -S -machine
>> pc-i440fx-1.7,accel=kvm,usb=off -cpu
>> kvm64,+lahf_lm,+popcnt,+sse4.2,+sse4.1,+ssse3,+ss,-mca,-mce -m 1024
>> -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid
>> 08cf6bf2-a701-4a00-a0cb-4ecbe514c3d7 -no-user-config -nodefaults
>> -chardev
>> socket,id=charmonitor,path=/var/lib/libvirt/qemu/208664-73.monitor,server,nowait
>> -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc
>> -no-shutdown
>> -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
>> -device
>> virtio-scsi-pci,id=scsi0,num_queues=4,bus=pci.0,addr=0x4 -device
>> virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive
>> file=/dev/disk/vbd/208664-73,if=none,id=drive-scsi0-0-0-0,format=raw,cache=none,discard=unmap,aio=native
>> -device
>> scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2
>> -netdev tap,fd=53,id=hostnet0,vhost=on,vhostfd=54 -device
>> virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:00:40:b9,bus=pci.0,addr=0x3,rombar=0
>> -chardev pty,id=charserial0 -device
>> isa-serial,chardev=charserial0,id=serial0 -chardev
>> socket,id=charchannel0,path=/var/lib/libvirt/qemu/208664-73.agent,server,nowait
>> -device
>> virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0
>> -device usb-mouse,id=input0 -device usb-kbd,id=input1 -vnc
>> [::]:12,password
>> -device VGA,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2 -device
>> virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -object
>> rng-random,id=objrng0,filename=/dev/random -device
>> virtio-rng-pci,rng=objrng0,id=rng0,max-bytes=1024,period=2000,bus=pci.0,addr=0x7
>> -msg timestamp=on
>
> OK, nothing too unusual there.
>
> Dave
>
>> >
>> >Dave
>> >
>> >>
>> >>Regards,
>> >>Alexey Mochkin.
>> >--
>> >Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-11 15:46 [Qemu-devel] live migration between different qemu versions Alexey
2016-01-11 19:51 ` Dr. David Alan Gilbert
@ 2016-01-12 12:00 ` Gerd Hoffmann
1 sibling, 0 replies; 13+ messages in thread
From: Gerd Hoffmann @ 2016-01-12 12:00 UTC (permalink / raw)
To: Alexey; +Cc: Qemu devel
Hi,
> In my libvirt domain I have option <rom bar="off"/>.
Why?
cheers,
Gerd
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-12 10:24 ` Alexey
@ 2016-01-12 12:11 ` Dr. David Alan Gilbert
2016-01-15 23:24 ` Eric Blake
0 siblings, 1 reply; 13+ messages in thread
From: Dr. David Alan Gilbert @ 2016-01-12 12:11 UTC (permalink / raw)
To: Alexey; +Cc: Qemu devel
* Alexey (alukardd@alukardd.org) wrote:
>
>
> On 2016-01-12 13:04, Dr. David Alan Gilbert wrote:
> >* Alexey (alukardd@alukardd.org) wrote:
> >>Hello,
> >>
> >>On 2016-01-12 12:19, Dr. David Alan Gilbert wrote:
> >>>* Alexey (alukardd@alukardd.org) wrote:
> >>>>Hi David.
> >>>>
> >>>>On 2016-01-11 22:51, Dr. David Alan Gilbert wrote:
> >>>>>* Alexey (alukardd@alukardd.org) wrote:
> >>>>>>Hello.
> >>>>>
> >>>>>Hi,
> >>>>>
> >>>>>>I have two servers between which I need have live migration.
> >>>>>>
> >>>>>>First server have QEMU emulator version 2.3.0
> >>>>>>Second server have QEMU emulator version 2.5.0
> >>>>>>
> >>>>>>Migration command look like this:
> >>>>>>/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
> >>>>>>tcp://second.server
> >>>>>>qemu+ssh://second.server/system --verbose
> >>>>>>
> >>>>>>I got next error on console:
> >>>>>>error: operation failed: migration job: unexpectedly failed
> >>>>>>
> >>>>>>And next error in log on second server:
> >>>>>>2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
> >>>>>>/rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
> >>>>>>2016-01-11T15:07:12.888685Z qemu-system-x86_64: error while loading
> >>>>>>state
> >>>>>>for instance 0x0 of device 'ram'
> >>>>>>2016-01-11T15:07:12.889733Z qemu-system-x86_64: load of migration
> >>>>>>failed:
> >>>>>>Invalid argument
> >>>>>>
> >>>>>>In my libvirt domain I have option <rom bar="off"/>.
> >>>>>>
> >>>>>>I need to do a live migration in any possible way. How can I do this
> >>>>>>one?
> >>>>
> >>>>>Is the efi-virtio ROM that you're using on the two versions the same
> >>>>>identical size?
> >>>
> >>>>No, I have different efi-virtio.rom files, and I try to find a way which
> >>>>allows me not to copy the same efi-virtio.rom to all servers.
> >>>
> >>>Right, the error does look like it's just complaining about the ROM size:
> >>>
> >>> 2016-01-11T15:07:12.888647Z qemu-system-x86_64: Length too large:
> >>> /rom@genroms/efi-virtio.rom: 0x32000 > 0x2d000: Invalid argument
> >>>
> >>>It copes with small variations, but as soon as it flips over a 4K (?)
> >>>boundary then it has nowhere to put the extra data coming from the
> >>>larger ROM.
> >>old server with qemu 2.3.0:
> >>-rw-r--r-- 1 root root 203264 Nov 21 2014
> >>/usr/lib/ipxe/qemu/efi-virtio.rom
> >>
> >>new server with qemu 2.5.0:
> >>-rw-r--r-- 1 root root 184320 Oct 19 2014
> >>/usr/lib/ipxe/qemu/efi-virtio.rom
> >>
> >>See, that destination server has smaller rom than source.
> >>I interested in way which I could do live migration between different
> >>ROMs.
> >
> >You can't do it if the ROMs dont approximately match in size; what
> >happens here
> >is that the 2.3.0 machine allocates just over 203k for the ROM
> >(203264=0x31A00
> >and it's rounded that upto 0x32000).
> >On the destination it's size is based on the 184320 (=0x2d000), so it
> >hasn't
> >got room to receive the larger ROM.
> >One way to fix this is to pad the ROMs; so just adding blank space to the
> >end
> >of the newer efi-virtio.rom to make it the same size as the old one.
> Ok, thanks. I'll try to do this.
> Tell me please right way to append zeros to "BIOS (ia32) ROM Ext. (137*512)"
> file?
I'd use dd; something like:
dd if=/dev/zero bs=1 count=18944 >> theromfile
I think that should do it (203264-184320=18944)
> It will be grate, if I could specify ROM size as option to qemu.
Yeh.
Dave
>
> >>Also I interested in migration in both side: from old to new and from
> >>new to
> >>old.
> >
> >OK, but note that backwards migration isn't tested much in
> >upstream qemu.
> >
> >>>>>Also, can you post the commandline that you're using please.
> >>>>I already done this in my first email: virsh migrate...
> >>>>>>/usr/bin/virsh migrate --live DOMAIN_NAME --migrateuri
> >>>>>>tcp://second.server
> >>>>>>qemu+ssh://second.server/system --verbose
> >>>Do you mean running domain command line?
> >>>I meant for the QEMU itself; but if we've already found the ROMs are
> >>>different sizes, lets fix that first and see how you go.
> >>Do you mean command line of running domain?
> >>
> >>qemu-system-x86_64 -enable-kvm -name 208664-73 -S -machine
> >>pc-i440fx-1.7,accel=kvm,usb=off -cpu
> >>kvm64,+lahf_lm,+popcnt,+sse4.2,+sse4.1,+ssse3,+ss,-mca,-mce -m 1024
> >>-realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid
> >>08cf6bf2-a701-4a00-a0cb-4ecbe514c3d7 -no-user-config -nodefaults
> >>-chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/208664-73.monitor,server,nowait
> >>-mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc
> >>-no-shutdown
> >>-boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
> >>-device
> >>virtio-scsi-pci,id=scsi0,num_queues=4,bus=pci.0,addr=0x4 -device
> >>virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/dev/disk/vbd/208664-73,if=none,id=drive-scsi0-0-0-0,format=raw,cache=none,discard=unmap,aio=native
> >>-device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2
> >>-netdev tap,fd=53,id=hostnet0,vhost=on,vhostfd=54 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:00:40:b9,bus=pci.0,addr=0x3,rombar=0
> >>-chardev pty,id=charserial0 -device
> >>isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/208664-73.agent,server,nowait
> >>-device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0
> >>-device usb-mouse,id=input0 -device usb-kbd,id=input1 -vnc
> >>[::]:12,password
> >>-device VGA,id=video0,vgamem_mb=16,bus=pci.0,addr=0x2 -device
> >>virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5 -object
> >>rng-random,id=objrng0,filename=/dev/random -device virtio-rng-pci,rng=objrng0,id=rng0,max-bytes=1024,period=2000,bus=pci.0,addr=0x7
> >>-msg timestamp=on
> >
> >OK, nothing too unusual there.
> >
> >Dave
> >
> >>>
> >>>Dave
> >>>
> >>>>
> >>>>Regards,
> >>>>Alexey Mochkin.
> >>>--
> >>>Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
> >--
> >Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-12 12:11 ` Dr. David Alan Gilbert
@ 2016-01-15 23:24 ` Eric Blake
2016-01-19 15:12 ` Alexey
0 siblings, 1 reply; 13+ messages in thread
From: Eric Blake @ 2016-01-15 23:24 UTC (permalink / raw)
To: Dr. David Alan Gilbert, Alexey; +Cc: Qemu devel
[-- Attachment #1: Type: text/plain, Size: 449 bytes --]
On 01/12/2016 05:11 AM, Dr. David Alan Gilbert wrote:
>> Tell me please right way to append zeros to "BIOS (ia32) ROM Ext. (137*512)"
>> file?
>
> I'd use dd; something like:
> dd if=/dev/zero bs=1 count=18944 >> theromfile
> I think that should do it (203264-184320=18944)
Or simpler:
truncate --size=203264 theromfile
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-15 23:24 ` Eric Blake
@ 2016-01-19 15:12 ` Alexey
2016-01-21 11:49 ` Dr. David Alan Gilbert
0 siblings, 1 reply; 13+ messages in thread
From: Alexey @ 2016-01-19 15:12 UTC (permalink / raw)
To: Eric Blake; +Cc: Dr. David Alan Gilbert, Qemu devel
Hello,
On 2016-01-16 02:24, Eric Blake wrote:
> On 01/12/2016 05:11 AM, Dr. David Alan Gilbert wrote:
>
>>> Tell me please right way to append zeros to "BIOS (ia32) ROM Ext.
>>> (137*512)"
>>> file?
>>
>> I'd use dd; something like:
>> dd if=/dev/zero bs=1 count=18944 >> theromfile
>> I think that should do it (203264-184320=18944)
>
> Or simpler:
>
> truncate --size=203264 theromfile
It's great! I have successfully did migration of VM from qemu 2.3.0 to
qemu 2.5.0.
But when I try migrate to another side I got error:
qemu-system-x86_64: error while loading state for instance 0x0 of device
'fw_cfg'
qemu-system-x86_64: load of migration failed: No such file or directory
Is it possible to do this migration?
Regards,
Alexey Mochkin.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-19 15:12 ` Alexey
@ 2016-01-21 11:49 ` Dr. David Alan Gilbert
2016-01-21 11:55 ` Alexey
0 siblings, 1 reply; 13+ messages in thread
From: Dr. David Alan Gilbert @ 2016-01-21 11:49 UTC (permalink / raw)
To: Alexey; +Cc: Qemu devel
* Alexey (alukardd@alukardd.org) wrote:
> Hello,
>
> On 2016-01-16 02:24, Eric Blake wrote:
> >On 01/12/2016 05:11 AM, Dr. David Alan Gilbert wrote:
> >
> >>>Tell me please right way to append zeros to "BIOS (ia32) ROM Ext.
> >>>(137*512)"
> >>>file?
> >>
> >>I'd use dd; something like:
> >> dd if=/dev/zero bs=1 count=18944 >> theromfile
> >>I think that should do it (203264-184320=18944)
> >
> >Or simpler:
> >
> >truncate --size=203264 theromfile
> It's great! I have successfully did migration of VM from qemu 2.3.0 to qemu
> 2.5.0.
>
> But when I try migrate to another side I got error:
> qemu-system-x86_64: error while loading state for instance 0x0 of device
> 'fw_cfg'
> qemu-system-x86_64: load of migration failed: No such file or directory
>
> Is it possible to do this migration?
Backwards migration doens't get much upstream testing; it looks like
this is the same as:
https://bugs.launchpad.net/qemu/+bug/1536487
Dave
> Regards,
> Alexey Mochkin.
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] live migration between different qemu versions
2016-01-21 11:49 ` Dr. David Alan Gilbert
@ 2016-01-21 11:55 ` Alexey
0 siblings, 0 replies; 13+ messages in thread
From: Alexey @ 2016-01-21 11:55 UTC (permalink / raw)
To: Dr. David Alan Gilbert; +Cc: Qemu devel
Hello.
On 2016-01-21 14:49, Dr. David Alan Gilbert wrote:
> * Alexey (alukardd@alukardd.org) wrote:
>> Hello,
>>
>> On 2016-01-16 02:24, Eric Blake wrote:
>> >On 01/12/2016 05:11 AM, Dr. David Alan Gilbert wrote:
>> >
>> >>>Tell me please right way to append zeros to "BIOS (ia32) ROM Ext.
>> >>>(137*512)"
>> >>>file?
>> >>
>> >>I'd use dd; something like:
>> >> dd if=/dev/zero bs=1 count=18944 >> theromfile
>> >>I think that should do it (203264-184320=18944)
>> >
>> >Or simpler:
>> >
>> >truncate --size=203264 theromfile
>> It's great! I have successfully did migration of VM from qemu 2.3.0 to
>> qemu
>> 2.5.0.
>>
>> But when I try migrate to another side I got error:
>> qemu-system-x86_64: error while loading state for instance 0x0 of
>> device
>> 'fw_cfg'
>> qemu-system-x86_64: load of migration failed: No such file or
>> directory
>>
>> Is it possible to do this migration?
>
> Backwards migration doens't get much upstream testing; it looks like
> this is the same as:
>
> https://bugs.launchpad.net/qemu/+bug/1536487
I saw it, thanks.
>
> Dave
>
>> Regards,
>> Alexey Mochkin.
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Regards,
Alexey Mochkin
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2016-01-21 11:55 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-11 15:46 [Qemu-devel] live migration between different qemu versions Alexey
2016-01-11 19:51 ` Dr. David Alan Gilbert
2016-01-11 20:49 ` Alexey
2016-01-12 9:19 ` Dr. David Alan Gilbert
2016-01-12 9:56 ` Alexey
2016-01-12 10:04 ` Dr. David Alan Gilbert
2016-01-12 10:24 ` Alexey
2016-01-12 12:11 ` Dr. David Alan Gilbert
2016-01-15 23:24 ` Eric Blake
2016-01-19 15:12 ` Alexey
2016-01-21 11:49 ` Dr. David Alan Gilbert
2016-01-21 11:55 ` Alexey
2016-01-12 12:00 ` Gerd Hoffmann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).