qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Wen Congyang <ghostwcy@gmail.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Wen Congyang <wency@cn.fujitsu.com>
Cc: Kevin Wolf <kwolf@redhat.com>, Fam Zheng <famz@redhat.com>,
	Lai Jiangshan <laijs@cn.fujitsu.com>,
	qemu block <qemu-block@nongnu.org>,
	Jiang Yunhong <yunhong.jiang@intel.com>,
	Dong Eddie <eddie.dong@intel.com>,
	qemu devel <qemu-devel@nongnu.org>,
	"Michael R. Hines" <mrhines@linux.vnet.ibm.com>,
	Max Reitz <mreitz@redhat.com>,
	"Michael R. Hines" <mrhines@us.ibm.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Yang Hongyang <yanghy@cn.fujitsu.com>
Subject: Re: [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for continuous checkpoints
Date: Thu, 09 Jul 2015 21:48:22 +0800	[thread overview]
Message-ID: <559E7BA6.2060804@gmail.com> (raw)
In-Reply-To: <20150709134000.GA5534@work-vm>

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
>

      reply	other threads:[~2015-07-09 13:52 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-30  3:34 [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for continuous checkpoints Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 01/17] Add new block driver interface to add/delete a BDS's child Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 02/17] quorum: implement block driver interfaces " Wen Congyang
2015-07-02 14:02   ` Alberto Garcia
2015-07-02 14:30     ` Wen Congyang
2015-07-02 15:21       ` Alberto Garcia
2015-07-03  1:10         ` Wen Congyang
2015-07-27 14:45         ` Eric Blake
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 03/17] hmp: add monitor command to add/remove a child Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 04/17] introduce a new API qemu_opts_absorb_qdict_by_index() Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 05/17] quorum: allow ignoring child errors Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 06/17] introduce a new API to enable/disable attach device model Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 07/17] introduce a new API to check if blk is attached Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 08/17] block: make bdrv_put_ref_bh_schedule() as a public API Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 09/17] Backup: clear all bitmap when doing block checkpoint Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 10/17] allow writing to the backing file Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 11/17] Allow creating backup jobs when opening BDS Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 12/17] block: Allow references for backing files Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 13/17] docs: block replication's description Wen Congyang
2015-07-02 14:50   ` Michael R. Hines
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 14/17] Add new block driver interfaces to control block replication Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 15/17] skip nbd_target when starting " Wen Congyang
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 16/17] quorum: implement block driver interfaces for " Wen Congyang
2015-07-03 12:21   ` Alberto Garcia
2015-06-30  3:34 ` [Qemu-devel] [PATCH COLO-BLOCK v7 17/17] Implement new driver " Wen Congyang
2015-07-02 14:47 ` [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for continuous checkpoints Michael R. Hines
2015-07-03  1:13   ` Wen Congyang
2015-07-02 14:59 ` Michael R. Hines
2015-07-03  1:12   ` Wen Congyang
2015-07-03 15:30 ` Dr. David Alan Gilbert
2015-07-04 12:46   ` Wen Congyang
2015-07-06  9:42     ` Dr. David Alan Gilbert
2015-07-06 10:11       ` Wen Congyang
2015-07-07  0:25     ` Michael R. Hines
2015-07-07  1:07       ` Wen Congyang
2015-07-07  9:13         ` Dr. David Alan Gilbert
2015-07-07  9:23           ` Paolo Bonzini
2015-07-07 16:56             ` Michael R. Hines
2015-07-08  1:38               ` Wen Congyang
2015-07-08 15:49                 ` Michael R. Hines
2015-07-09  0:59                   ` Wen Congyang
2015-07-09  1:55                     ` Dr. David Alan Gilbert
2015-07-09  2:09                       ` Wen Congyang
2015-07-09  9:16                         ` Dr. David Alan Gilbert
2015-07-09  9:33                           ` Wen Congyang
2015-07-09 10:37                             ` Dr. David Alan Gilbert
2015-07-09 10:57                               ` Wen Congyang
2015-07-09 13:40                                 ` Dr. David Alan Gilbert
2015-07-09 13:48                                   ` Wen Congyang [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=559E7BA6.2060804@gmail.com \
    --to=ghostwcy@gmail.com \
    --cc=dgilbert@redhat.com \
    --cc=eddie.dong@intel.com \
    --cc=famz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=mreitz@redhat.com \
    --cc=mrhines@linux.vnet.ibm.com \
    --cc=mrhines@us.ibm.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=wency@cn.fujitsu.com \
    --cc=yanghy@cn.fujitsu.com \
    --cc=yunhong.jiang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).