Initial implementation of named exports
[nbd.git] / nbd-client.8.sgml
1 <!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
2
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:
7
8 manpage.1: manpage.sgml
9         docbook-to-man $< > $@
10   -->
11
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>8</manvolnum>">
20   <!ENTITY dhemail     "<email>wouter@debian.org</email>">
21   <!ENTITY dhusername  "Wouter Verhelst">
22   <!ENTITY dhucpackage "<refentrytitle>NBD-CLIENT</refentrytitle>">
23   <!ENTITY dhpackage   "nbd-client">
24
25   <!ENTITY debian      "<productname>Debian GNU/Linux</productname>">
26   <!ENTITY gnu         "<acronym>GNU</acronym>">
27 ]>
28
29 <refentry>
30   <refentryinfo>
31     <address>
32       &dhemail;
33     </address>
34     <author>
35       &dhfirstname;
36       &dhsurname;
37     </author>
38     <copyright>
39       <year>2001</year>
40       <holder>&dhusername;</holder>
41     </copyright>
42     &dhdate;
43   </refentryinfo>
44   <refmeta>
45     &dhucpackage;
46
47     &dhsection;
48   </refmeta>
49   <refnamediv>
50     <refname>&dhpackage;</refname>
51
52     <refpurpose>connect to a server running nbd-server(1), to use its
53     exported block device</refpurpose>
54   </refnamediv>
55   <refsynopsisdiv>
56     <cmdsynopsis>
57       <command>&dhpackage;</command>
58       <arg choice=plain><option><replaceable>host</replaceable></option></arg>
59       <arg choice=plain><option><replaceable>port</replaceable></option></arg>
60       <arg choice=plain><option><replaceable>nbd-device</replaceable></option></arg>
61       <arg><option>-sdp</option></arg>
62       <arg><option>-swap</option></arg>
63       <arg><option>-persist</option></arg>
64       <arg><option>-nofork</option></arg>
65       <arg><option>-block-size <replaceable>block size</replaceable></option></arg>
66       <arg><option>-timeout <replaceable>seconds</replaceable></option></arg>
67     </cmdsynopsis>
68     <cmdsynopsis>
69       <command>&dhpackage;</command>
70       <arg choice=plain><option>-d <replaceable>nbd-device</replaceable></option></arg>
71     </cmdsynopsis>
72     <cmdsynopsis>
73       <command>&dhpackage;</command>
74       <arg choice="plain"><option>-c <replaceable>nbd-device</replaceable></option></arg>
75     </cmdsynopsis>
76   </refsynopsisdiv>
77   <refsect1>
78     <title>DESCRIPTION</title>
79
80     <para>With <command>&dhpackage;</command>, you can connect to a
81     server running <command>nbd-server</command>, thus using raw
82     diskspace from that server as a blockdevice on the local
83     client.</para>
84
85     <para>To do this, support from the Linux Kernel is necessary, in
86     the form of the Network Block Device (NBD). When you have that,
87     either in the kernel, or as a module, you can connect to an NBD
88     server and use its exported file through a block special file with
89     major mode 43.</para>
90     
91   </refsect1>
92   <refsect1>
93     <title>OPTIONS</title>
94
95     <para>The following options are supported:</para>
96
97     <variablelist>
98       <varlistentry>
99         <term><option>-block-size <replaceable>block size</replaceable></option></term>
100         <listitem>
101           <para>Use a blocksize of "block size". Default is 1024;
102             allowed values are either 512, 1024, 2048 or 4096</para>
103         </listitem>
104       </varlistentry>
105       <varlistentry>
106         <term><option>host</option></term>
107         <listitem>
108           <para>The hostname or IP address of the machine running
109             <command>nbd-server</command>. Since 2.9.15, the NBD
110             utilities support IPv6.</para>
111         </listitem>
112       </varlistentry>
113       <varlistentry>
114         <term><option>-timeout <replaceable>seconds</replaceable></option></term>
115         <listitem>
116           <para>Set the connection timeout to "seconds". For this to
117           work, you need a kernel with support for the NBD_SET_TIMEOUT
118           ioctl; this was introduced into Linus' tree on 2007-10-11,
119           and will be part of kernel 2.6.24.</para>
120         </listitem>
121       </varlistentry>
122       <varlistentry>
123         <term><option>port</option></term>
124         <listitem>
125           <para>The TCP port on which <command>nbd-server</command> is
126             running at the server.</para>
127         </listitem>
128       </varlistentry>
129       <varlistentry>
130         <term><option>nbd-device</option></term>
131         <listitem>
132           <para>The block special file this nbd-client should connect
133             to.</para>
134         </listitem>
135       </varlistentry>
136       <varlistentry>
137         <term>-c</term>
138         <listitem>
139           <para>Check whether the specified nbd device is
140           connected.</para>
141           <para>If the device is connected, &dhpackage; will exit
142           with an exit state of 0 and print the PID of the &dhpackage;
143           instance that connected it to stdout.
144           <para>If the device is not
145           connected or does not exist (for example because the nbd
146           module was not loaded), &dhpackage; will exit with an exit
147           state of 1 and not print anything on stdout.</para>
148           <para>If an error occurred, &dhpackage; will exit with an exit
149           state of 2, and not print anything on stdout either.</para>
150         </listitem>
151       </varlistentry>
152       <varlistentry>
153         <term>-d</term>
154         <listitem>
155           <para>Disconnect the specified nbd device from the
156           server</para>
157         </listitem>
158       </varlistentry>
159       <varlistentry>
160         <term>-persist</term>
161         <listitem>
162           <para>When this option is specified, &dhpackage; will
163             immediately try to reconnect an nbd device if the
164             connection ever drops unexpectedly due to a lost
165             server or something similar.</para>
166         </listitem>
167       </varlistentry>
168       <varlistentry>
169         <term><option>-sdp</option></term>
170         <listitem>
171           <para>Connect to the server using the Socket Direct Protocol
172             (SDP), rather than IP. See nbd-server(1) for details.
173           </para>
174         </listitem>
175       </varlistentry>
176       <varlistentry>
177         <term><option>-swap</option></term>
178         <listitem>
179           <para>Specifies that this NBD device will be used as
180           swapspace. This option attempts to prevent deadlocks by
181           performing mlockall() at an appropriate time. It does not
182           however guarantee that such deadlocks can be avoided.</para>
183         </listitem>
184       </varlistentry>
185       <varlistentry>
186         <term><option>-nofork</option></term>
187         <listitem>
188           <para>Specifies that the NBD client should not detach and
189           daemonize itself. This is mostly useful for debugging.</para>
190       </varlistentry>
191     </variablelist>
192   </refsect1>
193   <refsect1>
194     <title>EXAMPLES</title>
195
196     <para>Some examples of nbd-client usage:</para>
197     <itemizedlist mark="none">
198       <listitem>
199         <para>To connect to a server running on port 2000 at host
200           "server.domain.com", using the client's block special file
201           "/dev/nbd0":</para>
202         <para><command>nbd-client server.domain.com 2000
203           /dev/nbd0</command></para>
204       </listitem>
205       <listitem>
206         <para>To connect to a server running on port 2001 at host
207           "swapserver.domain.com", using the client's block special
208           file "/dev/nb1", for swap purposes:</para>
209         <para><command>nbd-client swapserver.domain.com 2001 /dev/nb1
210           -swap</command></para>
211       </listitem>
212       <listitem>
213         <para>To disconnect the above connection again (after making
214           sure the block special file is not in use anymore):</para>
215         <para><command>nbd-client -d /dev/nb1</command></para>
216       </listitem>
217     </itemizedlist>
218   </refsect1>
219   <refsect1>
220     <title>SEE ALSO</title>
221
222     <para>nbd-server (1).</para>
223
224   </refsect1>
225   <refsect1>
226     <title>AUTHOR</title>
227     <para>The NBD kernel module and the NBD tools have been written by
228     Pavel Macheck (pavel@ucw.cz).</para>
229
230     <para>The kernel module is now maintained by Paul Clements
231     (Paul.Clements@steeleye.com), while the userland tools are maintained by
232     Wouter Verhelst (wouter@debian.org)</para>
233
234     <para>This manual page was written by &dhusername; (&dhemail;) for
235     the &debian; system (but may be used by others).  Permission is
236     granted to copy, distribute and/or modify this document under the
237     terms of the <acronym>GNU</acronym> General Public License,
238     version 2, as published by the Free Software Foundation.</para>
239
240   </refsect1>
241 </refentry>
242
243 <!-- Keep this comment at the end of the file
244 Local variables:
245 mode: sgml
246 sgml-omittag:t
247 sgml-shorttag:t
248 sgml-minimize-attributes:nil
249 sgml-always-quote-attributes:t
250 sgml-indent-step:2
251 sgml-indent-data:t
252 sgml-parent-document:nil
253 sgml-default-dtd-file:nil
254 sgml-exposed-tags:nil
255 sgml-local-catalogs:nil
256 sgml-local-ecat-files:nil
257 End:
258 -->