Provided by: nbd-server_2.9.25-2ubuntu1_amd64 bug


       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 ] [ -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).


       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.

       -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


       nbd-client (8), nbd-server (5), nbd-trdump (8)


       The NBD kernel  module  and  the  NBD  tools  were  originally  written  by  Pavel  Machek

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

       On The Hurd there is a regular translator available to perform  the  client  side  of  the
       protocol, and the use of nbd-client is not required. Please see the relevant documentation
       for more information.

       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.

                                         01 October 2011                            NBD-SERVER(1)