1 <!doctype refentry PUBLIC
"-//OASIS//DTD DocBook V4.1//EN" [
3 <!-- Process this file with docbook-to-man to generate an nroff manual
4 page: `docbook-to-man manpage.sgml > manpage.1'. You may view
5 the manual page with: `docbook-to-man manpage.sgml | nroff -man |
6 less'. A typical entry in a Makefile or Makefile.am is:
8 manpage.1: manpage.sgml
12 <!-- Fill in your name for FIRSTNAME and SURNAME. -->
13 <!ENTITY dhfirstname
"<firstname>Wouter</firstname>">
14 <!ENTITY dhsurname
"<surname>Verhelst</surname>">
15 <!-- Please adjust the date whenever revising the manpage. -->
16 <!ENTITY dhdate
"<date>$Date$</date>">
17 <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
18 allowed: see man(7), man(1). -->
19 <!ENTITY dhsection
"<manvolnum>1</manvolnum>">
20 <!ENTITY dhemail
"<email>wouter@debian.org</email>">
21 <!ENTITY dhusername
"Wouter Verhelst">
22 <!ENTITY dhucpackage
"<refentrytitle>NBD-SERVER</refentrytitle>">
23 <!ENTITY dhpackage
"nbd-server">
25 <!ENTITY debian
"<productname>Debian GNU/Linux</productname>">
26 <!ENTITY gnu
"<acronym>GNU</acronym>">
40 <holder>&dhusername;</holder>
50 <refname>&dhpackage;</refname>
52 <refpurpose>serve a file as a block device to other computers
53 running the
&gnu;/Linux(tm) or
&gnu;/Hurd Operating
58 <command>&dhpackage; </command>
60 <arg choice=plain
><replaceable>port
</replaceable</arg>
61 <arg choice=plain
><replaceable>filename
</replaceable></arg>
62 <arg><replaceable>size
</replaceable></arg>
63 <arg><option>-r
</option></arg>
64 <arg><option>-m
</option></arg>
65 <arg><option>-c
</option></arg>
66 <arg><option>-a
<replaceable>timeout
</replaceable></option></arg>
67 <arg><option>-l
<replaceable>host list
</replaceable></option></arg>
71 <title>DESCRIPTION
</title>
73 <para>This manual page documents the
74 <command>&dhpackage;</command> command.
</para>
76 <para>This manual page was written for the
&debian; distribution
77 because the original program does not have a manual page.
</para>
79 <para><command>&dhpackage;</command> is the server for the Linux
80 Network Block Device (NBD). With NBD, a client can use a file,
81 exported over the network from a server, as a block device. It can
82 then be used for whatever purpose a normal block device (harddisk,
83 CD-ROM, ...) can be used for.
</para>
85 <para>NBD can be useful for diskless clients that need swapspace,
86 but you can also create a filesystem on it and use it as though it
87 were a local filesystem.
</para>
89 <para><command>&dhpackage;</command> implements some security
90 through a file called
"nbd_server.allow" in the current directory (by default; a different file can be chosen with the '-l' option).
91 This file must list the IP-addresses of clients that are allowed
92 to connect. If it does not exist, all clients are able to connect.
93 If the file is empty, no clients can connect.
</para>
96 <title>OPTIONS
</title>
100 <term><option>port
</option>
103 <para>The port the server should listen to. A valid port is
104 any number between
1 and
65536; if
0 is used, nbd-server
105 will listen on stdin (so that nbd-server can be ran from
110 <term><option>filename
</option></term>
112 <para>The filename of the file that should be exported. This
113 can be any file, including
"real" blockdevices (i.e. a file
114 from /dev). If the filename includes the literal string
115 "%s", then this %s will be substituded with the IP-address
116 of the client trying to connect.
</para>
120 <term><option>size
</option></term>
122 <para>The size of the block device at the client side. This
123 is especially usefull in conjunction with the -m
125 <para>Can optionally be followed by one of K,k,M or
126 m, in which case the size will be multiplied by
1024 (K
127 or k) or
1048576 (M or m)
</para>
131 <term><option>-r
</option></term>
133 <para>Export the file read-only. If a client tries to write
134 to a read-only exported file, it will receive an error, but
135 the connection will stay up.
</para>
139 <term><option>-m
</option></term>
141 <para>Work with multiple files. This can be used to export
142 blockdevices that are larger than the maximum allowed
143 filesize on a given filesystem; i.e. when the filesystem
144 does not allow files larger than
2GB (which is true for
145 Linux
2.2 and below), you can use this option to store the
146 data in multiple files and export a larger filesystem, if
149 To use this option, you must create a number of files
150 with names in the format
"name.X", where
"name" is given as
151 the filename argument to nbd-server, and
"X" is a number
152 starting by
0 and going up for each file.
155 The files must all be
1GB in size.
158 Allowing more flexibility for this option is planned for
159 future versions.
</para>
163 <term><option>-c
</option></term>
165 <para>Copy on write. When this option is provided,
166 write-operations are not done to the exported file, but to a
167 separate file. This separate file is removed when the
168 connection is closed, which means that serving this way will
169 make nbd-server slow down (especially on large block devices
170 with lots of writes), and that after disconnecting and
171 reconnecting the client or the server, all changes are
176 <term><option>timeout
</option></term>
178 <para>Maximum number of idle seconds. If a connection is
179 inactive for this amount of time, it is terminated; this is to
180 avoid stale nbd-server processes staying in memory. Use of
181 this option is strongly recommended.
</para>
185 <term><option>host list
</option></term>
187 <para>This argument should contain a list of IP-addresses
188 for hosts that may connect to the server. Wildcards are
189 <emphasis>not
</emphasis> allowed. If the file does not
190 exist, it is ignored (and any host can connect); If the file
191 does exist, but is empty, no host can connect. By default,
192 the name 'nbd_server.allow' is used, and looked for in the
193 current directory, unless nbd-server is compiled as a
194 daemon, in which case it is looked for in the
195 root-directory.
</para>
202 <title>EXAMPLES
</title>
203 <para>Some examples of nbd-server usage:
</para>
204 <itemizedlist mark=
"none">
206 <para>To export a file /export/nbd/exp-bl-dev on port
2000:
</para>
207 <para><command>nbd-server
2000 /export/nbd/exp-bl-dev
</command></para>
210 <para>To export a the same file read-only:
</para>
211 <para><command>nbd-server
2000 /export/nbd/exp-bl-dev -r
</command></para>
214 <para>To export the same file read-write, but make sure
215 changes are lost after restarting the client or the
217 <para><command>nbd-server
2000 /export/nbd/exp-bl-dev
223 <title>SEE ALSO
</title>
225 <para>nbd-client (
8), http://nbd.sourceforge.net/roadmap.html
</para>
229 <title>AUTHOR
</title>
230 <para>The NBD kernel module and the NBD tools were originally
231 written by Pavel Machek (pavel@ucw.cz)
</para>
233 <para>The kernel module is now maintained by Paul Clements
234 (Paul.Clements@steeleye.com), while the userland tools are
235 maintained by
&dhusername; (
&dhemail;)
</para>
237 <para>This manual page was written by
&dhusername; (
&dhemail;) for
238 the
&debian; system (but may be used by others). Permission is
239 granted to copy, distribute and/or modify this document under
240 the terms of the
<acronym>GNU
</acronym> General Public License,
241 version
2, as published by the Free Software Foundation.
</para>
246 <!-- Keep this comment at the end of the file
251 sgml-minimize-attributes:nil
252 sgml-always-quote-attributes:t
255 sgml-parent-document:nil
256 sgml-default-dtd-file:nil
257 sgml-exposed-tags:nil
258 sgml-local-catalogs:nil
259 sgml-local-ecat-files:nil