.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "NBD-CLIENT" "8" "$" "" ""
.SH NAME
nbd-client \- connect to a server running nbd-server(1), to use its exported block device
.SH SYNOPSIS
\fBnbd-client\fR \fB\fIhost\fB\fR [ \fB\fIport\fB\fR ] \fB\fInbd-device\fB\fR [ \fB-sdp\fR ] [ \fB-swap\fR ] [ \fB-persist\fR ] [ \fB-nofork\fR ] [ \fB-block-size \fIblock size\fB\fR ] [ \fB-timeout \fIseconds\fB\fR ] [ \fB-name \fIname\fB\fR ]
\fBnbd-client\fR \fB-d \fInbd-device\fB\fR
\fBnbd-client\fR \fB-c \fInbd-device\fB\fR
\fBnbd-client\fR \fB-l \fIhost\fB\fR
.SH "DESCRIPTION"
.PP
With \fBnbd-client\fR, you can connect to a
server running \fBnbd-server\fR, thus using raw
diskspace from that server as a blockdevice on the local
client.
.PP
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.
.PP
Optionally, long options can also be specified with two
leading dashes.
.SH "OPTIONS"
.PP
The following options are supported:
.TP
\fB-block-size \fIblock size\fB\fR
.TP
\fB-b\fR
Use a blocksize of "block size". Default is 1024;
allowed values are either 512, 1024, 2048 or 4096
.TP
\fBhost\fR
The hostname or IP address of the machine running
\fBnbd-server\fR\&. Since 2.9.15, the NBD
utilities support IPv6.
.TP
\fB-timeout \fIseconds\fB\fR
.TP
\fB-t\fR
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.
.TP
\fBport\fR
The TCP port on which \fBnbd-server\fR is
running at the server.
This option is required, unless the -N option is
specified.
.TP
\fBnbd-device\fR
The block special file this nbd-client should connect
to.
.TP
\fB-check\fR
.TP
\fB-c\fR
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.
.TP
\fB-disconnect\fR
.TP
\fB-d\fR
Disconnect the specified nbd device from the
server
.TP
\fB-list\fR
.TP
\fB-l\fR
Ask the server for a list of available exports. If the
server is exporting over IPv6 as well as over IPv4, this
will list all exports twice; otherwise, it should list them
all only once.
Note that this option only works
with nbd-server processes running version 3.1 or above, and
must be enabled in server configuration (with the
"allowlist" option) before it can be used.
.TP
\fB-persist\fR
.TP
\fB-p\fR
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.
.TP
\fB-sdp\fR
.TP
\fB-S\fR
Connect to the server using the Socket Direct Protocol
(SDP), rather than IP. See nbd-server(5) for details.
.TP
\fB-swap\fR
.TP
\fB-s\fR
Specifies that this NBD device will be used as
swapspace. This option attempts to prevent deadlocks by
performing mlockall() and adjusting the oom-killer score
at an appropriate time. It does not however guarantee
that such deadlocks can be avoided.
.TP
\fB-nofork\fR
.TP
\fB-n\fR
Specifies that the NBD client should not detach and
daemonize itself. This is mostly useful for debugging.
Note that nbd-client will still fork once to trigger an
update to the device node's partition table. It is not
possible to disable this.
.TP
\fB-name\fR
.TP
\fB-N\fR
Specifies the name of the export that we want to use. Required if
the port is not specified, not allowed in the other case.
.SH "EXAMPLES"
.PP
Some examples of nbd-client usage:
.TP 0.2i
\(bu
To connect to a server running on port 2000 at host
"server.domain.com", using the client's block special file
"/dev/nbd0":
\fBnbd-client server.domain.com 2000
/dev/nbd0\fR
.TP 0.2i
\(bu
To connect to a server running on port 2001 at host
"swapserver.domain.com", using the client's block special
file "/dev/nbd1", for swap purposes:
\fBnbd-client swapserver.domain.com 2001 /dev/nbd1
-swap\fR
.TP 0.2i
\(bu
To disconnect the above connection again (after making
sure the block special file is not in use anymore):
\fBnbd-client -d /dev/nbd1\fR
.SH "SEE ALSO"
.PP
nbd-server (1).
.SH "AUTHOR"
.PP
The NBD kernel module and the NBD tools have been written by
Pavel Macheck (pavel@ucw.cz).
.PP
The kernel module is now maintained by Paul Clements
(Paul.Clements@steeleye.com), while the userland tools are maintained by
Wouter Verhelst (wouter@debian.org)
.PP
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.