|
From: | Wen Congyang |
Subject: | Re: [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for continuous checkpoints |
Date: | Thu, 09 Jul 2015 21:48:22 +0800 |
User-agent: | Mozilla/5.0 (Windows NT 6.2; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
At 2015/7/9 21:40, Dr. David Alan Gilbert Wrote:
* Wen Congyang (address@hidden) wrote:On 07/09/2015 06:37 PM, Dr. David Alan Gilbert wrote:* Wen Congyang (address@hidden) wrote:On 07/09/2015 05:16 PM, Dr. David Alan Gilbert wrote:* Wen Congyang (address@hidden) 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 colo1OK, 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=onhere, 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. DaveThanks Wen CongyangDave ThanksWen CongyangDaveThanks Wen CongyangDaveThanks Wen Congyang- Michael .-- Dr. David Alan Gilbert / address@hidden / Manchester, UK .-- Dr. David Alan Gilbert / address@hidden / Manchester, UK .-- Dr. David Alan Gilbert / address@hidden / Manchester, UK .-- Dr. David Alan Gilbert / address@hidden / Manchester, UK
[Prev in Thread] | Current Thread | [Next in Thread] |