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
And server now says:
nbd.c:nbd_handle_export_name():L416: export not found
nbd.c:nbd_send_negotiate():L562: option negotiation failed