OnWorks favicon

nbd-server - Online in the Cloud

Run nbd-server in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command nbd-server that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



nbd-server - serve a file as a block device to other computers running the
GNU/Linux(tm) or GNU/Hurd Operating System


nbd-server [ip@]port filename [ size ] [ -r ] [ -m ] [ -c ] [ -l host list filename ] [
-o section name ] [ -C config file ] [ -M max connections ] [ -V ] [ -d ]


nbd-server is the server for the Linux Network Block Device (NBD). With NBD, a client can
use a file, exported over the network from a server, as a block device. It can then be
used for whatever purpose a normal block device (harddisk, CD-ROM, ...) can be used for.

NBD can be useful for diskless clients that need swapspace, but you can also create a
filesystem on it and use it as though it were a local filesystem.

nbd-server implements some security through a file called "/etc/nbd-server/allow" (by
default; a different file can be chosen with the '-l' option or through a config file
specification). This file must list the IP-addresses or network masks of clients that are
allowed to connect. If it does not exist, all clients are able to connect. If the file is
empty, no clients can connect.

Note that while the command line allows for specifying an export, the use of this option
is deprecated. It is preferred to make use of a configuration file instead, the format of
which is defined in nbd-server(5).

While nbd-server is running, new exports can be added by re-writing configuration files
and then sending SIGHUP to nbd-server. SIGHUP causes nbd-server to re-read its
configuration files and to start serving all new exports which were not served earlier.
Reconfiguration does not modify any existing export, it only appends new ones.


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; 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)

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.

-d Do not fork. Useful for debugging.

host list filename
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.

section name
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.


Some examples of nbd-server usage:

· To export a file /export/nbd/exp-bl-dev on port 2000:

nbd-server 2000 /export/nbd/exp-bl-dev

· To export a the same file read-only:

nbd-server 2000 /export/nbd/exp-bl-dev -r

· To export the same file read-write, but make sure changes are lost after restarting the
client or the server:

nbd-server 2000 /export/nbd/exp-bl-dev -c

Use nbd-server online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

Linux commands