* [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-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
* 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
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).