Patches from Debian
[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><option>bs=<replaceable>blocksize</replaceable></option></arg>
59       <arg><option>timeout=<replaceable>seconds</replaceable></option></arg>
60       <arg choice=plain><option><replaceable>host</replaceable></option></arg>
61       <arg choice=plain><option><replaceable>port</replaceable></option></arg>
62       <arg choice=plain><option><replaceable>nbd-device</replaceable></option></arg>
63       <arg><option>-sdp</option></arg>
64       <arg><option>-swap</option></arg>
65       <arg><option>-persist</option></arg>
66       <arg><option>-nofork</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>bs=<replaceable>blocksize</replaceable></option></term>
100         <listitem>
101           <para>Use a blocksize of "blocksize". 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 of the machine running
109             <command>nbd-server</command>.</para>
110         </listitem>
111       </varlistentry>
112       <varlistentry>
113         <term><option>timeout=<replaceable>seconds</replaceable></option></term>
114         <listitem>
115           <para>Set the connection timeout to "seconds". For this to
116           work, you need a kernel with support for the NBD_SET_TIMEOUT
117           ioctl; this was introduced into Linus' tree on 2007-10-11,
118           and will be part of kernel 2.6.24.</para>
119         </listitem>
120       </varlistentry>
121       <varlistentry>
122         <term><option>port</option></term>
123         <listitem>
124           <para>The TCP port on which <command>nbd-server</command> is
125             running at the server.</para>
126         </listitem>
127       </varlistentry>
128       <varlistentry>
129         <term><option>nbd-device</option></term>
130         <listitem>
131           <para>The block special file this nbd-client should connect
132             to.</para>
133         </listitem>
134       </varlistentry>
135       <varlistentry>
136         <term>-c</term>
137         <listitem>
138           <para>Check whether the specified nbd device is
139           connected.</para>
140           <para>If the device is connected, &dhpackage; will exit
141           with an exit state of 0 and print the PID of the &dhpackage;
142           instance that connected it to stdout.
143           <para>If the device is not
144           connected or does not exist (for example because the nbd
145           module was not loaded), &dhpackage; will exit with an exit
146           state of 1 and not print anything on stdout.</para>
147           <para>If an error occurred, &dhpackage; will exit with an exit
148           state of 2, and not print anything on stdout either.</para>
149         </listitem>
150       </varlistentry>
151       <varlistentry>
152         <term>-d</term>
153         <listitem>
154           <para>Disconnect the specified nbd device from the
155           server</para>
156         </listitem>
157       </varlistentry>
158       <varlistentry>
159         <term>-persist</term>
160         <listitem>
161           <para>When this option is specified, &dhpackage; will
162             immediately try to reconnect an nbd device if the
163             connection ever drops unexpectedly due to a lost
164             server or something similar.</para>
165         </listitem>
166       </varlistentry>
167       <varlistentry>
168         <term><option>-sdp</option></term>
169         <listitem>
170           <para>Connect to the server using the Socket Direct Protocol
171             (SDP), rather than IP. See nbd-server(1) for details.
172           </para>
173         </listitem>
174       </varlistentry>
175       <varlistentry>
176         <term><option>-swap</option></term>
177         <listitem>
178           <para>Specifies that this NBD device will be used as
179           swapspace. This option attempts to prevent deadlocks by
180           performing mlockall() at an appropriate time. It does not
181           however guarantee that such deadlocks can be avoided.</para>
182         </listitem>
183       </varlistentry>
184       <varlistentry>
185         <term><option>-nofork</option></term>
186         <listitem>
187           <para>Specifies that the NBD client should not detach and
188           daemonize itself. This is mostly useful for debugging.</para>
189       </varlistentry>
190     </variablelist>
191   </refsect1>
192   <refsect1>
193     <title>EXAMPLES</title>
194
195     <para>Some examples of nbd-client usage:</para>
196     <itemizedlist mark="none">
197       <listitem>
198         <para>To connect to a server running on port 2000 at host
199           "server.domain.com", using the client's block special file
200           "/dev/nb0":</para>
201         <para><command>nbd-client server.domain.com 2000
202           /dev/nb0</command></para>
203       </listitem>
204       <listitem>
205         <para>To connect to a server running on port 2001 at host
206           "swapserver.domain.com", using the client's block special
207           file "/dev/nb1", for swap purposes:</para>
208         <para><command>nbd-client swapserver.domain.com 2001 /dev/nb1
209           -swap</command></para>
210       </listitem>
211       <listitem>
212         <para>To disconnect the above connection again (after making
213           sure the block special file is not in use anymore):</para>
214         <para><command>nbd-client -d /dev/nb1</command></para>
215       </listitem>
216     </itemizedlist>
217   </refsect1>
218   <refsect1>
219     <title>SEE ALSO</title>
220
221     <para>nbd-server (1).</para>
222
223   </refsect1>
224   <refsect1>
225     <title>AUTHOR</title>
226     <para>The NBD kernel module and the NBD tools have been written by
227     Pavel Macheck (pavel@ucw.cz).</para>
228
229     <para>The kernel module is now maintained by Paul Clements
230     (Paul.Clements@steeleye.com), while the userland tools are maintained by
231     Wouter Verhelst (wouter@debian.org)</para>
232
233     <para>This manual page was written by &dhusername; (&dhemail;) for
234     the &debian; system (but may be used by others).  Permission is
235     granted to copy, distribute and/or modify this document under the
236     terms of the <acronym>GNU</acronym> General Public License,
237     version 2, as published by the Free Software Foundation.</para>
238
239   </refsect1>
240 </refentry>
241
242 <!-- Keep this comment at the end of the file
243 Local variables:
244 mode: sgml
245 sgml-omittag:t
246 sgml-shorttag:t
247 sgml-minimize-attributes:nil
248 sgml-always-quote-attributes:t
249 sgml-indent-step:2
250 sgml-indent-data:t
251 sgml-parent-document:nil
252 sgml-default-dtd-file:nil
253 sgml-exposed-tags:nil
254 sgml-local-catalogs:nil
255 sgml-local-ecat-files:nil
256 End:
257 -->