From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50932) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZD9T8-0002vr-Dn for qemu-devel@nongnu.org; Thu, 09 Jul 2015 06:54:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZD9T5-0002Vi-2x for qemu-devel@nongnu.org; Thu, 09 Jul 2015 06:54:18 -0400 Message-ID: <559E53A5.2010105@cn.fujitsu.com> Date: Thu, 9 Jul 2015 18:57:41 +0800 From: Wen Congyang MIME-Version: 1.0 References: <20150707091323.GC2347@work-vm> <559B9A80.5080901@redhat.com> <559C04CE.4090103@linux.vnet.ibm.com> <559C7F06.3020100@cn.fujitsu.com> <559D4692.3060002@linux.vnet.ibm.com> <559DC78D.3060609@cn.fujitsu.com> <20150709015525.GF2741@work-vm> <559DD7CA.2050103@cn.fujitsu.com> <20150709091610.GC2359@work-vm> <559E3FDD.7040705@cn.fujitsu.com> <20150709103705.GF2359@work-vm> In-Reply-To: <20150709103705.GF2359@work-vm> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for continuous checkpoints List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert" Cc: Kevin Wolf , Fam Zheng , Wen Congyang , qemu block , Jiang Yunhong , Dong Eddie , qemu devel , "Michael R. Hines" , Max Reitz , "Michael R. Hines" , Stefan Hajnoczi , Paolo Bonzini , Yang Hongyang , Lai Jiangshan On 07/09/2015 06:37 PM, Dr. David Alan Gilbert wrote: > * Wen Congyang (wency@cn.fujitsu.com) wrote: >> On 07/09/2015 05:16 PM, Dr. David Alan Gilbert wrote: >>> * Wen Congyang (wency@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 > 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... Thanks Wen Congyang > > Dave > > Thanks >> Wen Congyang >> >>> >>> Dave >>> >>>> >>>> Thanks >>>> Wen Congyang >>>> >>>>> >>>>> Dave >>>>> >>>>>> >>>>>> Thanks >>>>>> Wen Congyang >>>>>> >>>>>>> >>>>>>> - Michael >>>>>>> >>>>>>> . >>>>>>> >>>>>> >>>>>> >>>>> -- >>>>> 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 > . >