* Wen Congyang (we...@cn.fujitsu.com) wrote: > On 07/09/2015 06:37 PM, Dr. David Alan Gilbert wrote: > > * Wen Congyang (we...@cn.fujitsu.com) wrote: > >> On 07/09/2015 05:16 PM, Dr. David Alan Gilbert wrote: > >>> * Wen Congyang (we...@cn.fujitsu.com) wrote: > >>> > >>>>>> I have sent the v8. But the usage is not changed. You can setup the > >>>>>> environment according to the wiki. > >>>>>> When we open nbd client, we need to connect to the nbd server. So I > >>>>>> introduce a new command child_add to add NBD client > >>>>>> as a quorum child when the nbd server is ready. > >>>>>> > >>>>>> The nbd server is ready after you run the following command: > >>>>>> nbd_server_start 0:6262 # the secondary qemu will listen to host:port > >>>>>> nbd_server_add -w mc1 # the NBD server will know this disk is used > >>>>>> as NBD server. The export name is its id wc1. > >>>>>> # -w means we allow to write to this disk. > >>>>>> > >>>>>> Then you can run the following command in the primary qemu: > >>>>>> child_add disk1 > >>>>>> child.driver=replication,child.mode=primary,child.file.host=127.0.0.1,child.file.port=6262,child.file.export=mc1,child.file.driver=nbd,child.ignore-errors=on > >>>>>> > >>>>>> After this monitor command, nbd client has connected to the nbd server. > >>>>> > >>>>> Ah! The 'child.file.export=mc1' wasn't there previously; I see Yang > >>>>> added that to the wiki yesterday; > >>>>> that probably explains the problem that we've been having. > >>>> > >>>> Sorry for this mistake. > >>> > >>> OK, so this is working for me (with the 7.2 world). What isn't working > >>> in this setup is migrate -b, I get: > >>> > >>> (qemu) Receiving block device images > >>> Error unknown block device disk1 > >>> qemu-system-x86_64: error while loading state section id 1(block) > >>> qemu-system-x86_64: load of migration failed: Invalid argument > >>> > >>> Can you explain the id=disk1 on the master side? > >> > >> Can you give me the command line? I think the id in primary and secondary > >> qemu is not same. > > > > Sure, primary: > > > > ./try/bin/qemu-system-x86_64 -enable-kvm -nographic \ > > -boot c -m 4096 -smp 4 -S \ > > -name debug-threads=on -trace events=trace-file \ > > -netdev tap,id=hn0,script=$PWD/ifup-prim,\ > > downscript=no,colo_script=$PWD/qemu/scripts/colo-proxy-script.sh,colo_nicname=em4 > > \ > > -device e1000,mac=9c:da:4d:1c:b5:89,id=net-pci0,netdev=hn0 \ > > -device virtio-rng-pci \ > > -drive if=virtio,id=disk1,driver=quorum,read-pattern=fifo,\ > > If you want to use block migration, set the id to colo1
OK, does it make sense to always make it colo1 rather than having the 'disk1' and 'colo1' names? > > cache=none,aio=native,\ > > children.0.file.filename=./bugzilla.raw,\ > > children.0.driver=raw > > > > Sure, secondary: > > > > TMPDISKS=/run > > qemu-img create -f qcow2 $TMPDISKS/colo-hidden-disk.qcow2 40G > > qemu-img create -f qcow2 $TMPDISKS/colo-active-disk.qcow2 40G > > > > ./try/bin/qemu-system-x86_64 -enable-kvm -nographic \ > > -boot c -m 4096 -smp 4 -S \ > > -name debug-threads=on -trace events=trace-file \ > > -netdev tap,id=hn0,script=$PWD/ifup-slave,\ > > downscript=no,colo_script=$PWD/qemu/scripts/colo-proxy-script.sh,colo_nicname=em4 > > \ > > -device e1000,mac=9c:da:4d:1c:b5:89,id=net-pci0,netdev=hn0 \ > > -device virtio-rng-pci \ > > -drive > > if=none,driver=raw,file=/home/localvms/bugzilla.raw,id=colo1,cache=none,aio=native > > \ > > -drive > > if=virtio,driver=replication,mode=secondary,export=colo1,throttling.bps-total-max=70000000,\ > > file.file.filename=$TMPDISKS/colo-active-disk.qcow2,\ > > file.driver=qcow2,\ > > file.backing.file.filename=$TMPDISKS/colo-hidden-disk.qcow2,\ > > file.backing.driver=qcow2,\ > > file.backing.backing.backing_reference=colo1,\ > > file.backing.allow-write-backing-file=on \ > > -incoming tcp:0:8888 > > > > > > Secondary: > > nbd_server_start :8889 > > nbd_server_add -w colo1 > > > > primary: > > > > child_add disk1 > > child.driver=replication,child.mode=primary,child.file.host=ibpair,child.file.port=8889,child.file.export=colo1,child.file.driver=nbd,child.ignore-errors=on > > here, it is child_add colo1 .... > > > (qemu) migrate_set_capability colo on > > (qemu) migrate -d -b tcp:ibpair:8888 > > > > > > note the 'id=disk1' in the primary is shown in your wiki. > > IIRC, the default id is diskx, x is 1, 2, 3... OK, using the colo1 in both those places that works (this is in the 7.2 world) and the RAM disk size now doesn't grow in the -b block migrate. Dave > > Thanks > Wen Congyang > > > > > Dave > > > > Thanks > >> Wen Congyang > >> > >>> > >>> Dave > >>> > >>>> > >>>> Thanks > >>>> Wen Congyang > >>>> > >>>>> > >>>>> Dave > >>>>> > >>>>>> > >>>>>> Thanks > >>>>>> Wen Congyang > >>>>>> > >>>>>>> > >>>>>>> - Michael > >>>>>>> > >>>>>>> . > >>>>>>> > >>>>>> > >>>>>> > >>>>> -- > >>>>> Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > >>>>> . > >>>>> > >>>> > >>> -- > >>> Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > >>> . > >>> > >> > >> > > -- > > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK > > . > > > > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK