qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Wen Congyang <wency@cn.fujitsu.com>
To: "Michael R. Hines" <mrhines@linux.vnet.ibm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>, Fam Zheng <famz@redhat.com>,
	Wen Congyang <ghostwcy@gmail.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>, Max Reitz <mreitz@redhat.com>,
	"Michael R. Hines" <mrhines@us.ibm.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Yang Hongyang <yanghy@cn.fujitsu.com>,
	Lai Jiangshan <laijs@cn.fujitsu.com>
Subject: Re: [Qemu-devel] [PATCH COLO-BLOCK v7 00/17] Block replication for continuous checkpoints
Date: Thu, 9 Jul 2015 08:59:57 +0800	[thread overview]
Message-ID: <559DC78D.3060609@cn.fujitsu.com> (raw)
In-Reply-To: <559D4692.3060002@linux.vnet.ibm.com>

On 07/08/2015 11:49 PM, Michael R. Hines wrote:
> On 07/07/2015 08:38 PM, Wen Congyang wrote:
>> On 07/08/2015 12:56 AM, Michael R. Hines wrote:
>>> On 07/07/2015 04:23 AM, Paolo Bonzini wrote:
>>>> On 07/07/2015 11:13, Dr. David Alan Gilbert wrote:
>>>>>>> This log is very stange. The NBD client connects to NBD server, and NBD server wants to read data
>>>>>>> from NBD client, but reading fails. It seems that the connection is closed unexpectedly. Can you
>>>>>>> give me more log and how do you use it?
>>>>> That was the same failure I was getting.   I think it's that the NBD server and client are in different
>>>>> modes, with one of them expecting the export.
>>>> nbd_server_add always expects the export.
>>>>
>>>> Paolo
>>>>
>>> OK, Wen, so your wiki finally does reflect this, but now we're back to the "export not found error".
>>>
>>> Again, here's the exact command line:
>>>
>>> 1. First on the secondary VM:
>>>
>>> qemu-system-x86_64 .........snip...........  -drive if=none,driver=qcow2,file=foo.qcow2,id=mc1,cache=none,aio=native -drive if=virtio,driver=replication,mode=secondary,throttling.bps-total-max=70000000,file.file.filename=active_disk.qcow2,file.driver=qcow2,file.backing.file.filename=hidden_disk.qcow2,file.backing.driver=qcow2,file.backing.allow-write-backing-file=on,file.backing.backing.backing_reference=mc1
>>>
>>> 2. Then, then HMP commands:
>>>
>>> nbd_server_start 0:6262
>>> nbd_server_add -w mc1
>>>
>>> 3. Then the primary VM:
>>>
>>> qemu-system-x86_64 .........snip...........  -drive if=virtio,driver=quorum,read-pattern=fifo,no-connect=on,children.0.file.filename=bar.qcow2,children.0.driver=qcow2,children.1.file.driver=nbd,children.1.file.host=127.0.0.1,children.1.file.port=6262,children.1.driver=replication,children.1.mode=primary,children.1.ignore-errors=on
>>>
>>> With the error: Server requires an export name
>>>
>>> *but*, your wiki has no export name on the primary VM size, so I added the export name back which is on your old wiki:
>>>
>>> qemu-system-x86_64 .........snip...........  -drive if=virtio,driver=quorum,read-pattern=fifo,no-connect=on,children.0.file.filename=bar.qcow2,children.0.driver=qcow2,children.1.file.driver=nbd,children.1.file.export=mc1,children.1.file.host=127.0.0.1,children.1.file.port=6262,children.1.driver=replication,children.1.mode=primary,children.1.ignore-errors=on: Failed to read export length
>>>
>> Hmm, I think you use v7 version. Is it right?
>> In this version, the correct useage for primary qemu is:
>> 1. qemu-system-x86_64 .........snip...........  -drive if=virtio,driver=quorum,read-pattern=fifo,id=disk1,
>>                        children.0.file.filename=bar.qcow2,children.0.driver=qcow2,
>>
>> Then run hmp monitor command(It should be run after you run nbd_server_add in the secondary 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
>>
>> Thanks
>> Wen Congyang
>>
>>> And server now says:
>>>
>>> nbd.c:nbd_handle_export_name():L416: export not found
>>> nbd.c:nbd_send_negotiate():L562: option negotiation failed
>>>
>>> .
>>>
>>
> 
> OK, I'm totally confused at this point. =)
> 
> Maybe it would be easier to just wait for your next clean patchset + documentation which is all consistent with each other.

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.

Thanks
Wen Congyang

> 
> - Michael
> 
> .
> 

  reply	other threads:[~2015-07-09  0:56 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 [this message]
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

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=559DC78D.3060609@cn.fujitsu.com \
    --to=wency@cn.fujitsu.com \
    --cc=dgilbert@redhat.com \
    --cc=eddie.dong@intel.com \
    --cc=famz@redhat.com \
    --cc=ghostwcy@gmail.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=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).