1NBD-SERVER(1)                                                    NBD-SERVER(1)
2
3
4

NAME

6       nbd-server  - serve a file as a block device to other computers    run‐
7       ning the GNU/Linux(tm) or GNU/Hurd Operating    System
8

SYNOPSIS

10       nbd-server  [ip@]port filename [ size ] [ -r ] [ -m ] [ -c ] [ -l  host
11       list filename ] [ -o section name ] [ -C config file ] [ -M max connec‐
12       tions ] [ -V ] [ -n ] [ -d ]
13
14

DESCRIPTION

16       nbd-server is the server for the Linux Network Block Device (NBD). With
17       NBD,  a client can use a file, exported over the network from a server,
18       as a block device. It can then be used for whatever  purpose  a  normal
19       block device (harddisk, CD-ROM, ...) can be used for.
20
21       NBD can be useful for diskless clients that need swapspace, but you can
22       also create a filesystem on it and use it as though  it  were  a  local
23       filesystem.
24
25       nbd-server  implements  some  security through a file called "/etc/nbd-
26       server/allow" (by default; a different file can be chosen with the '-l'
27       option or through a config file specification). This file must list the
28       IP-addresses or network masks of clients that are allowed  to  connect.
29       If  it  does not exist, all clients are able to connect. If the file is
30       empty, no clients can connect.
31
32       Note that while the command line allows for specifying an  export,  the
33       use of this option is deprecated. It is preferred to make use of a con‐
34       figuration file instead,  the  format  of  which  is  defined  in  nbd-
35       server(5).
36
37       While  nbd-server  is  running,  new exports can be added by re-writing
38       configuration files and  then  sending  SIGHUP  to  nbd-server.  SIGHUP
39       causes nbd-server to re-read its configuration files and to start serv‐
40       ing all new exports which were not served earlier. Reconfiguration does
41       not modify any existing export, it only appends new ones.
42

OPTIONS

44       ip     The  ip address the server should listen on. This may be an IPv4
45              address, an IPv6 address, or a hostname.  In  the  latter  case,
46              nbd-server will do a hostname lookup for the name specified, and
47              will listen on the first address that is returned. For  compati‐
48              bility  with  past versions of nbd-server, if an IPv4 address is
49              specified, the @ sign that serves as separator between  the  ad‐
50              dress and port may be replaced by a colon.
51
52              If  this  parameter  is not specified, nbd-server will listen on
53              all local addresses on both IPv4 and IPv6.  To  limit  to  IPv4,
54              specify  the address as 0.0.0.0; to limit to IPv6, specify it as
55              ::.
56
57       port   The port the server should listen to. A valid port is any number
58              between  1  and  65536;  if 0 is used, nbd-server will listen on
59              stdin (so that nbd-server can be ran from inetd)
60
61       filename
62              The filename of the file that should be exported.  This  can  be
63              any file, including "real" blockdevices (i.e. a file from /dev).
64              If the filename includes the literal string "%s", then  this  %s
65              will  be substituded with the IP-address of the client trying to
66              connect.
67
68       size   The size of the block device at the client side. This  is  espe‐
69              cially useful in conjunction with the -m option
70
71              Can  optionally  be followed by one of K,k,M or m, in which case
72              the size will be multiplied by 1024 (K or k) or 1048576 (M or m)
73
74       -r     Export the file read-only. If a client tries to write to a read-
75              only exported file, it will receive an error, but the connection
76              will stay up.
77
78       -m     Work with multiple files. This can be used  to  export  blockde‐
79              vices  that  are  larger  than the maximum allowed filesize on a
80              given filesystem; i.e. when the filesystem does not allow  files
81              larger than 2GB (which is true for Linux 2.2 and below), you can
82              use this option to store the data in multiple files and export a
83              larger filesystem, if needed.
84
85              To use this option, you must create a number of files with names
86              in the format "name.X", where "name" is given  as  the  filename
87              argument  to  nbd-server,  and "X" is a number starting by 0 and
88              going up for each file.
89
90              Allowing more flexibility for this option is planned for  future
91              versions.
92
93       -c     Copy  on  write.  When this option is provided, write-operations
94              are not done to the exported file, but to a separate file.  This
95              separate  file  is  removed when the connection is closed, which
96              means that serving this way will make nbd-server slow down  (es‐
97              pecially  on  large block devices with lots of writes), and that
98              after disconnecting and reconnecting the client or  the  server,
99              all changes are lost.
100
101       -C     Specify  configuration  file. The default configuration file, if
102              this parameter is not specified, is /etc/nbd-server/config.
103
104              Note that the configuration file is always parsed  and  the  en‐
105              tries  in the file used, even if an extra server is specified on
106              the command line. To disable the  configuration  file  entirely,
107              either  move it away or use the -C option to point nbd-server(1)
108              to a non-existing or empty configuration file.
109
110              Also note that if an empty, incomplete, or invalid configuration
111              file is specified, nbd-server will produce a warning about fail‐
112              ure to parse the config file. If the  command  line  contains  a
113              fully  specified configuration, this warning is harmless and may
114              be ignored.
115
116       -M     Specify the maximum number of opened connections. If this param‐
117              eter is not specified, no limit is set.
118
119       -V     Output the version of nbd-server, and exit.
120
121       -n     Do not daemonize the main process. In contrast to -d, this still
122              allows to fork the serving process for a client  from  the  main
123              process.
124
125       -d     Do not fork. Useful for debugging.  Implies -n.
126
127       host list filename
128              This  argument  should  contain a list of IP-addresses for hosts
129              that may connect to the server. Wildcards are  not  allowed.  If
130              the  file  does  not exist, it is ignored (and any host can con‐
131              nect); If the file does exist, but is empty, no  host  can  con‐
132              nect.  By  default,  the  name  'nbd_server.allow'  is used, and
133              looked for in the current directory, unless nbd-server  is  com‐
134              piled  as  a daemon, in which case it is looked for in the root-
135              directory.
136
137       section name
138              If the -o argument is given on the command line, then nbd-server
139              will output a configuration file section with this as the header
140              that is functionally equivalent to the other  options  specified
141              on  the  command  line,  and  exit. This is useful for migrating
142              pre-2.9 nbd-server initscript configuration  files  to  the  new
143              format.
144

EXAMPLES

146       Some examples of nbd-server usage:
147
148       • To export a file /export/nbd/exp-bl-dev on port 2000:
149
150         nbd-server 2000 /export/nbd/exp-bl-dev
151
152       • To export a the same file read-only:
153
154         nbd-server 2000 /export/nbd/exp-bl-dev -r
155
156       • To  export  the  same file read-write, but make sure changes are lost
157         after restarting the client or the server:
158
159         nbd-server 2000 /export/nbd/exp-bl-dev -c
160

SEE ALSO

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

AUTHOR

165       The NBD kernel module and the NBD  tools  were  originally  written  by
166       Pavel Machek (pavel@ucw.cz)
167
168       The   Linux   kernel   module   is  now  maintained  by  Paul  Clements
169       (Paul.Clements@steeleye.com), while the userland tools  are  maintained
170       by Wouter Verhelst (<wouter@debian.org>)
171
172       On  The  Hurd  there  is  a regular translator available to perform the
173       client side of the protocol, and the use of nbd-client is not required.
174       Please see the relevant documentation for more information.
175
176       This  manual  page was written by Wouter Verhelst (<wouter@debian.org>)
177       for the Debian GNU/Linux system (but may be used by  others).   Permis‐
178       sion  is  granted to copy, distribute and/or modify this document under
179       the terms of the GNU General Public License, version 2, as published by
180       the Free Software Foundation.
181
182
183
184                                       $                         NBD-SERVER(1)
Impressum