Re: [Nbd] [Qemu-devel] Transforming stdin and stdout pair into a socket
Brought to you by:
yoe
|
From: Anthony L. <an...@co...> - 2009-05-11 12:24:43
|
Ciprian Dorin, Craciun wrote: > Hello all! > > Today I've played around with NBD (Network Block Disk), and > qemu-nbd (a NBD client that exports QEMU disks as NBD's). > > My problem is the following: both NBD kernel module and qemu-nbd > implementation expect to use a socket in order to communicate. > This means that in order to securely tunnel the connection over > SSH (OpenSSH), I need an intermediary process that creates a socket > and forwards all input / output between this socket and stdin / stdout > (which are in fact pipes received from OpenSSH). > > My question is: can I somehow make the pair of stdin / stdout seem > as a socket to the Linux syscalls (read and write)? (I would have to > make stdin / stdout pair look like a single file descriptor.) (This > would eliminate the intermediate process that just pipes data, and > thus reduce the overhead.) > Something like socat should to do the trick. For instance, if you have qemu-nbd on localhost:1025: ssh -l user hostname.com socat stdio tcp:localhost:1025 Alternative, you could just do ssh based port forwarding. For instance: ssh -l user -L 1025:localhost:1025 hostname.com And then connect locally with nbd-client Regards, Anthony Liguori |