From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54691) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZDCFQ-0003AG-VO for qemu-devel@nongnu.org; Thu, 09 Jul 2015 09:52:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZDCFP-0000nY-OH for qemu-devel@nongnu.org; Thu, 09 Jul 2015 09:52:20 -0400 Message-ID: <559E7BA6.2060804@gmail.com> Date: Thu, 09 Jul 2015 21:48:22 +0800 From: Wen Congyang MIME-Version: 1.0 References: <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> <559E53A5.2010105@cn.fujitsu.com> <20150709134000.GA5534@work-vm> In-Reply-To: <20150709134000.GA5534@work-vm> Content-Type: text/plain; charset=ISO-8859-1; format=flowed 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" , Wen Congyang Cc: Kevin Wolf , Fam Zheng , Lai Jiangshan , qemu block , Jiang Yunhong , Dong Eddie , qemu devel , "Michael R. Hines" , Max Reitz , "Michael R. Hines" , Stefan Hajnoczi , Paolo Bonzini , Yang Hongyang At 2015/7/9 21:40, Dr. David Alan Gilbert Wrote: > * Wen Congyang (wency@cn.fujitsu.com) wrote: >> 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 > > OK, does it make sense to always make it colo1 rather than having the 'disk1' and 'colo1' names? You can use anyone. The export name must be the secondary disk's id. Thanks Wen Congyang > >>> 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 / dgilbert@redhat.com / Manchester, UK >>>>>>> . >>>>>>> >>>>>> >>>>> -- >>>>> 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 >