ip The ip address the server should listen on. This may be an IPv4 address, an IPv6 address, or a
hostname. In the latter case, nbd-server will do a hostname lookup for the name specified, and
will listen on the first address that is returned. For compatibility with past versions of nbd-
server, if an IPv4 address is specified, the @ sign that serves as separator between the address
and port may be replaced by a colon.
If this parameter is not specified, nbd-server will listen on all local addresses on both IPv4 and
IPv6. To limit to IPv4, specify the address as 0.0.0.0; to limit to IPv6, specify it as ::.
port The port the server should listen to. A valid port is any number between 1 and 65536; if 0 is
used, nbd-server will listen on stdin (so that nbd-server can be ran from inetd)
filename
The filename of the file that should be exported. This can be any file, including "real"
blockdevices (i.e. a file from /dev). If the filename includes the literal string "%s", then this
%s will be substituded with the IP-address of the client trying to connect.
size The size of the block device at the client side. This is especially useful in conjunction with the
-m option
Can optionally be followed by one of K,k,M or m, in which case the size will be multiplied by 1024
(K or k) or 1048576 (M or m)
-r Export the file read-only. If a client tries to write to a read-only exported file, it will
receive an error, but the connection will stay up.
-m Work with multiple files. This can be used to export blockdevices that are larger than the maximum
allowed filesize on a given filesystem; i.e. when the filesystem does not allow files larger than
2GB (which is true for Linux 2.2 and below), you can use this option to store the data in multiple
files and export a larger filesystem, if needed.
To use this option, you must create a number of files with names in the format "name.X", where
"name" is given as the filename argument to nbd-server, and "X" is a number starting by 0 and
going up for each file.
Allowing more flexibility for this option is planned for future versions.
-c Copy on write. When this option is provided, write-operations are not done to the exported file,
but to a separate file. This separate file is removed when the connection is closed, which means
that serving this way will make nbd-server slow down (especially on large block devices with lots
of writes), and that after disconnecting and reconnecting the client or the server, all changes
are lost.
-C Specify configuration file. The default configuration file, if this parameter is not specified, is
/etc/nbd-server/config.
Note that the configuration file is always parsed and the entries in the file used, even if an
extra server is specified on the command line. To disable the configuration file entirely, either
move it away or use the -C option to point nbd-server(1) to a non-existing or empty configuration
file.
Also note that if an empty, incomplete, or invalid configuration file is specified, nbd-server
will produce a warning about failure to parse the config file. If the command line contains a
fully specified configuration, this warning is harmless and may be ignored.
-M Specify the maximum number of opened connections. If this parameter is not specified, no limit is
set.
-V Output the version of nbd-server, and exit.
-n Do not daemonize the main process. In contrast to -d, this still allows to fork the serving
process for a client from the main process.
-d Do not fork. Useful for debugging. Implies -n.
hostlistfilename
This argument should contain a list of IP-addresses for hosts that may connect to the server.
Wildcards are not allowed. If the file does not exist, it is ignored (and any host can connect);
If the file does exist, but is empty, no host can connect. By default, the name 'nbd_server.allow'
is used, and looked for in the current directory, unless nbd-server is compiled as a daemon, in
which case it is looked for in the root-directory.
sectionname
If the -o argument is given on the command line, then nbd-server will output a configuration file
section with this as the header that is functionally equivalent to the other options specified on
the command line, and exit. This is useful for migrating pre-2.9 nbd-server initscript
configuration files to the new format.