Poster of Linux kernelThe best gift for a Linux geek


Section: (8) Updated: 23 September 2010
Local index Up



nbd-client - connect to a server running nbd-server(1), to use its exported block device  


nbd-client [ bs=blocksize ] [ timeout=seconds ] host port nbd-device [ -sdp ] [ -swap ] [ -persist ] [ -nofork ]

nbd-client -d nbd-device

nbd-client -c nbd-device



With nbd-client, you can connect to a server running nbd-server, thus using raw diskspace from that server as a blockdevice on the local client.

To do this, support from the Linux Kernel is necessary, in the form of the Network Block Device (NBD). When you have that, either in the kernel, or as a module, you can connect to an NBD server and use its exported file through a block special file with major mode 43.  


The following options are supported:

Use a blocksize of "blocksize". Default is 1024; allowed values are either 512, 1024, 2048 or 4096
The hostname or IP address of the machine running nbd-server. Since 2.9.15, the NBD utilities support IPv6.
Set the connection timeout to "seconds". For this to work, you need a kernel with support for the NBD_SET_TIMEOUT ioctl; this was introduced into Linus' tree on 2007-10-11, and will be part of kernel 2.6.24.
The TCP port on which nbd-server is running at the server.
The block special file this nbd-client should connect to.
Check whether the specified nbd device is connected.

If the device is connected, nbd-client will exit with an exit state of 0 and print the PID of the nbd-client instance that connected it to stdout.

If the device is not connected or does not exist (for example because the nbd module was not loaded), nbd-client will exit with an exit state of 1 and not print anything on stdout.

If an error occurred, nbd-client will exit with an exit state of 2, and not print anything on stdout either.

Disconnect the specified nbd device from the server
When this option is specified, nbd-client will immediately try to reconnect an nbd device if the connection ever drops unexpectedly due to a lost server or something similar.
Connect to the server using the Socket Direct Protocol (SDP), rather than IP. See nbd-server(1) for details.
Specifies that this NBD device will be used as swapspace. This option attempts to prevent deadlocks by performing mlockall() at an appropriate time. It does not however guarantee that such deadlocks can be avoided.
Specifies that the NBD client should not detach and daemonize itself. This is mostly useful for debugging.


Some examples of nbd-client usage:

To connect to a server running on port 2000 at host "", using the client's block special file "/dev/nbd0":

nbd-client 2000 /dev/nbd0

To connect to a server running on port 2001 at host "", using the client's block special file "/dev/nb1", for swap purposes:

nbd-client 2001 /dev/nb1 -swap

To disconnect the above connection again (after making sure the block special file is not in use anymore):

nbd-client -d /dev/nb1



nbd-server (1).  


The NBD kernel module and the NBD tools have been written by Pavel Macheck (

The kernel module is now maintained by Paul Clements (, while the userland tools are maintained by Wouter Verhelst (

This manual page was written by Wouter Verhelst (<>) for the Debian GNU/Linux system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, version 2, as published by the Free Software Foundation.




This document was created by man2html, using the manual pages.
Time: 22:02:02 GMT, April 16, 2011