qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for conti


From: Wen Congyang
Subject: Re: [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for continuous checkpoints
Date: Thu, 9 Jul 2015 18:57:41 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

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 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 / address@hidden / Manchester, UK
>>>>> .
>>>>>
>>>>
>>> --
>>> Dr. David Alan Gilbert / address@hidden / Manchester, UK
>>> .
>>>
>>
>>
> --
> Dr. David Alan Gilbert / address@hidden / Manchester, UK
> .
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]