Whamcloud - gitweb
Lustre 2.x Operations Manual as Docbook 5.0
[doc/manual.git] / SystemConfigurationUtilities.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <article version="5.0" xml:lang="en-US" xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink">
3   <info>
4     <title>System Configuration Utilities</title>
5   </info>
6   <informaltable frame="none">
7     <tgroup cols="2">
8       <colspec colname="c1" colwidth="50*"/>
9       <colspec colname="c2" colwidth="50*"/>
10       
11       
12       <tbody>
13         <row>
14           <entry align="left"><para>Lustre 2.0 Operations Manual</para></entry>
15           <entry align="right" valign="top"><para><link xl:href="index.html"><inlinemediaobject><imageobject role="html">
16                     <imagedata contentdepth="26" contentwidth="30" fileref="./shared/toc01.gif" scalefit="1"/>
17                   </imageobject>
18 <imageobject role="fo">
19                     <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/toc01.gif" scalefit="1" width="100%"/>
20                   </imageobject>
21 </inlinemediaobject></link><link xl:href="ConfigurationFilesModuleParameters.html"><inlinemediaobject><imageobject role="html">
22                     <imagedata contentdepth="26" contentwidth="30" fileref="./shared/prev01.gif" scalefit="1"/>
23                   </imageobject>
24 <imageobject role="fo">
25                     <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/prev01.gif" scalefit="1" width="100%"/>
26                   </imageobject>
27 </inlinemediaobject></link><link xl:href="Glossary.html"><inlinemediaobject><imageobject role="html">
28                     <imagedata contentdepth="26" contentwidth="30" fileref="./shared/next01.gif" scalefit="1"/>
29                   </imageobject>
30 <imageobject role="fo">
31                     <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/next01.gif" scalefit="1" width="100%"/>
32                   </imageobject>
33 </inlinemediaobject></link><link xl:href="ix.html"><inlinemediaobject><imageobject role="html">
34                     <imagedata contentdepth="26" contentwidth="30" fileref="./shared/index01.gif" scalefit="1"/>
35                   </imageobject>
36 <imageobject role="fo">
37                     <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/index01.gif" scalefit="1" width="100%"/>
38                   </imageobject>
39 </inlinemediaobject></link></para></entry>
40         </row>
41       </tbody>
42     </tgroup>
43   </informaltable>
44   <para><link xl:href=""/></para>
45   <informaltable frame="none">
46     <tgroup cols="1">
47       <colspec colname="c1" colwidth="100*"/>
48       
49       <tbody>
50         <row>
51           <entry align="right"><para><anchor xml:id="dbdoclet.50438219_pgfId-874" xreflabel=""/>C H A P T E R  36</para></entry>
52         </row>
53       </tbody>
54     </tgroup>
55   </informaltable>
56   <informaltable frame="none">
57     <tgroup cols="1">
58       <colspec colname="c1" colwidth="100*"/>
59       
60       <tbody>
61         <row>
62           <entry align="right"><para><anchor xml:id="dbdoclet.50438219_pgfId-5529" xreflabel=""/><anchor xml:id="dbdoclet.50438219_66186" xreflabel=""/>System Configuration Utilities</para></entry>
63         </row>
64       </tbody>
65     </tgroup>
66   </informaltable>
67   <para><anchor xml:id="dbdoclet.50438219_pgfId-1294056" xreflabel=""/>This chapter includes system configuration utilities and includes the following sections:</para>
68   <itemizedlist><listitem>
69       <para><anchor xml:id="dbdoclet.50438219_pgfId-1294068" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_55923">e2scan</link></para>
70     </listitem>
71 <listitem>
72       <para> </para>
73     </listitem>
74 <listitem>
75       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317533" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_76969">l_getidentity</link></para>
76     </listitem>
77 <listitem>
78       <para> </para>
79     </listitem>
80 <listitem>
81       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317537" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_38274">lctl</link></para>
82     </listitem>
83 <listitem>
84       <para> </para>
85     </listitem>
86 <listitem>
87       <para><anchor xml:id="dbdoclet.50438219_pgfId-1318294" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_58217">ll_decode_filter_fid</link></para>
88     </listitem>
89 <listitem>
90       <para> </para>
91     </listitem>
92 <listitem>
93       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317857" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_44971">ll_recover_lost_found_objs</link></para>
94     </listitem>
95 <listitem>
96       <para> </para>
97     </listitem>
98 <listitem>
99       <para><anchor xml:id="dbdoclet.50438219_pgfId-1316517" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_84890">llobdstat</link></para>
100     </listitem>
101 <listitem>
102       <para> </para>
103     </listitem>
104 <listitem>
105       <para><anchor xml:id="dbdoclet.50438219_pgfId-1316684" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_90386">llog_reader</link></para>
106     </listitem>
107 <listitem>
108       <para> </para>
109     </listitem>
110 <listitem>
111       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317852" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_23232">llstat</link></para>
112     </listitem>
113 <listitem>
114       <para> </para>
115     </listitem>
116 <listitem>
117       <para><anchor xml:id="dbdoclet.50438219_pgfId-1318288" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_23648">llverdev</link></para>
118     </listitem>
119 <listitem>
120       <para> </para>
121     </listitem>
122 <listitem>
123       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317682" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_64286">lshowmount</link></para>
124     </listitem>
125 <listitem>
126       <para> </para>
127     </listitem>
128 <listitem>
129       <para><anchor xml:id="dbdoclet.50438219_pgfId-1318180" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_90218">lst</link></para>
130     </listitem>
131 <listitem>
132       <para> </para>
133     </listitem>
134 <listitem>
135       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317477" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_54734">lustre_rmmod.sh</link></para>
136     </listitem>
137 <listitem>
138       <para> </para>
139     </listitem>
140 <listitem>
141       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317370" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_63667">lustre_rsync</link></para>
142     </listitem>
143 <listitem>
144       <para> </para>
145     </listitem>
146 <listitem>
147       <para><anchor xml:id="dbdoclet.50438219_pgfId-1316689" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_75432">mkfs.lustre</link></para>
148     </listitem>
149 <listitem>
150       <para> </para>
151     </listitem>
152 <listitem>
153       <para><anchor xml:id="dbdoclet.50438219_pgfId-1294072" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_12635">mount.lustre</link></para>
154     </listitem>
155 <listitem>
156       <para> </para>
157     </listitem>
158 <listitem>
159       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317985" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_82679">plot-llstat</link></para>
160     </listitem>
161 <listitem>
162       <para> </para>
163     </listitem>
164 <listitem>
165       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317979" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_51496">routerstat</link></para>
166     </listitem>
167 <listitem>
168       <para> </para>
169     </listitem>
170 <listitem>
171       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317358" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_39574">tunefs.lustre</link></para>
172     </listitem>
173 <listitem>
174       <para> </para>
175     </listitem>
176 <listitem>
177       <para><anchor xml:id="dbdoclet.50438219_pgfId-1294076" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_99928">Additional System Configuration Utilities</link></para>
178     </listitem>
179 <listitem>
180       <para> </para>
181     </listitem>
182 </itemizedlist>
183   <section remap="h2">
184     <title><anchor xml:id="dbdoclet.50438219_pgfId-1317399" xreflabel=""/></title>
185     <section remap="h2">
186       <title>36.1 <anchor xml:id="dbdoclet.50438219_55923" xreflabel=""/>e2<anchor xml:id="dbdoclet.50438219_marker-1317398" xreflabel=""/>scan</title>
187       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317400" xreflabel=""/>The e2scan utility is an ext2 file system-modified inode scan program. The e2scan program uses libext2fs to find inodes with ctime or mtime newer than a given time and prints out their pathname. Use e2scan to efficiently generate lists of files that have been modified. The e2scan tool is included in the e2fsprogs package, located at:</para>
188       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317402" xreflabel=""/><link xl:href="http://downloads.lustre.org/public/tools/e2fsprogs/">http://downloads.lustre.org/public/tools/e2fsprogs/</link></para>
189       <section remap="h5">
190         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317403" xreflabel=""/>Synopsis</title>
191         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317404" xreflabel=""/>e2scan [options] [-f file] block_device
192 </screen>
193       </section>
194       <section remap="h5">
195         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317405" xreflabel=""/>Description</title>
196         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317406" xreflabel=""/>When invoked, the e2scan utility iterates all inodes on the block device, finds modified inodes, and prints their inode numbers. A similar iterator, using libext2fs(5), builds a table (called parent database) which lists the parent node for each inode. With a lookup function, you can reconstruct modified pathnames from root.</para>
197       </section>
198       <section remap="h5">
199         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317430" xreflabel=""/>Options</title>
200         <informaltable frame="all">
201           <tgroup cols="2">
202             <colspec colname="c1" colwidth="50*"/>
203             <colspec colname="c2" colwidth="50*"/>
204             <thead>
205               <row>
206                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317409" xreflabel=""/>Option</emphasis></para></entry>
207                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317411" xreflabel=""/>Description</emphasis></para></entry>
208               </row>
209             </thead>
210             <tbody>
211               <row>
212                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317413" xreflabel=""/><emphasis role="bold">-b inode buffer blocks</emphasis></para></entry>
213                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317415" xreflabel=""/>Sets the readahead inode blocks to get excellent performance when scanning the block device.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317416" xreflabel=""/> </para></entry>
214               </row>
215               <row>
216                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317418" xreflabel=""/><emphasis role="bold">-o output file</emphasis></para></entry>
217                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317420" xreflabel=""/>If an output file is specified, modified pathnames are written to this file. Otherwise, modified parameters are written to stdout.</para></entry>
218               </row>
219               <row>
220                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317422" xreflabel=""/><emphasis role="bold">-t inode | pathname</emphasis></para></entry>
221                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317424" xreflabel=""/>Sets the e2scan type if type is inode. The e2scan utility prints modified inode numbers to stdout. By default, the type is set as pathname.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317425" xreflabel=""/>The e2scan utility lists modified pathnames based on modified inode numbers.</para></entry>
222               </row>
223               <row>
224                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317427" xreflabel=""/><emphasis role="bold">-u</emphasis></para></entry>
225                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317429" xreflabel=""/>Rebuilds the parent database from scratch. Otherwise, the current parent database is used.</para></entry>
226               </row>
227             </tbody>
228           </tgroup>
229         </informaltable>
230       </section>
231     </section>
232     <section remap="h2">
233       <title>36.2 <anchor xml:id="dbdoclet.50438219_76969" xreflabel=""/>l_<anchor xml:id="dbdoclet.50438219_marker-1318227" xreflabel=""/>getidentity</title>
234       <para><anchor xml:id="dbdoclet.50438219_pgfId-1318229" xreflabel=""/>The l_getidentity utility handles Lustre user / group cache upcall.</para>
235       <section remap="h5">
236         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318230" xreflabel=""/>Synopsis</title>
237         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318231" xreflabel=""/>l_getidentity {mdtname} {uid}
238 </screen>
239       </section>
240       <section remap="h5">
241         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318232" xreflabel=""/>Description</title>
242         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318233" xreflabel=""/>The group upcall file contains the path to an executable file that, when properly installed, is invoked to resolve a numeric UID to a group membership list. This utility should complete the mds_grp_downcall_data structure and write it to the /proc/fs/lustre/mdt/${FSNAME}-MDT{xxxx}/identity_info pseudo-file.</para>
243         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318234" xreflabel=""/>The l_getidentity utility is the reference implementation of the user or group cache upcall.</para>
244       </section>
245       <section remap="h5">
246         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318248" xreflabel=""/>Options</title>
247         <informaltable frame="all">
248           <tgroup cols="2">
249             <colspec colname="c1" colwidth="50*"/>
250             <colspec colname="c2" colwidth="50*"/>
251             <thead>
252               <row>
253                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1318237" xreflabel=""/>Option</emphasis></para></entry>
254                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1318239" xreflabel=""/>Description</emphasis></para></entry>
255               </row>
256             </thead>
257             <tbody>
258               <row>
259                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318241" xreflabel=""/><emphasis role="bold">mdtname</emphasis></para></entry>
260                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318243" xreflabel=""/>Metadata server target name</para></entry>
261               </row>
262               <row>
263                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318245" xreflabel=""/><emphasis role="bold">uid</emphasis></para></entry>
264                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318247" xreflabel=""/>User identifier</para></entry>
265               </row>
266             </tbody>
267           </tgroup>
268         </informaltable>
269       </section>
270       <section remap="h5">
271         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318249" xreflabel=""/>Files</title>
272         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318250" xreflabel=""/>The l_getidentity files are located at:</para>
273         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318251" xreflabel=""/>/proc/fs/lustre/mdt/${FSNAME}-MDT{xxxx}/identity_upcall
274 </screen>
275       </section>
276     </section>
277     <section remap="h2">
278       <title>36.3 <anchor xml:id="dbdoclet.50438219_38274" xreflabel=""/>lc<anchor xml:id="dbdoclet.50438219_marker-1302539" xreflabel=""/>tl</title>
279       <para><anchor xml:id="dbdoclet.50438219_pgfId-1302541" xreflabel=""/>The lctl utility is used for root control and configuration. With lctl you can directly control Lustre via an ioctl interface, allowing various configuration, maintenance and debugging features to be accessed.</para>
280       <section remap="h5">
281         <title><anchor xml:id="dbdoclet.50438219_pgfId-1294259" xreflabel=""/>Synopsis</title>
282         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1314608" xreflabel=""/>lctl
283 <anchor xml:id="dbdoclet.50438219_pgfId-1314609" xreflabel=""/>lctl --device &lt;devno&gt;<emphasis/>&lt;command [args]&gt;
284 </screen>
285       </section>
286       <section remap="h5">
287         <title><anchor xml:id="dbdoclet.50438219_pgfId-1314610" xreflabel=""/>Description</title>
288         <para><anchor xml:id="dbdoclet.50438219_pgfId-1314611" xreflabel=""/>The lctl utility can be invoked in interactive mode by issuing the lctl command. After that, commands are issued as shown below. The most common lctl commands are:</para>
289         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1314612" xreflabel=""/>dl
290 <anchor xml:id="dbdoclet.50438219_pgfId-1314613" xreflabel=""/>dk
291 <anchor xml:id="dbdoclet.50438219_pgfId-1314614" xreflabel=""/>device
292 <anchor xml:id="dbdoclet.50438219_pgfId-1314615" xreflabel=""/>network &lt;<emphasis>up/down</emphasis>&gt;
293 <anchor xml:id="dbdoclet.50438219_pgfId-1314616" xreflabel=""/>list_nids
294 <anchor xml:id="dbdoclet.50438219_pgfId-1314617" xreflabel=""/>ping <emphasis>nid</emphasis><anchor xml:id="dbdoclet.50438219_pgfId-1314618" xreflabel=""/>help
295 <anchor xml:id="dbdoclet.50438219_pgfId-1314619" xreflabel=""/>quit
296 </screen>
297         <para><anchor xml:id="dbdoclet.50438219_pgfId-1314620" xreflabel=""/>For a complete list of available commands, type help at the lctl prompt. To get basic help on command meaning and syntax, type help<emphasis>command</emphasis>. Command completion is activated with the TAB key, and command history is available via the up- and down-arrow keys.</para>
298         <para><anchor xml:id="dbdoclet.50438219_pgfId-1314621" xreflabel=""/>For non-interactive use, use the second invocation, which runs the command after connecting to the device.</para>
299       </section>
300       <section remap="h5">
301         <title><anchor xml:id="dbdoclet.50438219_pgfId-1311076" xreflabel=""/>Setting Parameters with lctl</title>
302         <para><anchor xml:id="dbdoclet.50438219_pgfId-1314629" xreflabel=""/>Lustre parameters are not always accessible using the procfs interface, as it is platform-specific. As a solution, lctl {get,set}_param has been introduced as a platform-independent interface to the Lustre tunables. Avoid direct references to /proc/{fs,sys}/{lustre,lnet}. For future portability, use lctl {get,set}_param .</para>
303         <para><anchor xml:id="dbdoclet.50438219_pgfId-1314630" xreflabel=""/>When the file system is running, use the lctl set_param command to set temporary parameters (mapping to items in /proc/{fs,sys}/{lnet,lustre}). The lctl set_param command uses this syntax:</para>
304         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1314631" xreflabel=""/>lctl set_param [-n] &lt;obdtype&gt;.&lt;obdname&gt;.&lt;proc_file_name&gt;=&lt;value&gt;
305 </screen>
306         <para><anchor xml:id="dbdoclet.50438219_pgfId-1314632" xreflabel=""/>For example:</para>
307         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1314633" xreflabel=""/>$ lctl set_param ldlm.namespaces.*osc*.lru_size=$((NR_CPU*100))
308 </screen>
309         <para><anchor xml:id="dbdoclet.50438219_pgfId-1314634" xreflabel=""/>Many permanent parameters can be set with lctl conf_param. In general, lctl conf_param can be used to specify any parameter settable in a /proc/fs/lustre file, with its own OBD device. The lctl conf_param command uses this syntax:</para>
310         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1314635" xreflabel=""/>&lt;obd|fsname&gt;.&lt;obdtype&gt;.&lt;proc_file_name&gt;=&lt;value&gt;) 
311 </screen>
312         <para><anchor xml:id="dbdoclet.50438219_pgfId-1314636" xreflabel=""/>For example:</para>
313         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1314637" xreflabel=""/>$ lctl conf_param testfs-MDT0000.mdt.group_upcall=NONE 
314 <anchor xml:id="dbdoclet.50438219_pgfId-1314638" xreflabel=""/>$ lctl conf_param testfs.llite.max_read_ahead_mb=16 
315 </screen>
316         <informaltable frame="none">
317           <tgroup cols="2">
318             <colspec colname="c1" colwidth="5*"/>
319             <colspec colname="c2" colwidth="95*"/>
320             
321             
322             <tbody>
323               <row>
324                 <entry><para><inlinemediaobject><imageobject role="html">
325                         <imagedata fileref="./shared/caution.gif" scalefit="1"/>
326                       </imageobject>
327 <imageobject role="fo">
328                         <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/caution.gif" scalefit="1" width="100%"/>
329                       </imageobject>
330 </inlinemediaobject></para></entry>
331                 <entry><para><emphasis role="bold">Caution -</emphasis><anchor xml:id="dbdoclet.50438219_pgfId-1314639" xreflabel=""/>The lctlconf_param command permanently sets parameters in the file system configuration.</para></entry>
332               </row>
333             </tbody>
334           </tgroup>
335         </informaltable>
336          <para><anchor xml:id="dbdoclet.50438219_pgfId-1314640" xreflabel=""/>To get current Lustre parameter settings, use the lctl get_param command with this syntax:</para>
337         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1314641" xreflabel=""/>lctl get_param [-n] &lt;obdtype&gt;.&lt;obdname&gt;.&lt;proc_file_name&gt;
338 </screen>
339         <para><anchor xml:id="dbdoclet.50438219_pgfId-1314642" xreflabel=""/>For example:</para>
340         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1314643" xreflabel=""/>$ lctl get_param -n ost.*.ost_io.timeouts 
341 </screen>
342          <para><anchor xml:id="dbdoclet.50438219_pgfId-1314644" xreflabel=""/>To list Lustre parameters that are available to set, use the lctl list_param command, with this syntax:</para>
343         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1311097" xreflabel=""/>lctl list_param [-n] &lt;obdtype&gt;.&lt;obdname&gt;
344 </screen>
345         <para><anchor xml:id="dbdoclet.50438219_pgfId-1311098" xreflabel=""/>For example:</para>
346         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1314652" xreflabel=""/>$ lctl list_param obdfilter.lustre-OST0000
347 </screen>
348         <para><anchor xml:id="dbdoclet.50438219_pgfId-1314653" xreflabel=""/>For more information on using lctl to set temporary and permanent parameters, see <link xl:href="LustreOperations.html#50438194_51490">Setting Parameters with lctl</link>.</para>
349         <para><anchor xml:id="dbdoclet.50438219_pgfId-1302704" xreflabel=""/><emphasis role="bold">Network Configuration</emphasis></para>
350         <informaltable frame="all">
351           <tgroup cols="2">
352             <colspec colname="c1" colwidth="50*"/>
353             <colspec colname="c2" colwidth="50*"/>
354             <thead>
355               <row>
356                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1304902" xreflabel=""/>Option</emphasis></para></entry>
357                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1304907" xreflabel=""/>Description</emphasis></para></entry>
358               </row>
359             </thead>
360             <tbody>
361               <row>
362                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314664" xreflabel=""/><emphasis role="bold">network</emphasis> &lt;<emphasis>up/down</emphasis>&gt;|&lt;<emphasis>tcp/elan/myrinet</emphasis>&gt;</para></entry>
363                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314668" xreflabel=""/>Starts or stops LNET, or selects a network type for other <emphasis role="bold">lctl</emphasis> LNET commands.</para></entry>
364               </row>
365               <row>
366                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314670" xreflabel=""/><emphasis role="bold">list_nids</emphasis></para></entry>
367                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314674" xreflabel=""/>Prints all NIDs on the local node. LNET must be running.</para></entry>
368               </row>
369               <row>
370                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314676" xreflabel=""/><emphasis role="bold">which_nid</emphasis> &lt;<emphasis>nidlist</emphasis>&gt;</para></entry>
371                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314680" xreflabel=""/>From a list of NIDs for a remote node, identifies the NID on which interface communication will occur.</para></entry>
372               </row>
373               <row>
374                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314682" xreflabel=""/><emphasis role="bold">ping</emphasis> &lt;<emphasis>nid</emphasis>&gt;</para></entry>
375                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314686" xreflabel=""/>Checks LNET connectivity via an LNET ping. This uses the fabric appropriate to the specified NID.</para></entry>
376               </row>
377               <row>
378                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314692" xreflabel=""/><emphasis role="bold">interface_list</emphasis></para></entry>
379                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314696" xreflabel=""/>Prints the network interface information for a given <emphasis role="bold">network</emphasis> type.</para></entry>
380               </row>
381               <row>
382                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314698" xreflabel=""/><emphasis role="bold">peer_list</emphasis></para></entry>
383                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314702" xreflabel=""/>Prints the known peers for a given <emphasis role="bold">network</emphasis> type.</para></entry>
384               </row>
385               <row>
386                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314704" xreflabel=""/><emphasis role="bold">conn_list</emphasis></para></entry>
387                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314708" xreflabel=""/>Prints all the connected remote NIDs for a given <emphasis role="bold">network</emphasis> type.</para></entry>
388               </row>
389               <row>
390                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314710" xreflabel=""/><emphasis role="bold">active_tx</emphasis></para></entry>
391                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314714" xreflabel=""/>This command prints active transmits. It is only used for the Elan <emphasis role="bold">network</emphasis> type.</para></entry>
392               </row>
393               <row>
394                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314716" xreflabel=""/><emphasis role="bold">route_list</emphasis></para></entry>
395                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314720" xreflabel=""/>Prints the complete routing table.</para></entry>
396               </row>
397             </tbody>
398           </tgroup>
399         </informaltable>
400          <para><anchor xml:id="dbdoclet.50438219_pgfId-1312839" xreflabel=""/><emphasis role="bold">Device Selection</emphasis></para>
401         <informaltable frame="all">
402           <tgroup cols="3">
403             <colspec colname="c1" colwidth="33*"/>
404             <colspec colname="c2" colwidth="33*"/>
405             <colspec colname="c3" colwidth="33*"/>
406             <thead>
407               <row>
408                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1312822" xreflabel=""/>Option</emphasis></para></entry>
409                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1312824" xreflabel=""/> </emphasis></para></entry>
410                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1312826" xreflabel=""/>Description</emphasis></para></entry>
411               </row>
412             </thead>
413             <tbody>
414               <row>
415                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314726" xreflabel=""/><emphasis role="bold">device</emphasis> &lt;<emphasis>devname</emphasis>&gt;</para></entry>
416                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314728" xreflabel=""/> </para></entry>
417                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314730" xreflabel=""/>This selects the specified OBD device. All other commands depend on the device being set.</para></entry>
418               </row>
419               <row>
420                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314732" xreflabel=""/><emphasis role="bold">device_list</emphasis></para></entry>
421                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314734" xreflabel=""/> </para></entry>
422                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314736" xreflabel=""/>Shows the local Lustre OBDs, a/k/a <emphasis role="bold">dl</emphasis>.</para></entry>
423               </row>
424             </tbody>
425           </tgroup>
426         </informaltable>
427          <para><anchor xml:id="dbdoclet.50438219_pgfId-1312818" xreflabel=""/><emphasis role="bold">Device Operations</emphasis></para>
428         <informaltable frame="all">
429           <tgroup cols="3">
430             <colspec colname="c1" colwidth="33*"/>
431             <colspec colname="c2" colwidth="33*"/>
432             <colspec colname="c3" colwidth="33*"/>
433             <thead>
434               <row>
435                 <entry nameend="c2" namest="c1"><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1313502" xreflabel=""/>Option</emphasis></para></entry>
436                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1313506" xreflabel=""/>Description</emphasis></para></entry>
437               </row>
438             </thead>
439             <tbody>
440               <row>
441                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314742" xreflabel=""/><emphasis role="bold">list_param</emphasis><emphasis>[-F|-R]</emphasis> &lt;<emphasis>param_path ...</emphasis>&gt;</para></entry>
442                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314746" xreflabel=""/>Lists the Lustre or LNET parameter name.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1314747" xreflabel=""/> </para></entry>
443               </row>
444               <row>
445                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314749" xreflabel=""/> </para></entry>
446                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314751" xreflabel=""/>-<emphasis role="bold">F</emphasis></para></entry>
447                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314753" xreflabel=""/>Adds &apos;/&apos;, &apos;@&apos; or &apos;=&apos; for directories, symlinks and writeable files, respectively.</para></entry>
448               </row>
449               <row>
450                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314755" xreflabel=""/> </para></entry>
451                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314757" xreflabel=""/>-<emphasis role="bold">R</emphasis></para></entry>
452                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314759" xreflabel=""/>Recursively lists all parameters under the specified path. If <emphasis>param_path</emphasis> is unspecified, all parameters are shown.</para></entry>
453               </row>
454               <row>
455                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314765" xreflabel=""/><emphasis role="bold">get_param</emphasis><emphasis>[-n|-N|-F]</emphasis> &lt;<emphasis>param_path ...</emphasis>&gt;</para></entry>
456                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314769" xreflabel=""/>Gets the value of a Lustre or LNET parameter from the specified path.</para></entry>
457               </row>
458               <row>
459                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314771" xreflabel=""/> </para></entry>
460                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314773" xreflabel=""/><emphasis role="bold">-n</emphasis></para></entry>
461                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314775" xreflabel=""/>Prints only the parameter value and not the parameter name.</para></entry>
462               </row>
463               <row>
464                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314777" xreflabel=""/> </para></entry>
465                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314779" xreflabel=""/><emphasis role="bold">-N</emphasis></para></entry>
466                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314781" xreflabel=""/>Prints only matched parameter names and not the values; especially useful when using patterns.</para></entry>
467               </row>
468               <row>
469                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314783" xreflabel=""/> </para></entry>
470                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314785" xreflabel=""/><emphasis role="bold">-F</emphasis></para></entry>
471                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314787" xreflabel=""/>When <emphasis role="bold">-N</emphasis> is specified, adds &apos;/&apos;, &apos;@&apos; or &apos;=&apos; for directories, symlinks and writeable files, respectively.</para></entry>
472               </row>
473               <row>
474                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314789" xreflabel=""/><emphasis role="bold">set_param</emphasis><emphasis>[-n]</emphasis><emphasis>&lt;param_path=value...&gt;</emphasis></para></entry>
475                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314793" xreflabel=""/>Sets the value of a Lustre or LNET parameter from the specified path.</para></entry>
476               </row>
477               <row>
478                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314812" xreflabel=""/> </para></entry>
479                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314814" xreflabel=""/><emphasis role="bold">-n</emphasis></para></entry>
480                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314816" xreflabel=""/>Disables printing of the key name when printing values.</para></entry>
481               </row>
482               <row>
483                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314801" xreflabel=""/><emphasis role="bold">conf_param</emphasis><emphasis>[-d] &lt;device|fsname&gt;.&lt;parameter&gt;=&lt;value&gt;</emphasis></para></entry>
484                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314805" xreflabel=""/>Sets a permanent configuration parameter for any device via the MGS. This command must be run on the MGS node.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1314806" xreflabel=""/>All writeable parameters under <emphasis role="bold">lctl list_param</emphasis> (e.g. <emphasis>lctl list_param -F osc.*.* | grep</emphasis> =) can be permanently set using <emphasis role="bold">lctl conf_param</emphasis>, but the format is slightly different. For <emphasis role="bold">conf_param</emphasis>, the device is specified first, then the obdtype. Wildcards are not supported. Additionally, failover nodes may be added (or removed), and some system-wide parameters may be set as well (sys.at_max, sys.at_min, sys.at_extra, sys.at_early_margin, sys.at_history, sys.timeout, sys.ldlm_timeout). For system-wide parameters, &lt;device&gt; is ignored.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1314807" xreflabel=""/>For more information on setting permanent parameters and <emphasis role="bold">lctl conf_param</emphasis> command examples, see <link xl:href="LustreOperations.html#50438194_64195">Setting Permanent Parameters</link>.</para></entry>
485               </row>
486               <row>
487                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314848" xreflabel=""/> </para></entry>
488                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314850" xreflabel=""/><emphasis role="bold">-d &lt;device|fsname&gt;.&lt;parameter&gt;</emphasis></para><para><anchor xml:id="dbdoclet.50438219_pgfId-1314851" xreflabel=""/> </para></entry>
489                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314853" xreflabel=""/>Deletes a parameter setting (use the default value at the next restart). A null value for <emphasis role="bold">&lt;value&gt;</emphasis> also deletes the parameter setting.</para></entry>
490               </row>
491               <row>
492                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314842" xreflabel=""/><emphasis role="bold">activate</emphasis></para></entry>
493                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314846" xreflabel=""/>Re-activates an import after the deactivate operation. This setting is only effective until the next restart (see <emphasis role="bold">conf_param</emphasis>).</para></entry>
494               </row>
495               <row>
496                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314836" xreflabel=""/><emphasis role="bold">deactivate</emphasis></para></entry>
497                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314840" xreflabel=""/>Deactivates an import, in particular meaning do not assign new file stripes to an OSC. Running lctl deactivate on the MDS stops new objects from being allocated on the OST. Running lctl deactivate on Lustre clients causes them to return -EIO when accessing objects on the OST instead of waiting for recovery.</para></entry>
498               </row>
499               <row>
500                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314830" xreflabel=""/><emphasis role="bold">abort_recovery</emphasis></para></entry>
501                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314834" xreflabel=""/>Aborts the recovery process on a re-starting MDT or OST.</para></entry>
502               </row>
503             </tbody>
504           </tgroup>
505         </informaltable>
506          <informaltable frame="none">
507           <tgroup cols="1">
508             <colspec colname="c1" colwidth="100*"/>
509             <tbody>
510               <row>
511                 <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438219_pgfId-1312857" xreflabel=""/>Lustre tunables are not always accessible using the procfs interface, as it is platform-specific. As a solution, lctl {get,set,list}_param has been introduced as a platform-independent interface to the Lustre tunables. Avoid direct references to /proc/{fs,sys}/{lustre,lnet}. For future portability, use lctl {get,set,list}_param instead.</para></entry>
512               </row>
513             </tbody>
514           </tgroup>
515         </informaltable>
516          <para><anchor xml:id="dbdoclet.50438219_pgfId-1312745" xreflabel=""/><emphasis role="bold">Virtual Block Device Operations</emphasis></para>
517         <para><anchor xml:id="dbdoclet.50438219_pgfId-1302906" xreflabel=""/>Lustre can emulate a virtual block device upon a regular file. This emulation is needed when you are trying to set up a swap space via the file.</para>
518         <informaltable frame="all">
519           <tgroup cols="2">
520             <colspec colname="c1" colwidth="50*"/>
521             <colspec colname="c2" colwidth="50*"/>
522             <thead>
523               <row>
524                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1307850" xreflabel=""/>Option</emphasis></para></entry>
525                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1307854" xreflabel=""/>Description</emphasis></para></entry>
526               </row>
527             </thead>
528             <tbody>
529               <row>
530                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314859" xreflabel=""/><emphasis role="bold">blockdev_attach</emphasis><emphasis>&lt;file name&gt; &lt;device node&gt;</emphasis></para></entry>
531                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314863" xreflabel=""/>Attaches a regular Lustre file to a block device. If the device node does not exist, <emphasis role="bold">lctl</emphasis> creates it. We recommend that you create the device node by <emphasis role="bold">lctl</emphasis> since the emulator uses a dynamical major number.</para></entry>
532               </row>
533               <row>
534                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314865" xreflabel=""/><emphasis role="bold">blockdev_detach</emphasis><emphasis>&lt;device node&gt;</emphasis></para></entry>
535                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314869" xreflabel=""/>Detaches the virtual block device.</para></entry>
536               </row>
537               <row>
538                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314871" xreflabel=""/><emphasis role="bold">blockdev_info</emphasis><emphasis>&lt;device node&gt;</emphasis></para></entry>
539                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314875" xreflabel=""/>Provides information about the Lustre file attached to the device node.</para></entry>
540               </row>
541             </tbody>
542           </tgroup>
543         </informaltable>
544         <para><anchor xml:id="dbdoclet.50438219_pgfId-1312907" xreflabel=""/><emphasis role="bold">Changelogs</emphasis></para>
545         <informaltable frame="all">
546           <tgroup cols="2">
547             <colspec colname="c1" colwidth="50*"/>
548             <colspec colname="c2" colwidth="50*"/>
549             <thead>
550               <row>
551                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1314964" xreflabel=""/>Option</emphasis></para></entry>
552                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1314966" xreflabel=""/>Description</emphasis></para></entry>
553               </row>
554             </thead>
555             <tbody>
556               <row>
557                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314995" xreflabel=""/><emphasis role="bold">changelog_register</emphasis></para></entry>
558                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1314999" xreflabel=""/>Registers a new changelog user for a particular device. Changelog entries are not purged beyond a registered user’s set point (see <emphasis role="bold">lfs changelog_clear</emphasis>).</para></entry>
559               </row>
560               <row>
561                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315001" xreflabel=""/><emphasis role="bold">changelog_deregister</emphasis><emphasis>&lt;id&gt;</emphasis></para></entry>
562                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315005" xreflabel=""/>Unregisters an existing changelog user. If the user’s &quot;clear&quot; record number is the minimum for the device, changelog records are purged until the next minimum.</para></entry>
563               </row>
564             </tbody>
565           </tgroup>
566         </informaltable>
567         <para><anchor xml:id="dbdoclet.50438219_pgfId-1312864" xreflabel=""/><emphasis role="bold">Debug</emphasis></para>
568         <informaltable frame="all">
569           <tgroup cols="2">
570             <colspec colname="c1" colwidth="50*"/>
571             <colspec colname="c2" colwidth="50*"/>
572             <thead>
573               <row>
574                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1307958" xreflabel=""/>Option</emphasis></para></entry>
575                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1307962" xreflabel=""/>Description</emphasis></para></entry>
576               </row>
577             </thead>
578             <tbody>
579               <row>
580                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315007" xreflabel=""/><emphasis role="bold">debug_daemon</emphasis></para></entry>
581                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315011" xreflabel=""/>Starts and stops the debug daemon, and controls the output filename and size.</para></entry>
582               </row>
583               <row>
584                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315013" xreflabel=""/><emphasis role="bold">debug_kernel</emphasis><emphasis>[file] [raw]</emphasis></para></entry>
585                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315017" xreflabel=""/>Dumps the kernel debug buffer to stdout or a file.</para></entry>
586               </row>
587               <row>
588                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315019" xreflabel=""/><emphasis role="bold">debug_file</emphasis><emphasis>&lt;input&gt; [output]</emphasis></para></entry>
589                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315023" xreflabel=""/>Converts the kernel-dumped debug log from binary to plain text format.</para></entry>
590               </row>
591               <row>
592                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315025" xreflabel=""/><emphasis role="bold">clear</emphasis></para></entry>
593                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315029" xreflabel=""/>Clears the kernel debug buffer.</para></entry>
594               </row>
595               <row>
596                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315035" xreflabel=""/><emphasis role="bold">mark</emphasis><emphasis>&lt;text&gt;</emphasis></para></entry>
597                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315039" xreflabel=""/>Inserts marker text in the kernel debug buffer.</para></entry>
598               </row>
599               <row>
600                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315041" xreflabel=""/><emphasis role="bold">filter</emphasis><emphasis>&lt;subsystem id/debug mask&gt;</emphasis></para></entry>
601                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315045" xreflabel=""/>Filters kernel debug messages by subsystem or mask.</para></entry>
602               </row>
603               <row>
604                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315047" xreflabel=""/><emphasis role="bold">show</emphasis><emphasis>&lt;subsystem id/debug mask&gt;</emphasis></para></entry>
605                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315051" xreflabel=""/>Shows specific types of messages.</para></entry>
606               </row>
607               <row>
608                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315053" xreflabel=""/><emphasis role="bold">debug_list</emphasis><emphasis>&lt;subs/types&gt;</emphasis></para></entry>
609                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315057" xreflabel=""/>Lists all subsystem and debug types.</para></entry>
610               </row>
611               <row>
612                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315059" xreflabel=""/><emphasis role="bold">modules</emphasis><emphasis>&lt;path&gt;</emphasis></para></entry>
613                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315063" xreflabel=""/>Provides GDB-friendly module information.</para></entry>
614               </row>
615             </tbody>
616           </tgroup>
617         </informaltable>
618       </section>
619       <section remap="h5">
620         <title><anchor xml:id="dbdoclet.50438219_pgfId-1302703" xreflabel=""/>Options</title>
621         <para><anchor xml:id="dbdoclet.50438219_pgfId-1303112" xreflabel=""/>Use the following options to invoke lctl.</para>
622         <informaltable frame="all">
623           <tgroup cols="2">
624             <colspec colname="c1" colwidth="50*"/>
625             <colspec colname="c2" colwidth="50*"/>
626             <thead>
627               <row>
628                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1308105" xreflabel=""/>Option</emphasis></para></entry>
629                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1308109" xreflabel=""/>Description</emphasis></para></entry>
630               </row>
631             </thead>
632             <tbody>
633               <row>
634                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1308144" xreflabel=""/><emphasis role="bold">--device</emphasis></para></entry>
635                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1308153" xreflabel=""/>Device to be used for the operation (specified by name or number). See device_list.</para></entry>
636               </row>
637               <row>
638                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1308162" xreflabel=""/><emphasis role="bold">--ignore_errors | ignore_errors</emphasis></para></entry>
639                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1308171" xreflabel=""/>Ignores errors during script processing.</para></entry>
640               </row>
641             </tbody>
642           </tgroup>
643         </informaltable>
644       </section>
645       <section remap="h5">
646         <title><anchor xml:id="dbdoclet.50438219_pgfId-1303154" xreflabel=""/>Examples</title>
647         <para><anchor xml:id="dbdoclet.50438219_pgfId-1315069" xreflabel=""/><emphasis role="bold">lctl</emphasis></para>
648         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1315070" xreflabel=""/>$ lctl
649 <anchor xml:id="dbdoclet.50438219_pgfId-1315071" xreflabel=""/>lctl &gt; dl 
650 <anchor xml:id="dbdoclet.50438219_pgfId-1315072" xreflabel=""/>   0 UP mgc MGC192.168.0.20@tcp btbb24e3-7deb-2ffa-eab0-44dffe00f692 5 
651 <anchor xml:id="dbdoclet.50438219_pgfId-1315073" xreflabel=""/>   1 UP ost OSS OSS_uuid 3 
652 <anchor xml:id="dbdoclet.50438219_pgfId-1315074" xreflabel=""/>   2 UP obdfilter testfs-OST0000 testfs-OST0000_UUID 3 
653 <anchor xml:id="dbdoclet.50438219_pgfId-1315075" xreflabel=""/>lctl &gt; dk /tmp/log Debug log: 87 lines, 87 kept, 0 dropped. 
654 <anchor xml:id="dbdoclet.50438219_pgfId-1315076" xreflabel=""/>lctl &gt; quit
655 </screen>
656       </section>
657       <section remap="h5">
658         <title><anchor xml:id="dbdoclet.50438219_pgfId-1315077" xreflabel=""/>See Also</title>
659         <para><anchor xml:id="dbdoclet.50438219_pgfId-1315090" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_75432">mkfs.lustre</link>, <link xl:href="SystemConfigurationUtilities_HTML.html#50438219_12635">mount.lustre</link>, <link xl:href="SystemConfigurationUtilities_HTML.html#50438219_38274">lctl</link>, <link xl:href="UserUtilities_HTML.html#50438206_94597">lfs</link></para>
660       </section>
661     </section>
662     <section remap="h2">
663       <title>36.4 <anchor xml:id="dbdoclet.50438219_58217" xreflabel=""/>ll_decode_filter_fid</title>
664       <para><anchor xml:id="dbdoclet.50438219_pgfId-1318305" xreflabel=""/>The ll_decode_filter_fid utility displays the Lustre object ID and MDT parent FID.</para>
665       <section remap="h5">
666         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318306" xreflabel=""/>Synopsis</title>
667         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318307" xreflabel=""/>ll_decode_filter_fid object_file [object_file ...]
668 </screen>
669       </section>
670       <section remap="h5">
671         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318308" xreflabel=""/>Description</title>
672         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318309" xreflabel=""/>The ll_decode_filter_fid utility decodes and prints the Lustre OST object ID, MDT FID, stripe index for the specified OST object(s), which is stored in the &quot;trusted.fid&quot; attribute on each OST object. This is accessible to ll_decode_filter_fid when the OST filesystem is mounted locally as type ldiskfs for maintenance.</para>
673         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318310" xreflabel=""/>The &quot;trusted.fid&quot; extended attribute is stored on each OST object when it is first modified (data written or attributes set), and is not accessed or modified by Lustre after that time.</para>
674         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318311" xreflabel=""/>The OST object ID (objid) is useful in case of OST directory corruption, though normally the ll_recover_lost_found_objs(8) utility is able to reconstruct the entire OST object directory hierarchy. The MDS FID can be useful to determine which MDS inode an OST object is (or was) used by. The stripe index can be used in conjunction with other OST objects to reconstruct the layout of a file even if the MDT inode was lost.</para>
675       </section>
676       <section remap="h5">
677         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318312" xreflabel=""/>Examples</title>
678         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318313" xreflabel=""/>root@oss1# cd /mnt/ost/lost+found
679 <anchor xml:id="dbdoclet.50438219_pgfId-1318314" xreflabel=""/>root@oss1# ll_decode_filter_fid #12345[4,5,8]
680 <anchor xml:id="dbdoclet.50438219_pgfId-1318315" xreflabel=""/>#123454: objid=690670 seq=0 parent=[0x751c5:0xfce6e605:0x0]
681 <anchor xml:id="dbdoclet.50438219_pgfId-1318316" xreflabel=""/>#123455: objid=614725 seq=0 parent=[0x18d11:0xebba84eb:0x1]
682 <anchor xml:id="dbdoclet.50438219_pgfId-1318317" xreflabel=""/>#123458: objid=533088 seq=0 parent=[0x21417:0x19734d61:0x0]
683 </screen>
684         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318319" xreflabel=""/>This shows that the three files in lost+found have decimal object IDs - 690670, 614725, and 533088, respectively. The object sequence number (formerly object group) is 0 for all current OST objects.</para>
685         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318320" xreflabel=""/>The MDT parent inode FIDs are hexdecimal numbers of the form sequence:oid:idx. Since the sequence number is below 0x100000000 in all these cases, the FIDs are in the legacy Inode and Generation In FID (IGIF) namespace and are mapped directly to the MDT inode = seq and generation = oid values; the MDT inodes are 0x751c5, 0x18d11, and 0x21417 respectively. For objects with MDT parent sequence numbers above 0x200000000, this indicates that the FID needs to be mapped via the MDT Object Index (OI) file on the MDT to determine the internal inode number.</para>
686         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318321" xreflabel=""/>The idx field shows the stripe number of this OST object in the Lustre RAID-0 striped file.</para>
687       </section>
688       <section remap="h5">
689         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318322" xreflabel=""/>See Also</title>
690         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318326" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_44971">ll_recover_lost_found_objs</link></para>
691       </section>
692     </section>
693     <section remap="h2">
694       <title>36.5 <anchor xml:id="dbdoclet.50438219_44971" xreflabel=""/>ll_recover_lost_<anchor xml:id="dbdoclet.50438219_marker-1317865" xreflabel=""/>found_objs</title>
695       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317867" xreflabel=""/>The ll_recover_lost_found_objs utility helps recover Lustre OST objects (file data) from a lost and found directory and return them to their correct locations.</para>
696        <informaltable frame="none">
697         <tgroup cols="1">
698           <colspec colname="c1" colwidth="100*"/>
699           <tbody>
700             <row>
701               <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438219_pgfId-1317868" xreflabel=""/>Running the ll_recover_lost_found_objs tool is not strictly necessary to bring an OST back online, it just avoids losing access to objects that were moved to the lost and found directory due to directory corruption.</para></entry>
702             </row>
703           </tbody>
704         </tgroup>
705       </informaltable>
706       <section remap="h5">
707         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317869" xreflabel=""/>Synopsis</title>
708         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317870" xreflabel=""/>$ ll_recover_lost_found_objs [-hv] -d directory
709 </screen>
710       </section>
711       <section remap="h5">
712         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317871" xreflabel=""/>Description</title>
713         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317872" xreflabel=""/>The first time Lustre writes to an object, it saves the MDS inode number and the objid as an extended attribute on the object, so in case of directory corruption of the OST, it is possible to recover the objects. Running e2fsck fixes the corrupted OST directory, but it puts all of the objects into a lost and found directory, where they are inaccessible to Lustre. Use the ll_recover_lost_found_objs utility to recover all (or at least most) objects from a lost and found directory and return them to the O/0/d* directories.</para>
714         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317873" xreflabel=""/>To use ll_recover_lost_found_objs, mount the file system locally (using the -t ldiskfs command), run the utility and then unmount it again. The OST must not be mounted by Lustre when ll_recover_lost_found_objs is run.</para>
715       </section>
716       <section remap="h5">
717         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317892" xreflabel=""/>Options</title>
718         <informaltable frame="all">
719           <tgroup cols="2">
720             <colspec colname="c1" colwidth="50*"/>
721             <colspec colname="c2" colwidth="50*"/>
722             <thead>
723               <row>
724                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317876" xreflabel=""/>Option</emphasis></para></entry>
725                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317878" xreflabel=""/> <anchor xml:id="dbdoclet.50438219_pgfId-1317879" xreflabel=""/>Description</emphasis></para></entry>
726               </row>
727             </thead>
728             <tbody>
729               <row>
730                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317881" xreflabel=""/><emphasis role="bold">-h</emphasis></para></entry>
731                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317883" xreflabel=""/>Prints a help message</para></entry>
732               </row>
733               <row>
734                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317885" xreflabel=""/><emphasis role="bold">-v</emphasis></para></entry>
735                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317887" xreflabel=""/>Increases verbosity</para></entry>
736               </row>
737               <row>
738                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317889" xreflabel=""/><emphasis role="bold">-d</emphasis><emphasis>directory</emphasis></para></entry>
739                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317891" xreflabel=""/>Sets the lost and found directory path</para></entry>
740               </row>
741             </tbody>
742           </tgroup>
743         </informaltable>
744       </section>
745       <section remap="h5">
746         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317893" xreflabel=""/>Example</title>
747         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317894" xreflabel=""/>ll_recover_lost_found_objs -d /mnt/ost/lost+found 
748 </screen>
749       </section>
750     </section>
751     <section remap="h2">
752       <title>36.6 <anchor xml:id="dbdoclet.50438219_84890" xreflabel=""/>llobdstat</title>
753       <para><anchor xml:id="dbdoclet.50438219_pgfId-1316535" xreflabel=""/>The llobdstat utility displays OST statistics.</para>
754       <section remap="h5">
755         <title><anchor xml:id="dbdoclet.50438219_pgfId-1316536" xreflabel=""/>Synopsis</title>
756         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1316537" xreflabel=""/>llobdstat ost_name [interval]
757 </screen>
758       </section>
759       <section remap="h5">
760         <title><anchor xml:id="dbdoclet.50438219_pgfId-1316538" xreflabel=""/>Description</title>
761         <para><anchor xml:id="dbdoclet.50438219_pgfId-1316539" xreflabel=""/>The llobdstat utility displays a line of OST statistics for the given ost_name every interval seconds. It should be run directly on an OSS node. Type <emphasis>CTRL-C</emphasis> to stop statistics printing.</para>
762       </section>
763       <section remap="h5">
764         <title><anchor xml:id="dbdoclet.50438219_pgfId-1316540" xreflabel=""/>Example</title>
765         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1316541" xreflabel=""/># llobdstat liane-OST0002 1
766 <anchor xml:id="dbdoclet.50438219_pgfId-1316542" xreflabel=""/>/usr/bin/llobdstat on /proc/fs/lustre/obdfilter/liane-OST0002/stats
767 <anchor xml:id="dbdoclet.50438219_pgfId-1316543" xreflabel=""/>Processor counters run at 2800.189 MHz
768 <anchor xml:id="dbdoclet.50438219_pgfId-1316544" xreflabel=""/>Read: 1.21431e+07, Write: 9.93363e+08, create/destroy: 24/1499, stat: 34, p\
769 unch: 18
770 <anchor xml:id="dbdoclet.50438219_pgfId-1316545" xreflabel=""/>[NOTE: cx: create, dx: destroy, st: statfs, pu: punch ]
771 <anchor xml:id="dbdoclet.50438219_pgfId-1316546" xreflabel=""/>Timestamp Read-delta ReadRate Write-delta WriteRate
772 <anchor xml:id="dbdoclet.50438219_pgfId-1316547" xreflabel=""/>--------------------------------------------------------
773 <anchor xml:id="dbdoclet.50438219_pgfId-1316548" xreflabel=""/>1217026053 0.00MB 0.00MB/s 0.00MB 0.00MB/s
774 <anchor xml:id="dbdoclet.50438219_pgfId-1316549" xreflabel=""/>1217026054 0.00MB 0.00MB/s 0.00MB 0.00MB/s
775 <anchor xml:id="dbdoclet.50438219_pgfId-1316550" xreflabel=""/>1217026055 0.00MB 0.00MB/s 0.00MB 0.00MB/s
776 <anchor xml:id="dbdoclet.50438219_pgfId-1316551" xreflabel=""/>1217026056 0.00MB 0.00MB/s 0.00MB 0.00MB/s
777 <anchor xml:id="dbdoclet.50438219_pgfId-1316552" xreflabel=""/>1217026057 0.00MB 0.00MB/s 0.00MB 0.00MB/s
778 <anchor xml:id="dbdoclet.50438219_pgfId-1316553" xreflabel=""/>1217026058 0.00MB 0.00MB/s 0.00MB 0.00MB/s
779 <anchor xml:id="dbdoclet.50438219_pgfId-1316554" xreflabel=""/>1217026059 0.00MB 0.00MB/s 0.00MB 0.00MB/s st:1
780 </screen>
781       </section>
782       <section remap="h5">
783         <title><anchor xml:id="dbdoclet.50438219_pgfId-1316555" xreflabel=""/>Files</title>
784         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1316556" xreflabel=""/>/proc/fs/lustre/obdfilter/&lt;ostname&gt;/stats
785 </screen>
786       </section>
787     </section>
788     <section remap="h2">
789       <title>36.7 <anchor xml:id="dbdoclet.50438219_90386" xreflabel=""/>llog_reader</title>
790       <para><anchor xml:id="dbdoclet.50438219_pgfId-1318200" xreflabel=""/>The llog_reader utility parses Lustre’s on-disk configuration logs.</para>
791       <section remap="h5">
792         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318201" xreflabel=""/>Synopsis</title>
793         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318202" xreflabel=""/>llog_reader filename
794 </screen>
795       </section>
796       <section remap="h5">
797         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318203" xreflabel=""/>Description</title>
798         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318204" xreflabel=""/>The llog_reader utility parses the binary format of Lustre&apos;s on-disk configuration logs. Llog_reader can only read logs; use tunefs.lustre to write to them.</para>
799         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318205" xreflabel=""/>To examine a log file on a stopped Lustre server, mount its backing file system as ldiskfs, then use llog_reader to dump the log file&apos;s contents, for example:</para>
800         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318206" xreflabel=""/>mount -t ldiskfs /dev/sda /mnt/mgs 
801 <anchor xml:id="dbdoclet.50438219_pgfId-1318207" xreflabel=""/>llog_reader /mnt/mgs/CONFIGS/tfs-client
802 </screen>
803         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318208" xreflabel=""/>To examine the same log file on a running Lustre server, use the ldiskfs-enabled debugfs utility (called debug.ldiskfs on some distributions) to extract the file, for example:</para>
804         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318209" xreflabel=""/>debugfs -c -R &apos;dump CONFIGS/tfs-client /tmp/tfs-client&apos; /dev/sda 
805 <anchor xml:id="dbdoclet.50438219_pgfId-1318210" xreflabel=""/>llog_reader /tmp/tfs-client
806 </screen>
807         <informaltable frame="none">
808           <tgroup cols="2">
809             <colspec colname="c1" colwidth="5*"/>
810             <colspec colname="c2" colwidth="95*"/>
811             
812             
813             <tbody>
814               <row>
815                 <entry><para><inlinemediaobject><imageobject role="html">
816                         <imagedata fileref="./shared/caution.gif" scalefit="1"/>
817                       </imageobject>
818 <imageobject role="fo">
819                         <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/caution.gif" scalefit="1" width="100%"/>
820                       </imageobject>
821 </inlinemediaobject></para></entry>
822                 <entry><para><emphasis role="bold">Caution -</emphasis><anchor xml:id="dbdoclet.50438219_pgfId-1318211" xreflabel=""/>Although they are stored in the CONFIGS directory, mountdata files do not use the configuration log format and will confuse the llog_reader utility.</para></entry>
823               </row>
824             </tbody>
825           </tgroup>
826         </informaltable>
827       </section>
828       <section remap="h5">
829         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318212" xreflabel=""/>See Also</title>
830         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318213" xreflabel=""/>Section 21.1, Troubleshooting Lustre, <link xl:href="SystemConfigurationUtilities_HTML.html#50438219_39574">tunefs.lustre</link></para>
831       </section>
832     </section>
833     <section remap="h2">
834       <title>36.8 <anchor xml:id="dbdoclet.50438219_23232" xreflabel=""/>ll<anchor xml:id="dbdoclet.50438219_marker-1318052" xreflabel=""/>stat</title>
835       <para><anchor xml:id="dbdoclet.50438219_pgfId-1318054" xreflabel=""/>The llstat utility displays Lustre statistics.</para>
836       <section remap="h5">
837         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318055" xreflabel=""/>Synopsis</title>
838         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318056" xreflabel=""/>llstat [-c] [-g] [-i interval] stats_file
839 </screen>
840       </section>
841       <section remap="h5">
842         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318057" xreflabel=""/>Description</title>
843         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318058" xreflabel=""/>The llstat utility displays statistics from any of the Lustre statistics files that share a common format and are updated at <emphasis>interval</emphasis> seconds. To stop statistics printing, use <emphasis>ctrl</emphasis>-<emphasis>c.</emphasis></para>
844       </section>
845       <section remap="h5">
846         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318085" xreflabel=""/>Options</title>
847         <informaltable frame="all">
848           <tgroup cols="2">
849             <colspec colname="c1" colwidth="50*"/>
850             <colspec colname="c2" colwidth="50*"/>
851             <thead>
852               <row>
853                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1318061" xreflabel=""/>Option</emphasis></para></entry>
854                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1318063" xreflabel=""/> <anchor xml:id="dbdoclet.50438219_pgfId-1318064" xreflabel=""/>Description</emphasis></para></entry>
855               </row>
856             </thead>
857             <tbody>
858               <row>
859                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318066" xreflabel=""/><emphasis role="bold">-c</emphasis></para></entry>
860                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318068" xreflabel=""/>Clears the statistics file.</para></entry>
861               </row>
862               <row>
863                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318070" xreflabel=""/><emphasis role="bold">-i</emphasis></para></entry>
864                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318072" xreflabel=""/>Specifies the polling period (in seconds).</para></entry>
865               </row>
866               <row>
867                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318074" xreflabel=""/><emphasis role="bold">-g</emphasis></para></entry>
868                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318076" xreflabel=""/>Specifies graphable output format.</para></entry>
869               </row>
870               <row>
871                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318078" xreflabel=""/><emphasis role="bold">-h</emphasis></para></entry>
872                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318080" xreflabel=""/>Displays help information.</para></entry>
873               </row>
874               <row>
875                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318082" xreflabel=""/><emphasis role="bold">stats_file</emphasis></para></entry>
876                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318084" xreflabel=""/>Specifies either the full path to a statistics file or the shorthand reference, <emphasis role="bold">mds</emphasis> or <emphasis role="bold">ost</emphasis></para></entry>
877               </row>
878             </tbody>
879           </tgroup>
880         </informaltable>
881       </section>
882       <section remap="h5">
883         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318086" xreflabel=""/>Example</title>
884         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318087" xreflabel=""/>To monitor /proc/fs/lustre/ost/OSS/ost/stats at 1 second intervals, run;</para>
885         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318088" xreflabel=""/>llstat -i 1 ost
886 </screen>
887       </section>
888       <section remap="h5">
889         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318089" xreflabel=""/>Files</title>
890         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318090" xreflabel=""/>The llstat files are located at:</para>
891         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318091" xreflabel=""/>/proc/fs/lustre/mdt/MDS/*/stats
892 <anchor xml:id="dbdoclet.50438219_pgfId-1318092" xreflabel=""/>/proc/fs/lustre/mds/*/exports/*/stats
893 <anchor xml:id="dbdoclet.50438219_pgfId-1318093" xreflabel=""/>/proc/fs/lustre/mdc/*/stats
894 <anchor xml:id="dbdoclet.50438219_pgfId-1318094" xreflabel=""/>/proc/fs/lustre/ldlm/services/*/stats
895 <anchor xml:id="dbdoclet.50438219_pgfId-1318095" xreflabel=""/>/proc/fs/lustre/ldlm/namespaces/*/pool/stats
896 <anchor xml:id="dbdoclet.50438219_pgfId-1318096" xreflabel=""/>/proc/fs/lustre/mgs/MGS/exports/*/stats
897 <anchor xml:id="dbdoclet.50438219_pgfId-1318097" xreflabel=""/>/proc/fs/lustre/ost/OSS/*/stats
898 <anchor xml:id="dbdoclet.50438219_pgfId-1318098" xreflabel=""/>/proc/fs/lustre/osc/*/stats
899 <anchor xml:id="dbdoclet.50438219_pgfId-1318099" xreflabel=""/>/proc/fs/lustre/obdfilter/*/exports/*/stats
900 <anchor xml:id="dbdoclet.50438219_pgfId-1318100" xreflabel=""/>/proc/fs/lustre/obdfilter/*/stats
901 <anchor xml:id="dbdoclet.50438219_pgfId-1318101" xreflabel=""/>/proc/fs/lustre/llite/*/stats
902 </screen>
903       </section>
904     </section>
905     <section remap="h2">
906       <title>36.9 <anchor xml:id="dbdoclet.50438219_23648" xreflabel=""/>llverdev<anchor xml:id="dbdoclet.50438219_marker-1317750" xreflabel=""/></title>
907       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317752" xreflabel=""/>The llverdev verifies a block device is functioning properly over its full size.</para>
908       <section remap="h5">
909         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317753" xreflabel=""/>Synopsis</title>
910         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317754" xreflabel=""/>llverdev [-c <emphasis>chunksize</emphasis>] [-f] [-h] [-o <emphasis>offset</emphasis>] [-l] [-p] [-r] [-t <emphasis>timestamp</emphasis>] [-v] [-w] <emphasis>device</emphasis></screen>
911       </section>
912       <section remap="h5">
913         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317755" xreflabel=""/>Description</title>
914         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317756" xreflabel=""/>Sometimes kernel drivers or hardware devices have bugs that prevent them from accessing the full device size correctly, or possibly have bad sectors on disk or other problems which prevent proper data storage. There are often defects associated with major system boundaries such as 2^32 bytes, 2^31 sectors, 2^31 blocks, 2^32 blocks, etc.</para>
915         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317757" xreflabel=""/>The llverdev utility writes and verifies a unique test pattern across the entire device to ensure that data is accessible after it was written, and that data written to one part of the disk is not overwriting data on another part of the disk.</para>
916         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317758" xreflabel=""/>It is expected that llverdev will be run on large size devices (TB). It is always better to run llverdev in verbose mode, so that device testing can be easily restarted from the point where it was stopped.</para>
917         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317759" xreflabel=""/>Running a full verification can be time-consuming for very large devices. We recommend starting with a partial verification to ensure that the device is minimally sane before investing in a full verification.</para>
918       </section>
919       <section remap="h5">
920         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317827" xreflabel=""/>Options</title>
921         <informaltable frame="all">
922           <tgroup cols="3">
923             <colspec colname="c1" colwidth="33*"/>
924             <colspec colname="c2" colwidth="33*"/>
925             <colspec colname="c3" colwidth="33*"/>
926             <thead>
927               <row>
928                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317762" xreflabel=""/>Option</emphasis></para></entry>
929                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317764" xreflabel=""/> </emphasis></para></entry>
930                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317766" xreflabel=""/>Description</emphasis></para></entry>
931               </row>
932             </thead>
933             <tbody>
934               <row>
935                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317768" xreflabel=""/><emphasis role="bold">-c|--chunksize</emphasis></para></entry>
936                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317772" xreflabel=""/>I/O chunk size in bytes (default value is 1048576).</para></entry>
937               </row>
938               <row>
939                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317774" xreflabel=""/><emphasis role="bold">-f|--force</emphasis></para></entry>
940                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317778" xreflabel=""/>Forces the test to run without a confirmation that the device will be overwritten and all data will be permanently destroyed.</para></entry>
941               </row>
942               <row>
943                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317780" xreflabel=""/><emphasis role="bold">-h|--help</emphasis></para></entry>
944                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317784" xreflabel=""/>Displays a brief help message.</para></entry>
945               </row>
946               <row>
947                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317786" xreflabel=""/><emphasis role="bold">-o</emphasis><emphasis>offset</emphasis></para></entry>
948                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317790" xreflabel=""/>Offset (in kilobytes) of the start of the test (default value is 0).</para></entry>
949               </row>
950               <row>
951                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317792" xreflabel=""/><emphasis role="bold">-l|--long</emphasis></para></entry>
952                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317796" xreflabel=""/>Runs a full check, writing and then reading and verifying every block on the disk.</para></entry>
953               </row>
954               <row>
955                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317798" xreflabel=""/><emphasis role="bold">-p|--partial</emphasis></para></entry>
956                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317802" xreflabel=""/>Runs a partial check, only doing periodic checks across the device (1 GB steps).</para></entry>
957               </row>
958               <row>
959                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317804" xreflabel=""/><emphasis role="bold">-r|--read</emphasis></para></entry>
960                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317808" xreflabel=""/>Runs the test in read (verify) mode only, after having previously run the test in <emphasis role="bold">-w</emphasis> mode.</para></entry>
961               </row>
962               <row>
963                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317810" xreflabel=""/><emphasis role="bold">-t</emphasis><emphasis>timestamp</emphasis></para></entry>
964                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317814" xreflabel=""/>Sets the test start time as printed at the start of a previously-interrupted test to ensure that validation data is the same across the entire filesystem (default value is the current time()).</para></entry>
965               </row>
966               <row>
967                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317816" xreflabel=""/><emphasis role="bold">-v|--verbose</emphasis></para></entry>
968                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317820" xreflabel=""/>Runs the test in verbose mode, listing each read and write operation.</para></entry>
969               </row>
970               <row>
971                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317822" xreflabel=""/><emphasis role="bold">-w|--write</emphasis></para></entry>
972                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317826" xreflabel=""/>Runs the test in write (test-pattern) mode (default runs both read and write).</para></entry>
973               </row>
974             </tbody>
975           </tgroup>
976         </informaltable>
977       </section>
978       <section remap="h5">
979         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317828" xreflabel=""/>Examples</title>
980         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317829" xreflabel=""/>Runs a partial device verification on /dev/sda:</para>
981         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317830" xreflabel=""/>llverdev -v -p /dev/sda 
982 <anchor xml:id="dbdoclet.50438219_pgfId-1317831" xreflabel=""/>llverdev: permanently overwrite all data on /dev/sda (yes/no)? y 
983 <anchor xml:id="dbdoclet.50438219_pgfId-1317832" xreflabel=""/>llverdev: /dev/sda is 4398046511104 bytes (4096.0 GB) in size 
984 <anchor xml:id="dbdoclet.50438219_pgfId-1317833" xreflabel=""/>Timestamp: 1009839028 
985 <anchor xml:id="dbdoclet.50438219_pgfId-1317834" xreflabel=""/>Current write offset: 4096 kB
986 </screen>
987         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317835" xreflabel=""/>Continues an interrupted verification at offset 4096kB from the start of the device, using the same timestamp as the previous run:</para>
988         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317836" xreflabel=""/>llverdev -f -v -p --offset=4096 --timestamp=1009839028 /dev/sda 
989 <anchor xml:id="dbdoclet.50438219_pgfId-1317837" xreflabel=""/>llverdev: /dev/sda is 4398046511104 bytes (4096.0 GB) in size 
990 <anchor xml:id="dbdoclet.50438219_pgfId-1317838" xreflabel=""/>Timestamp: 1009839028 
991 <anchor xml:id="dbdoclet.50438219_pgfId-1317839" xreflabel=""/>write complete 
992 <anchor xml:id="dbdoclet.50438219_pgfId-1317840" xreflabel=""/>read complete 
993 </screen>
994       </section>
995     </section>
996     <section remap="h2">
997       <title>36.10 <anchor xml:id="dbdoclet.50438219_64286" xreflabel=""/>lshowmount<anchor xml:id="dbdoclet.50438219_marker-1317690" xreflabel=""/></title>
998       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317692" xreflabel=""/>The lshowmount utility shows Lustre exports.</para>
999       <section remap="h5">
1000         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317693" xreflabel=""/>Synopsis</title>
1001         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317694" xreflabel=""/>lshowmount [-ehlv]
1002 </screen>
1003       </section>
1004       <section remap="h5">
1005         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317695" xreflabel=""/>Description</title>
1006         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317696" xreflabel=""/>The lshowmount utility shows the hosts that have Lustre mounted to a server. Ths utility looks for exports from the MGS, MDS, and obdfilter.</para>
1007       </section>
1008       <section remap="h5">
1009         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317728" xreflabel=""/>Options</title>
1010         <informaltable frame="all">
1011           <tgroup cols="2">
1012             <colspec colname="c1" colwidth="50*"/>
1013             <colspec colname="c2" colwidth="50*"/>
1014             <thead>
1015           <row>
1016             <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317699" xreflabel=""/>Option</emphasis></para></entry>
1017                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317703" xreflabel=""/>Description</emphasis></para></entry>
1018               </row>
1019             </thead>
1020             <tbody>
1021               <row>
1022                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317705" xreflabel=""/><emphasis role="bold">-e|--enumerate</emphasis></para></entry>
1023                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317709" xreflabel=""/>Causes lshowmount to list each client mounted on a separate line instead of trying to compress the list of clients into a hostrange string.</para></entry>
1024               </row>
1025               <row>
1026                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317711" xreflabel=""/><emphasis role="bold">-h|--help</emphasis></para></entry>
1027                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317715" xreflabel=""/>Causes lshowmount to print out a usage message.</para></entry>
1028               </row>
1029               <row>
1030                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317717" xreflabel=""/><emphasis role="bold">-l|--lookup</emphasis></para></entry>
1031                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317721" xreflabel=""/>Causes lshowmount to try to look up the hostname for NIDs that look like IP addresses.</para></entry>
1032               </row>
1033               <row>
1034                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317723" xreflabel=""/><emphasis role="bold">-v|--verbose</emphasis></para></entry>
1035                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317727" xreflabel=""/>Causes lshowmount to output export information for each service instead of only displaying the aggregate information for all Lustre services on the server.</para></entry>
1036               </row>
1037             </tbody>
1038           </tgroup>
1039         </informaltable>
1040       </section>
1041       <section remap="h5">
1042         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317729" xreflabel=""/>Files</title>
1043         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317730" xreflabel=""/>/proc/fs/lustre/mgs/&lt;server&gt;/exports/&lt;uuid&gt;/nid /proc/fs/lustre/mds/&lt;server&gt;/expo\
1044 rts/&lt;uuid&gt;/nid /proc/fs/lustre/obdfilter/&lt;server&gt;/exports/&lt;uuid&gt;/nid
1045 </screen>
1046       </section>
1047     </section>
1048     <section remap="h2">
1049       <title>36.11 <anchor xml:id="dbdoclet.50438219_90218" xreflabel=""/>l<anchor xml:id="dbdoclet.50438219_marker-1318121" xreflabel=""/><anchor xml:id="dbdoclet.50438219_marker-1318122" xreflabel=""/>st</title>
1050       <para><anchor xml:id="dbdoclet.50438219_pgfId-1318124" xreflabel=""/>The lst utility starts LNET self-test.</para>
1051       <section remap="h5">
1052         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318125" xreflabel=""/>Synopsis</title>
1053         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318126" xreflabel=""/>lst
1054 </screen>
1055       </section>
1056       <section remap="h5">
1057         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318127" xreflabel=""/>Description</title>
1058         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318128" xreflabel=""/>LNET self-test helps site administrators confirm that Lustre Networking (LNET) has been properly installed and configured. The self-test also confirms that LNET and the network software and hardware underlying it are performing as expected.</para>
1059         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318129" xreflabel=""/>Each LNET self-test runs in the context of a session. A node can be associated with only one session at a time, to ensure that the session has exclusive use of the nodes on which it is running. A session is create, controlled and monitored from a single node; this is referred to as the self-test console.</para>
1060         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318130" xreflabel=""/>Any node may act as the self-test console. Nodes are named and allocated to a self-test session in groups. This allows all nodes in a group to be referenced by a single name.</para>
1061         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318131" xreflabel=""/>Test configurations are built by describing and running test batches. A test batch is a named collection of tests, with each test composed of a number of individual point-to-point tests running in parallel. These individual point-to-point tests are instantiated according to the test type, source group, target group and distribution specified when the test is added to the test batch.</para>
1062       </section>
1063       <section remap="h5">
1064         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318132" xreflabel=""/>Modules</title>
1065         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318133" xreflabel=""/>To run LNET self-test, load these modules: libcfs, lnet, lnet_selftest and any one of the klnds (ksocklnd, ko2iblnd...). To load all necessary modules, run modprobe lnet_selftest, which recursively loads the modules on which lnet_selftest depends.</para>
1066         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318134" xreflabel=""/>There are two types of nodes for LNET self-test: the console node and test nodes. Both node types require all previously-specified modules to be loaded. (The userspace test node does not require these modules).</para>
1067         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318135" xreflabel=""/>Test nodes can be in either kernel or in userspace. A console user can invite a kernel test node to join the test session by running lst add_group NID, but the user cannot actively add a userspace test node to the test session. However, the console user can passively accept a test node to the test session while the test node runs lst client to connect to the console.</para>
1068       </section>
1069       <section remap="h5">
1070         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318136" xreflabel=""/>Utilities</title>
1071         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318137" xreflabel=""/>LNET self-test includes two user utilities, lst and lstclient.</para>
1072         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318138" xreflabel=""/>lst is the user interface for the self-test console (run on the console node). It provides a list of commands to control the entire test system, such as create session, create test groups, etc.</para>
1073         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318139" xreflabel=""/>lstclient is the userspace self-test program which is linked with userspace LNDs and LNET. A user can invoke lstclient to join a self-test session:</para>
1074         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318140" xreflabel=""/>lstclient -sesid CONSOLE_NID group NAME
1075 </screen>
1076       </section>
1077       <section remap="h5">
1078         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318141" xreflabel=""/>Example Script</title>
1079         <para><anchor xml:id="dbdoclet.50438219_pgfId-1318142" xreflabel=""/>This is a sample LNET self-test script which simulates the traffic pattern of a set of Lustre servers on a TCP network, accessed by Lustre clients on an IB network (connected via LNET routers), with half the clients reading and half the clients writing.</para>
1080         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318143" xreflabel=""/>#!/bin/bash
1081 <anchor xml:id="dbdoclet.50438219_pgfId-1318144" xreflabel=""/>export LST_SESSION=$$
1082 <anchor xml:id="dbdoclet.50438219_pgfId-1318145" xreflabel=""/>lst new_session read/write
1083 <anchor xml:id="dbdoclet.50438219_pgfId-1318146" xreflabel=""/>lst add_group servers 192.168.10.[8,10,12-16]@tcp
1084 <anchor xml:id="dbdoclet.50438219_pgfId-1318147" xreflabel=""/>lst add_group readers 192.168.1.[1-253/2]@o2ib
1085 <anchor xml:id="dbdoclet.50438219_pgfId-1318148" xreflabel=""/>lst add_group writers 192.168.1.[2-254/2]@o2ib
1086 <anchor xml:id="dbdoclet.50438219_pgfId-1318149" xreflabel=""/>lst add_batch bulk_rw
1087 <anchor xml:id="dbdoclet.50438219_pgfId-1318150" xreflabel=""/>lst add_test --batch bulk_rw --from readers --to servers     brw read check\
1088 =simple size=1M
1089 <anchor xml:id="dbdoclet.50438219_pgfId-1318151" xreflabel=""/>lst add_test --batch bulk_rw --from writers --to servers     brw write chec\
1090 k=full size=4K
1091 <anchor xml:id="dbdoclet.50438219_pgfId-1318152" xreflabel=""/># start running
1092 <anchor xml:id="dbdoclet.50438219_pgfId-1318153" xreflabel=""/>lst run bulk_rw
1093 <anchor xml:id="dbdoclet.50438219_pgfId-1318154" xreflabel=""/># display server stats for 30 seconds
1094 <anchor xml:id="dbdoclet.50438219_pgfId-1318155" xreflabel=""/>lst stat servers &amp; sleep 30; kill $!
1095 <anchor xml:id="dbdoclet.50438219_pgfId-1318156" xreflabel=""/># tear down
1096 <anchor xml:id="dbdoclet.50438219_pgfId-1318157" xreflabel=""/>lst end_session 
1097 </screen>
1098       </section>
1099     </section>
1100     <section remap="h2">
1101       <title>36.12 <anchor xml:id="dbdoclet.50438219_54734" xreflabel=""/>lustre_<anchor xml:id="dbdoclet.50438219_marker-1317379" xreflabel=""/>rmmod.sh</title>
1102       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317381" xreflabel=""/>The lustre_rmmod.sh utility removes all Lustre and LNET modules (assuming no Lustre services are running). It is located in /usr/bin.</para>
1103       <informaltable frame="none">
1104         <tgroup cols="1">
1105           <colspec colname="c1" colwidth="100*"/>
1106           <tbody>
1107             <row>
1108               <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438219_pgfId-1317382" xreflabel=""/>The lustre_rmmod.sh utility does not work if Lustre modules are being used or if you have manually run the lctl network up command.</para></entry>
1109             </row>
1110           </tbody>
1111         </tgroup>
1112       </informaltable>
1113     </section>
1114     <section remap="h2">
1115       <title>36.13 <anchor xml:id="dbdoclet.50438219_63667" xreflabel=""/>lustre_<anchor xml:id="dbdoclet.50438219_marker-1317224" xreflabel=""/>rsync</title>
1116       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317226" xreflabel=""/>The lustre_rsync utility synchronizes (replicates) a Lustre file system to a target file system.</para>
1117       <section remap="h5">
1118         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317227" xreflabel=""/>Synopsis</title>
1119         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317228" xreflabel=""/>lustre_rsync --source|-s &lt;src&gt; --target|-t &lt;tgt&gt; 
1120 <anchor xml:id="dbdoclet.50438219_pgfId-1317229" xreflabel=""/>   --mdt|-m &lt;mdt&gt; [--user|-u &lt;user id&gt;]
1121 <anchor xml:id="dbdoclet.50438219_pgfId-1317230" xreflabel=""/>   [--xattr|-x &lt;yes|no&gt;] [--verbose|-v]
1122 <anchor xml:id="dbdoclet.50438219_pgfId-1317231" xreflabel=""/>   [--statuslog|-l &lt;log&gt;] [--dry-run] [--abort-on-err] 
1123 <anchor xml:id="dbdoclet.50438219_pgfId-1317232" xreflabel=""/> 
1124 <anchor xml:id="dbdoclet.50438219_pgfId-1317233" xreflabel=""/>lustre_rsync --statuslog|-l &lt;log&gt;
1125 <anchor xml:id="dbdoclet.50438219_pgfId-1317234" xreflabel=""/> 
1126 <anchor xml:id="dbdoclet.50438219_pgfId-1317235" xreflabel=""/>lustre_rsync --statuslog|-l &lt;log&gt; --source|-s &lt;source&gt;
1127 <anchor xml:id="dbdoclet.50438219_pgfId-1317236" xreflabel=""/>   --target|-t &lt;tgt&gt; --mdt|-m &lt;mdt&gt;
1128 </screen>
1129       </section>
1130       <section remap="h5">
1131         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317237" xreflabel=""/>Description</title>
1132         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317238" xreflabel=""/>The lustre_rsync utility is designed to synchronize (replicate) a Lustre file system (source) to another file system (target). The target can be a Lustre file system or any other type, and is a normal, usable file system. The synchronization operation is efficient and does not require directory walking, as lustre_rsync uses Lustre MDT changelogs to identify changes in the Lustre file system.</para>
1133         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317239" xreflabel=""/>Before using lustre_rsync:</para>
1134         <itemizedlist><listitem>
1135             <para><anchor xml:id="dbdoclet.50438219_pgfId-1317240" xreflabel=""/> A changelog user must be registered (see lctl (8) changelog_register)</para>
1136           </listitem>
1137 <listitem>
1138             <para> </para>
1139           </listitem>
1140 </itemizedlist>
1141         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317241" xreflabel=""/>- AND -</para>
1142         <itemizedlist><listitem>
1143             <para><anchor xml:id="dbdoclet.50438219_pgfId-1317242" xreflabel=""/> Verify that the Lustre file system (source) and the replica file system (target) are identical before the changelog user is registered. If the file systems are discrepant, use a utility, e.g. regular rsync (not lustre_rsync) to make them identical.</para>
1144           </listitem>
1145 <listitem>
1146             <para> </para>
1147           </listitem>
1148 </itemizedlist>
1149       </section>
1150       <section remap="h5">
1151         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317305" xreflabel=""/>Options</title>
1152         <informaltable frame="all">
1153           <tgroup cols="2">
1154             <colspec colname="c1" colwidth="50*"/>
1155             <colspec colname="c2" colwidth="50*"/>
1156             <thead>
1157               <row>
1158                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317245" xreflabel=""/>Option</emphasis></para></entry>
1159                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317249" xreflabel=""/>Description</emphasis></para></entry>
1160               </row>
1161             </thead>
1162             <tbody>
1163               <row>
1164                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317251" xreflabel=""/><emphasis role="bold">--source=</emphasis><emphasis>&lt;src&gt;</emphasis></para></entry>
1165                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317255" xreflabel=""/>The path to the root of the Lustre file system (source) which will be synchronized. This is a mandatory option if a valid status log created during a previous synchronization operation (--statuslog) is not specified.</para></entry>
1166               </row>
1167               <row>
1168                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317257" xreflabel=""/><emphasis role="bold">--target=</emphasis><emphasis>&lt;tgt&gt;</emphasis></para></entry>
1169                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317261" xreflabel=""/>The path to the root where the source file system will be synchronized (target). This is a mandatory option if the status log created during a previous synchronization operation (--statuslog) is not specified. This option can be repeated if multiple synchronization targets are desired.</para></entry>
1170               </row>
1171               <row>
1172                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317263" xreflabel=""/><emphasis role="bold">--mdt=</emphasis><emphasis>&lt;mdt&gt;</emphasis></para></entry>
1173                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317267" xreflabel=""/>The metadata device to be synchronized. A changelog user must be registered for this device. This is a mandatory option if a valid status log created during a previous synchronization operation (--statuslog) is not specified.</para></entry>
1174               </row>
1175               <row>
1176                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317269" xreflabel=""/><emphasis role="bold">--user=</emphasis><emphasis>&lt;user id&gt;</emphasis></para></entry>
1177                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317273" xreflabel=""/>The changelog user ID for the specified MDT. To use lustre_rsync, the changelog user must be registered. For details, see the changelog_register parameter in the lctl man page. This is a mandatory option if a valid status log created during a previous synchronization operation (--statuslog) is not specified.</para></entry>
1178               </row>
1179               <row>
1180                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317275" xreflabel=""/><emphasis role="bold">--statuslog=</emphasis><emphasis>&lt;log&gt;</emphasis></para></entry>
1181                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317279" xreflabel=""/>A log file to which synchronization status is saved. When lustre_rsync starts, the state of a previous replication is read from here. If the status log from a previous synchronization operation is specified, otherwise mandatory options like --source, --target and --mdt options may be skipped. By specifying options like --source, --target and/or --mdt in addition to the --statuslog option, parameters in the status log can be overriden. Command line options take precedence over options in the status log.</para></entry>
1182               </row>
1183               <row>
1184                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317281" xreflabel=""/><emphasis role="bold">--xattr</emphasis><emphasis>&lt;yes|no&gt;</emphasis></para></entry>
1185                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317285" xreflabel=""/>Specifies whether extended attributes (xattrs) are synchronized or not. The default is to synchronize extended attributes.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317286" xreflabel=""/>NOTE: Disabling xattrs causes Lustre striping information not to be synchronized.</para></entry>
1186               </row>
1187               <row>
1188                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317288" xreflabel=""/><emphasis role="bold">--verbose</emphasis></para></entry>
1189                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317292" xreflabel=""/>Produces a verbose output.</para></entry>
1190               </row>
1191               <row>
1192                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317294" xreflabel=""/><emphasis role="bold">--dry-run</emphasis></para></entry>
1193                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317298" xreflabel=""/>Shows the output of lustre_rsync commands (copy, mkdir, etc.) on the target file system without actually executing them.</para></entry>
1194               </row>
1195               <row>
1196                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317300" xreflabel=""/><emphasis role="bold">--abort-on-err</emphasis></para></entry>
1197                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317304" xreflabel=""/>Shows the output of lustre_rsync commands (copy, mkdir, etc.) on the target file system without actually executing them.</para></entry>
1198               </row>
1199             </tbody>
1200           </tgroup>
1201         </informaltable>
1202       </section>
1203       <section remap="h5">
1204         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317306" xreflabel=""/>Examples</title>
1205         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317307" xreflabel=""/>Register a changelog user for an MDT (e.g., MDT lustre-MDT0000).</para>
1206         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317308" xreflabel=""/>$ ssh 
1207 <anchor xml:id="dbdoclet.50438219_pgfId-1317309" xreflabel=""/>$ MDS lctl changelog_register \
1208 <anchor xml:id="dbdoclet.50438219_pgfId-1317310" xreflabel=""/>           --device lustre-MDT0000 -n 
1209 <anchor xml:id="dbdoclet.50438219_pgfId-1317311" xreflabel=""/>cl1
1210 </screen>
1211         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317312" xreflabel=""/> </para>
1212         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317313" xreflabel=""/>Synchronize/replicate a Lustre file system (/mnt/lustre) to a target file system (/mnt/target).</para>
1213         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317314" xreflabel=""/>$ lustre_rsync --source=/mnt/lustre --target=/mnt/target \ 
1214 <anchor xml:id="dbdoclet.50438219_pgfId-1317315" xreflabel=""/>           --mdt=lustre-MDT0000 --user=cl1 \ 
1215 <anchor xml:id="dbdoclet.50438219_pgfId-1317316" xreflabel=""/>           --statuslog replicate.log  --verbose 
1216 <anchor xml:id="dbdoclet.50438219_pgfId-1317317" xreflabel=""/>Lustre filesystem: lustre 
1217 <anchor xml:id="dbdoclet.50438219_pgfId-1317318" xreflabel=""/>MDT device: lustre-MDT0000 
1218 <anchor xml:id="dbdoclet.50438219_pgfId-1317319" xreflabel=""/>Source: /mnt/lustre 
1219 <anchor xml:id="dbdoclet.50438219_pgfId-1317320" xreflabel=""/>Target: /mnt/target 
1220 <anchor xml:id="dbdoclet.50438219_pgfId-1317321" xreflabel=""/>Statuslog: sync.log 
1221 <anchor xml:id="dbdoclet.50438219_pgfId-1317322" xreflabel=""/>Changelog registration: cl1 
1222 <anchor xml:id="dbdoclet.50438219_pgfId-1317323" xreflabel=""/>Starting changelog record: 0 
1223 <anchor xml:id="dbdoclet.50438219_pgfId-1317324" xreflabel=""/>Errors: 0 
1224 <anchor xml:id="dbdoclet.50438219_pgfId-1317325" xreflabel=""/>lustre_rsync took 1 seconds 
1225 <anchor xml:id="dbdoclet.50438219_pgfId-1317326" xreflabel=""/>Changelog records consumed: 22
1226 </screen>
1227         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317327" xreflabel=""/> </para>
1228         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317328" xreflabel=""/>After the file system undergoes changes, synchronize the changes with the target file system. Only the statuslog name needs to be specified, as it has all the parameters passed earlier.</para>
1229         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317329" xreflabel=""/>$ lustre_rsync --statuslog replicate.log --verbose 
1230 <anchor xml:id="dbdoclet.50438219_pgfId-1317330" xreflabel=""/>Replicating Lustre filesystem: lustre 
1231 <anchor xml:id="dbdoclet.50438219_pgfId-1317331" xreflabel=""/>MDT device: lustre-MDT0000 
1232 <anchor xml:id="dbdoclet.50438219_pgfId-1317332" xreflabel=""/>Source: /mnt/lustre 
1233 <anchor xml:id="dbdoclet.50438219_pgfId-1317333" xreflabel=""/>Target: /mnt/target 
1234 <anchor xml:id="dbdoclet.50438219_pgfId-1317334" xreflabel=""/>Statuslog: replicate.log 
1235 <anchor xml:id="dbdoclet.50438219_pgfId-1317335" xreflabel=""/>Changelog registration: cl1 
1236 <anchor xml:id="dbdoclet.50438219_pgfId-1317336" xreflabel=""/>Starting changelog record: 22 
1237 <anchor xml:id="dbdoclet.50438219_pgfId-1317337" xreflabel=""/>Errors: 0 
1238 <anchor xml:id="dbdoclet.50438219_pgfId-1317338" xreflabel=""/>lustre_rsync took 2 seconds 
1239 <anchor xml:id="dbdoclet.50438219_pgfId-1317339" xreflabel=""/>Changelog records consumed: 42
1240 </screen>
1241         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317340" xreflabel=""/> </para>
1242         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317341" xreflabel=""/>Synchronize a Lustre file system (/mnt/lustre) to two target file systems (/mnt/target1 and /mnt/target2).</para>
1243         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317342" xreflabel=""/>$ lustre_rsync --source=/mnt/lustre \ 
1244 <anchor xml:id="dbdoclet.50438219_pgfId-1317343" xreflabel=""/>   --target=/mnt/target1 --target=/mnt/target2 \ 
1245 <anchor xml:id="dbdoclet.50438219_pgfId-1317344" xreflabel=""/>   --mdt=lustre-MDT0000 --user=cl1 
1246 <anchor xml:id="dbdoclet.50438219_pgfId-1317345" xreflabel=""/>   --statuslog replicate.log
1247 </screen>
1248       </section>
1249       <section remap="h5">
1250         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317346" xreflabel=""/>See Also</title>
1251         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317353" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_38274">lctl</link>, <link xl:href="UserUtilities_HTML.html#50438206_94597">lfs</link></para>
1252       </section>
1253     </section>
1254     <section remap="h2">
1255       <title>36.14 <anchor xml:id="dbdoclet.50438219_75432" xreflabel=""/>mkfs.<anchor xml:id="dbdoclet.50438219_marker-1316695" xreflabel=""/>lustre</title>
1256       <para><anchor xml:id="dbdoclet.50438219_pgfId-1316697" xreflabel=""/>The mkfs.lustre utility formats a disk for a Lustre service.</para>
1257       <section remap="h5">
1258         <title><anchor xml:id="dbdoclet.50438219_pgfId-1316927" xreflabel=""/>Synopsis</title>
1259         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1316698" xreflabel=""/>mkfs.lustre &lt;target_type&gt; [options] device
1260 </screen>
1261         <para><anchor xml:id="dbdoclet.50438219_pgfId-1316734" xreflabel=""/>where &lt;target_type&gt; is one of the following:</para>
1262         <informaltable frame="all">
1263           <tgroup cols="2">
1264             <colspec colname="c1" colwidth="50*"/>
1265             <colspec colname="c2" colwidth="50*"/>
1266             <thead>
1267               <row>
1268                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1316715" xreflabel=""/>Option</emphasis></para></entry>
1269                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1316717" xreflabel=""/>Description</emphasis></para></entry>
1270               </row>
1271             </thead>
1272             <tbody>
1273               <row>
1274                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316719" xreflabel=""/><emphasis role="bold">--ost</emphasis></para></entry>
1275                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316721" xreflabel=""/>Object Storage Target (OST)</para></entry>
1276               </row>
1277               <row>
1278                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316723" xreflabel=""/><emphasis role="bold">--mdt</emphasis></para></entry>
1279                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316725" xreflabel=""/>Metadata Storage Target (MDT)</para></entry>
1280               </row>
1281               <row>
1282                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316727" xreflabel=""/><emphasis role="bold">--network=</emphasis><emphasis>net,...</emphasis></para></entry>
1283                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316729" xreflabel=""/>Network(s) to which to restrict this OST/MDT. This option can be repeated as necessary.</para></entry>
1284               </row>
1285               <row>
1286                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316731" xreflabel=""/><emphasis role="bold">--mgs</emphasis></para></entry>
1287                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316733" xreflabel=""/>Configuration Management Service (MGS), one per site. This service can be combined with one <emphasis role="bold">--mdt</emphasis> service by specifying both types.</para></entry>
1288               </row>
1289             </tbody>
1290           </tgroup>
1291         </informaltable>
1292       </section>
1293       <section remap="h5">
1294         <title><anchor xml:id="dbdoclet.50438219_pgfId-1316744" xreflabel=""/>Description</title>
1295         <para><anchor xml:id="dbdoclet.50438219_pgfId-1316745" xreflabel=""/>mkfs.lustre is used to format a disk device for use as part of a Lustre file system. After formatting, a disk can be mounted to start the Lustre service defined by this command.</para>
1296         <para><anchor xml:id="dbdoclet.50438219_pgfId-1316746" xreflabel=""/>When the file system is created, parameters can simply be added as a --param option to the mkfs.lustre command. See <link xl:href="LustreOperations.html#50438194_17237">Setting Parameters with mkfs.lustre</link>.</para>
1297         <informaltable frame="all">
1298           <tgroup cols="3">
1299             <colspec colname="c1" colwidth="33*"/>
1300             <colspec colname="c2" colwidth="33*"/>
1301             <colspec colname="c3" colwidth="33*"/>
1302             <thead>
1303               <row>
1304                 <entry nameend="c2" namest="c1"><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1316749" xreflabel=""/>Option</emphasis></para></entry>
1305                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1316753" xreflabel=""/>Description</emphasis></para></entry>
1306               </row>
1307             </thead>
1308             <tbody>
1309               <row>
1310                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316755" xreflabel=""/><emphasis role="bold">--backfstype</emphasis>=<emphasis>fstype</emphasis></para></entry>
1311                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316759" xreflabel=""/>Forces a particular format for the backing file system (such as ext3, ldiskfs).</para></entry>
1312               </row>
1313               <row>
1314                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316761" xreflabel=""/><emphasis role="bold">--comment</emphasis>=<emphasis>comment</emphasis></para></entry>
1315                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316765" xreflabel=""/>Sets a user comment about this disk, ignored by Lustre.</para></entry>
1316               </row>
1317               <row>
1318                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316767" xreflabel=""/><emphasis role="bold">--device-size</emphasis>=<emphasis>KB</emphasis></para></entry>
1319                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316771" xreflabel=""/>Sets the device size for loop devices.</para></entry>
1320               </row>
1321               <row>
1322                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316773" xreflabel=""/><emphasis role="bold">--dryrun</emphasis></para></entry>
1323                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316777" xreflabel=""/>Only prints what would be done; it does not affect the disk.</para></entry>
1324               </row>
1325               <row>
1326                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316779" xreflabel=""/><emphasis role="bold">--failnode</emphasis>=<emphasis>nid</emphasis>,...</para></entry>
1327                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316783" xreflabel=""/>Sets the NID(s) of a failover partner. This option can be repeated as needed.</para></entry>
1328               </row>
1329               <row>
1330                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316785" xreflabel=""/><emphasis role="bold">--fsname</emphasis>=<emphasis>filesystem_name</emphasis></para></entry>
1331                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316789" xreflabel=""/>The Lustre file system of which this service/node will be a part. The default file system name is â€œlustreâ€.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1316790" xreflabel=""/> </para><para><anchor xml:id="dbdoclet.50438219_pgfId-1316791" xreflabel=""/><emphasis role="bold">NOTE</emphasis>: The file system name is limited to 8 characters.</para></entry>
1332               </row>
1333               <row>
1334                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316793" xreflabel=""/><emphasis role="bold">--index</emphasis>=<emphasis>index</emphasis></para></entry>
1335                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316797" xreflabel=""/> Forces a particular OST or MDT index.</para></entry>
1336               </row>
1337               <row>
1338                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316799" xreflabel=""/><emphasis role="bold">--mkfsoptions</emphasis>=<emphasis>opts</emphasis></para></entry>
1339                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316803" xreflabel=""/> Formats options for the backing file system. For example, ext3 options could be set here.</para></entry>
1340               </row>
1341               <row>
1342                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316805" xreflabel=""/><emphasis role="bold">--mountfsoptions</emphasis>=<emphasis>opts</emphasis></para></entry>
1343                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316809" xreflabel=""/> Sets the mount options used when the backing file system is mounted.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1316810" xreflabel=""/><emphasis role="bold">CAUTION</emphasis>: Unlike earlier versions of mkfs.lustre, this version completely replaces the default mount options with those specified on the command line, and issues a warning on stderr if any default mount options are omitted.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1316811" xreflabel=""/>The defaults for ldiskfs are:</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1316812" xreflabel=""/>OST: <emphasis>errors=remount-ro,mballoc,extents</emphasis>;</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1316813" xreflabel=""/>MGS/MDT: <emphasis>errors=remount-ro,iopen_nopriv,user_xattr</emphasis></para><para><anchor xml:id="dbdoclet.50438219_pgfId-1316814" xreflabel=""/>Do not alter the default mount options unless you know what you are doing.</para></entry>
1344               </row>
1345               <row>
1346                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316816" xreflabel=""/><emphasis role="bold">--network</emphasis>=<emphasis>net</emphasis>,...</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1316817" xreflabel=""/> </para></entry>
1347                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316821" xreflabel=""/> Network(s) to which to restrict this OST/MDT. This option can be repeated as necessary.</para></entry>
1348               </row>
1349               <row>
1350                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316823" xreflabel=""/><emphasis role="bold">--mgsnode</emphasis>=<emphasis>nid</emphasis>,...</para></entry>
1351                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316827" xreflabel=""/>Sets the NIDs of the MGS node, required for all targets other than the MGS.</para></entry>
1352               </row>
1353               <row>
1354                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316829" xreflabel=""/><emphasis role="bold">--param</emphasis><emphasis>key</emphasis>=<emphasis>value</emphasis></para></entry>
1355                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316833" xreflabel=""/>Sets the permanent parameter <emphasis>key</emphasis> to value <emphasis>value</emphasis>. This option can be repeated as necessary. Typical options might include:</para></entry>
1356               </row>
1357               <row>
1358                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316835" xreflabel=""/> </para></entry>
1359                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316837" xreflabel=""/>--<emphasis>param sys.timeout=40</emphasis></para></entry>
1360                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316839" xreflabel=""/>System obd timeout.</para></entry>
1361               </row>
1362               <row>
1363                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316841" xreflabel=""/> </para></entry>
1364                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316843" xreflabel=""/>--<emphasis>param lov.stripesize=2M</emphasis></para></entry>
1365                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316845" xreflabel=""/>Default stripe size.</para></entry>
1366               </row>
1367               <row>
1368                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316847" xreflabel=""/> </para></entry>
1369                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316849" xreflabel=""/>--<emphasis>param lov.stripecount=2</emphasis></para></entry>
1370                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316851" xreflabel=""/>Default stripe count.</para></entry>
1371               </row>
1372               <row>
1373                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316853" xreflabel=""/> </para></entry>
1374                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316855" xreflabel=""/>--<emphasis>param failover.mode=failout</emphasis></para></entry>
1375                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316857" xreflabel=""/>Returns errors instead of waiting for recovery.</para></entry>
1376               </row>
1377               <row>
1378                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316859" xreflabel=""/><emphasis role="bold">--quiet</emphasis></para></entry>
1379                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316863" xreflabel=""/>Prints less information.</para></entry>
1380               </row>
1381               <row>
1382                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316865" xreflabel=""/><emphasis role="bold">--reformat</emphasis></para></entry>
1383                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316869" xreflabel=""/>Reformats an existing Lustre disk.</para></entry>
1384               </row>
1385               <row>
1386                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316871" xreflabel=""/><emphasis role="bold">--stripe-count-hint=stripes</emphasis></para></entry>
1387                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316875" xreflabel=""/>Used to optimize the MDT’s inode size.</para></entry>
1388               </row>
1389               <row>
1390                 <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316877" xreflabel=""/><emphasis role="bold">--verbose</emphasis></para></entry>
1391                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1316881" xreflabel=""/>Prints more information.</para></entry>
1392               </row>
1393             </tbody>
1394           </tgroup>
1395         </informaltable>
1396       </section>
1397       <section remap="h5">
1398         <title><anchor xml:id="dbdoclet.50438219_pgfId-1316890" xreflabel=""/>Examples</title>
1399         <para><anchor xml:id="dbdoclet.50438219_pgfId-1316891" xreflabel=""/>Creates a combined MGS and MDT for file system <emphasis role="bold">testfs</emphasis> on, e.g., node <emphasis role="bold">cfs21</emphasis>:</para>
1400         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1316892" xreflabel=""/>mkfs.lustre --fsname=testfs --mdt --mgs /dev/sda1
1401 </screen>
1402         <para><anchor xml:id="dbdoclet.50438219_pgfId-1316893" xreflabel=""/>Creates an OST for file system <emphasis role="bold">testfs</emphasis> on any node (using the above MGS):</para>
1403         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1316894" xreflabel=""/>mkfs.lustre --fsname=testfs --ost --mgsnode=cfs21@tcp0 /dev/sdb
1404 </screen>
1405         <para><anchor xml:id="dbdoclet.50438219_pgfId-1316895" xreflabel=""/>Creates a standalone MGS on, e.g., node <emphasis role="bold">cfs22</emphasis>:</para>
1406         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1316896" xreflabel=""/>mkfs.lustre --mgs /dev/sda1
1407 </screen>
1408         <para><anchor xml:id="dbdoclet.50438219_pgfId-1316897" xreflabel=""/>Creates an MDT for file system <emphasis role="bold">myfs1</emphasis> on any node (using the above MGS):</para>
1409         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1316898" xreflabel=""/>mkfs.lustre --fsname=myfs1 --mdt --mgsnode=cfs22@tcp0 /dev/sda2
1410 </screen>
1411       </section>
1412       <section remap="h5">
1413         <title><anchor xml:id="dbdoclet.50438219_pgfId-1316899" xreflabel=""/>See Also</title>
1414         <para><anchor xml:id="dbdoclet.50438219_pgfId-1316909" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_75432">mkfs.lustre</link>, <link xl:href="SystemConfigurationUtilities_HTML.html#50438219_12635">mount.lustre</link>, <link xl:href="UserUtilities_HTML.html#50438206_94597">lfs</link></para>
1415       </section>
1416     </section>
1417     <section remap="h2">
1418       <title>36.15 <anchor xml:id="dbdoclet.50438219_12635" xreflabel=""/>mount.<anchor xml:id="dbdoclet.50438219_marker-1310637" xreflabel=""/>lustre</title>
1419       <para><anchor xml:id="dbdoclet.50438219_pgfId-1310639" xreflabel=""/>The mount.lustre utility starts a Lustre client or target service.</para>
1420       <section remap="h5">
1421         <title><anchor xml:id="dbdoclet.50438219_pgfId-1310640" xreflabel=""/>Synopsis</title>
1422         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1294724" xreflabel=""/>mount -t lustre [-o options] directory
1423 </screen>
1424       </section>
1425       <section remap="h5">
1426         <title><anchor xml:id="dbdoclet.50438219_pgfId-1294725" xreflabel=""/>Description</title>
1427         <para><anchor xml:id="dbdoclet.50438219_pgfId-1315116" xreflabel=""/>The mount.lustre utility starts a Lustre client or target service. This program should not be called directly; rather, it is a helper program invoked through mount(8), as shown above. Use the umount command to stop Lustre clients and targets.</para>
1428         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294727" xreflabel=""/>There are two forms for the device option, depending on whether a client or a target service is started:</para>
1429         <informaltable frame="all">
1430           <tgroup cols="2">
1431             <colspec colname="c1" colwidth="50*"/>
1432             <colspec colname="c2" colwidth="50*"/>
1433             <thead>
1434               <row>
1435                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1308672" xreflabel=""/>Option</emphasis></para></entry>
1436                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1308676" xreflabel=""/>Description</emphasis></para></entry>
1437               </row>
1438             </thead>
1439             <tbody>
1440               <row>
1441                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315124" xreflabel=""/><emphasis>&lt;mgsspec&gt;:/&lt;fsname&gt;</emphasis></para><para><anchor xml:id="dbdoclet.50438219_pgfId-1315125" xreflabel=""/> </para></entry>
1442                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315129" xreflabel=""/>Mounts the Lustre file system named <emphasis>fsname</emphasis> on the client by contacting the Management Service at <emphasis>mgsspec</emphasis> on the pathname given by <emphasis>directory</emphasis>. The format for <emphasis>mgsspec</emphasis> is defined below. A mounted client file system appears in fstab(5) and is usable, like any local file system, and provides a full POSIX-compliant interface.</para></entry>
1443               </row>
1444               <row>
1445                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315131" xreflabel=""/><emphasis>&lt;disk_device&gt;</emphasis></para></entry>
1446                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315135" xreflabel=""/>Starts the target service defined by the mkfs.lustre command on the physical disk <emphasis>disk_device</emphasis>. A mounted target service file system is only useful for df(1) operations and appears in fstab(5) to show the device is in use.</para></entry>
1447               </row>
1448             </tbody>
1449           </tgroup>
1450         </informaltable>
1451       </section>
1452       <section remap="h5">
1453         <title><anchor xml:id="dbdoclet.50438219_pgfId-1301179" xreflabel=""/>Options</title>
1454         <informaltable frame="all">
1455           <tgroup cols="2">
1456             <colspec colname="c1" colwidth="50*"/>
1457             <colspec colname="c2" colwidth="50*"/>
1458             <thead>
1459               <row>
1460                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1309271" xreflabel=""/>Option</emphasis></para></entry>
1461                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1309273" xreflabel=""/>Description</emphasis></para></entry>
1462               </row>
1463             </thead>
1464             <tbody>
1465               <row>
1466                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315144" xreflabel=""/><emphasis role="bold">&lt;mgsspec&gt;:</emphasis>=<emphasis>&lt;mgsnode&gt;[:&lt;mgsnode&gt;]</emphasis></para><para><anchor xml:id="dbdoclet.50438219_pgfId-1315145" xreflabel=""/> </para></entry>
1467                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315147" xreflabel=""/>The MGS specification may be a colon-separated list of nodes.</para></entry>
1468               </row>
1469               <row>
1470                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315149" xreflabel=""/><emphasis role="bold">&lt;mgsnode&gt;:</emphasis>=<emphasis>&lt;mgsnid&gt;[,&lt;mgsnid&gt;]</emphasis></para></entry>
1471                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315151" xreflabel=""/>Each node may be specified by a comma-separated list of NIDs.</para></entry>
1472               </row>
1473             </tbody>
1474           </tgroup>
1475         </informaltable>
1476         <para><anchor xml:id="dbdoclet.50438219_pgfId-1308731" xreflabel=""/>In addition to the standard mount options, Lustre understands the following client-specific options:</para>
1477         <informaltable frame="all">
1478           <tgroup cols="2">
1479             <colspec colname="c1" colwidth="50*"/>
1480             <colspec colname="c2" colwidth="50*"/>
1481             <thead>
1482               <row>
1483                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1309286" xreflabel=""/>Option</emphasis></para></entry>
1484                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1309288" xreflabel=""/>Description</emphasis></para></entry>
1485               </row>
1486             </thead>
1487             <tbody>
1488               <row>
1489                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315157" xreflabel=""/><emphasis role="bold">flock</emphasis></para></entry>
1490                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315159" xreflabel=""/>Enables full flock support, coherent across all client nodes.</para></entry>
1491               </row>
1492               <row>
1493                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315161" xreflabel=""/><emphasis role="bold">localflock</emphasis></para></entry>
1494                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315163" xreflabel=""/>Enables local flock support, using only client-local flock (faster, for applications that require flock, but do not run on multiple nodes).</para></entry>
1495               </row>
1496               <row>
1497                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315165" xreflabel=""/><emphasis role="bold">noflock</emphasis></para></entry>
1498                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315167" xreflabel=""/>Disables flock support entirely. Applications calling flock get an error. It is up to the administrator to choose either <emphasis role="bold">localflock</emphasis> (fastest, low impact, not coherent between nodes) or <emphasis role="bold">flock</emphasis> (slower, performance impact for use, coherent between nodes).</para></entry>
1499               </row>
1500               <row>
1501                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315169" xreflabel=""/><emphasis role="bold">user_xattr</emphasis></para></entry>
1502                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315171" xreflabel=""/>Enables get/set of extended attributes by regular users. See the attr(5) manual page.</para></entry>
1503               </row>
1504               <row>
1505                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315177" xreflabel=""/><emphasis role="bold">nouser_xattr</emphasis></para></entry>
1506                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315179" xreflabel=""/>Disables use of extended attributes by regular users. Root and system processes can still use extended attributes.</para></entry>
1507               </row>
1508               <row>
1509                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315181" xreflabel=""/><emphasis role="bold">acl</emphasis></para></entry>
1510                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315183" xreflabel=""/>Enables POSIX Access Control List support. See the acl(5) manual page.</para></entry>
1511               </row>
1512               <row>
1513                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315185" xreflabel=""/><emphasis role="bold">noacl</emphasis></para></entry>
1514                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315187" xreflabel=""/>Disables Access Control List support.</para></entry>
1515               </row>
1516             </tbody>
1517           </tgroup>
1518         </informaltable>
1519         <para><anchor xml:id="dbdoclet.50438219_pgfId-1310887" xreflabel=""/>In addition to the standard mount options and backing disk type (e.g. ext3) options, Lustre understands the following server-specific options:</para>
1520         <informaltable frame="all">
1521           <tgroup cols="2">
1522             <colspec colname="c1" colwidth="50*"/>
1523             <colspec colname="c2" colwidth="50*"/>
1524             <thead>
1525               <row>
1526                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1310890" xreflabel=""/>Option</emphasis></para></entry>
1527                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1310894" xreflabel=""/>Description</emphasis></para></entry>
1528               </row>
1529             </thead>
1530             <tbody>
1531               <row>
1532                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1310896" xreflabel=""/><emphasis role="bold">nosvc</emphasis></para></entry>
1533                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1310900" xreflabel=""/> Starts the MGC (and MGS, if co-located) for a target service, not the actual service.</para></entry>
1534               </row>
1535               <row>
1536                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1310902" xreflabel=""/><emphasis role="bold">nomsgs</emphasis></para></entry>
1537                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1310906" xreflabel=""/> Starts only the MDT (with a co-located MGS), without starting the MGS.</para></entry>
1538               </row>
1539               <row>
1540                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1310908" xreflabel=""/><emphasis role="bold">exclude=&lt;ostlist&gt;</emphasis></para></entry>
1541                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1310912" xreflabel=""/> Starts a client or MDT with a colon-separated list of known inactive OSTs.</para></entry>
1542               </row>
1543               <row>
1544                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315189" xreflabel=""/><emphasis role="bold">nosvc</emphasis></para></entry>
1545                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315193" xreflabel=""/> Only starts the MGC (and MGS, if co-located) for a target service, not the actual service.</para></entry>
1546               </row>
1547               <row>
1548                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315195" xreflabel=""/><emphasis role="bold">nomsgs</emphasis></para></entry>
1549                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315199" xreflabel=""/> Starts a MDT with a co-located MGS, without starting the MGS.</para></entry>
1550               </row>
1551               <row>
1552                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315201" xreflabel=""/><emphasis role="bold">exclude</emphasis>=<emphasis>ostlist</emphasis></para></entry>
1553                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315205" xreflabel=""/> Starts a client or MDT with a (colon-separated) list of known inactive OSTs.</para></entry>
1554               </row>
1555               <row>
1556                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315211" xreflabel=""/><emphasis role="bold">abort_recov</emphasis></para></entry>
1557                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315215" xreflabel=""/> Aborts client recovery and starts the target service immediately.</para></entry>
1558               </row>
1559               <row>
1560                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315217" xreflabel=""/><emphasis role="bold">md_stripe_cache_size</emphasis></para></entry>
1561                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315221" xreflabel=""/> Sets the stripe cache size for server-side disk with a striped RAID configuration.</para></entry>
1562               </row>
1563               <row>
1564                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315223" xreflabel=""/><emphasis role="bold">recovery_time_soft</emphasis>=<emphasis>timeout</emphasis></para></entry>
1565                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315227" xreflabel=""/> Allows <emphasis>timeout</emphasis> seconds for clients to reconnect for recovery after a server crash. This timeout is incrementally extended if it is about to expire and the server is still handling new connections from recoverable clients. The default soft recovery timeout is 300 seconds (5 minutes).</para></entry>
1566               </row>
1567               <row>
1568                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315229" xreflabel=""/><emphasis role="bold">recovery_time_hard</emphasis>=<emphasis>timeout</emphasis></para></entry>
1569                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1315233" xreflabel=""/> The server is allowed to incrementally extend its timeout up to a hard maximum of <emphasis>timeout</emphasis> seconds. The default hard recovery timeout is set to 900 seconds (15 minutes).</para></entry>
1570               </row>
1571             </tbody>
1572           </tgroup>
1573         </informaltable>
1574       </section>
1575       <section remap="h5">
1576         <title><anchor xml:id="dbdoclet.50438219_pgfId-1310925" xreflabel=""/>Examples</title>
1577         <para><anchor xml:id="dbdoclet.50438219_pgfId-1315242" xreflabel=""/>Starts a client for the Lustre file system testfs at mount point /mnt/myfilesystem. The Management Service is running on a node reachable from this client via the cfs21@tcp0 NID.</para>
1578         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1315243" xreflabel=""/>mount -t lustre cfs21@tcp0:/testfs /mnt/myfilesystem
1579 </screen>
1580          <para><anchor xml:id="dbdoclet.50438219_pgfId-1315244" xreflabel=""/>Starts the Lustre metadata target service from /dev/sda1 on mount point /mnt/test/mdt.</para>
1581         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1315245" xreflabel=""/>mount -t lustre /dev/sda1 /mnt/test/mdt
1582 </screen>
1583          <para><anchor xml:id="dbdoclet.50438219_pgfId-1315246" xreflabel=""/>Starts the testfs-MDT0000 service (using the disk label), but aborts the recovery process.</para>
1584         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1315247" xreflabel=""/>mount -t lustre -L testfs-MDT0000 -o abort_recov /mnt/test/mdt
1585 </screen>
1586       </section>
1587       <section remap="h5">
1588         <title><anchor xml:id="dbdoclet.50438219_pgfId-1315248" xreflabel=""/>See Also</title>
1589         <para><anchor xml:id="dbdoclet.50438219_pgfId-1315261" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_75432">mkfs.lustre</link>, <link xl:href="SystemConfigurationUtilities_HTML.html#50438219_39574">tunefs.lustre</link>, <link xl:href="SystemConfigurationUtilities_HTML.html#50438219_38274">lctl</link>, <link xl:href="UserUtilities_HTML.html#50438206_94597">lfs</link></para>
1590       </section>
1591     </section>
1592     <section remap="h2">
1593       <title>36.16 <anchor xml:id="dbdoclet.50438219_82679" xreflabel=""/>plot-<anchor xml:id="dbdoclet.50438219_marker-1317989" xreflabel=""/>llstat</title>
1594       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317991" xreflabel=""/>The plot-llstat utility plots Lustre statistics.</para>
1595       <section remap="h5">
1596         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317992" xreflabel=""/>Synopsis</title>
1597         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317993" xreflabel=""/>plot-llstat results_filename [parameter_index]
1598 </screen>
1599       </section>
1600       <section remap="h5">
1601         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317994" xreflabel=""/>Description</title>
1602         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317995" xreflabel=""/>The plot-llstat utility generates a CSV file and instruction files for gnuplot from the output of llstat. Since llstat is generic in nature, plot-llstat is also a generic script. The value of parameter_index can be 1 for count per interval, 2 for count per second (default setting) or 3 for total count.</para>
1603         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317996" xreflabel=""/>The plot-llstat utility creates a .dat (CSV) file using the number of operations specified by the user. The number of operations equals the number of columns in the CSV file. The values in those columns are equal to the corresponding value of parameter_index in the output file.</para>
1604         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317997" xreflabel=""/>The plot-llstat utility also creates a .scr file that contains instructions for gnuplot to plot the graph. After generating the .dat and .scr files, the plot-llstat tool invokes gnuplot to display the graph.</para>
1605       </section>
1606       <section remap="h5">
1607         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318018" xreflabel=""/>Options</title>
1608         <informaltable frame="all">
1609           <tgroup cols="2">
1610             <colspec colname="c1" colwidth="50*"/>
1611             <colspec colname="c2" colwidth="50*"/>
1612             <thead>
1613               <row>
1614                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1318000" xreflabel=""/>Option</emphasis></para></entry>
1615                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1318004" xreflabel=""/>Description</emphasis></para></entry>
1616               </row>
1617             </thead>
1618             <tbody>
1619               <row>
1620                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318006" xreflabel=""/><emphasis role="bold">results_filename</emphasis></para></entry>
1621                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318010" xreflabel=""/>Output generated by plot-llstat</para></entry>
1622               </row>
1623               <row>
1624                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318012" xreflabel=""/><emphasis role="bold">parameter_index</emphasis></para><para><anchor xml:id="dbdoclet.50438219_pgfId-1318013" xreflabel=""/> </para></entry>
1625                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1318017" xreflabel=""/>Value of parameter_index can be:</para><para> 1 - count per interval</para><para> 2 - count per second (default setting)</para><para> 3 - total count</para></entry>
1626               </row>
1627             </tbody>
1628           </tgroup>
1629         </informaltable>
1630       </section>
1631       <section remap="h5">
1632         <title><anchor xml:id="dbdoclet.50438219_pgfId-1318019" xreflabel=""/>Example</title>
1633         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1318020" xreflabel=""/>llstat -i2 -g -c lustre-OST0000 &gt; log
1634 <anchor xml:id="dbdoclet.50438219_pgfId-1318021" xreflabel=""/>plot-llstat log 3
1635 </screen>
1636       </section>
1637     </section>
1638     <section remap="h2">
1639       <title>36.17 <anchor xml:id="dbdoclet.50438219_51496" xreflabel=""/>router<anchor xml:id="dbdoclet.50438219_marker-1317921" xreflabel=""/>stat</title>
1640       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317923" xreflabel=""/>The routerstat utility prints Lustre router statistics.</para>
1641       <section remap="h5">
1642         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317924" xreflabel=""/>Synopsis</title>
1643         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317925" xreflabel=""/>routerstat [interval]
1644 </screen>
1645       </section>
1646       <section remap="h5">
1647         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317926" xreflabel=""/>Description</title>
1648         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317927" xreflabel=""/>The routerstat utility watches LNET router statistics. If no <emphasis>interval</emphasis> is specified, then statistics are sampled and printed only one time. Otherwise, statistics are sampled and printed at the specified <emphasis>interval</emphasis> (in seconds).</para>
1649       </section>
1650       <section remap="h5">
1651         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317928" xreflabel=""/>Options</title>
1652         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317958" xreflabel=""/>The routerstat output includes the following fields:</para>
1653         <informaltable frame="all">
1654           <tgroup cols="2">
1655             <colspec colname="c1" colwidth="50*"/>
1656             <colspec colname="c2" colwidth="50*"/>
1657             <thead>
1658               <row>
1659                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317931" xreflabel=""/>Option</emphasis></para></entry>
1660                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317933" xreflabel=""/>Description</emphasis></para></entry>
1661               </row>
1662             </thead>
1663             <tbody>
1664               <row>
1665                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317935" xreflabel=""/><emphasis role="bold">M</emphasis></para></entry>
1666                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317937" xreflabel=""/>msgs_alloc(msgs_max)</para></entry>
1667               </row>
1668               <row>
1669                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317939" xreflabel=""/><emphasis role="bold">E</emphasis></para></entry>
1670                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317941" xreflabel=""/>errors</para></entry>
1671               </row>
1672               <row>
1673                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317943" xreflabel=""/><emphasis role="bold">S</emphasis></para></entry>
1674                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317945" xreflabel=""/>send_count/send_length</para></entry>
1675               </row>
1676               <row>
1677                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317947" xreflabel=""/><emphasis role="bold">R</emphasis></para></entry>
1678                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317949" xreflabel=""/>recv_count/recv_length</para></entry>
1679               </row>
1680               <row>
1681                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317951" xreflabel=""/><emphasis role="bold">F</emphasis></para></entry>
1682                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317953" xreflabel=""/>route_count/route_length</para></entry>
1683               </row>
1684               <row>
1685                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317955" xreflabel=""/><emphasis role="bold">D</emphasis></para></entry>
1686                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317957" xreflabel=""/>drop_count/drop_length</para></entry>
1687               </row>
1688             </tbody>
1689           </tgroup>
1690         </informaltable>
1691       </section>
1692       <section remap="h5">
1693         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317959" xreflabel=""/>Files</title>
1694         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317960" xreflabel=""/>The routerstat utility extracts statistics data from:</para>
1695         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317961" xreflabel=""/>/proc/sys/lnet/stats
1696 </screen>
1697       </section>
1698     </section>
1699     <section remap="h2">
1700       <title>36.18 <anchor xml:id="dbdoclet.50438219_39574" xreflabel=""/>tunefs.<anchor xml:id="dbdoclet.50438219_marker-1317076" xreflabel=""/>lustre</title>
1701       <para><anchor xml:id="dbdoclet.50438219_pgfId-1317078" xreflabel=""/>The tunefs.lustre utility modifies configuration information on a Lustre target disk.</para>
1702       <section remap="h5">
1703         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317079" xreflabel=""/>Synopsis</title>
1704         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317080" xreflabel=""/>tunefs.lustre [options] &lt;device&gt;
1705 </screen>
1706       </section>
1707       <section remap="h5">
1708         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317081" xreflabel=""/>Description</title>
1709         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317082" xreflabel=""/>tunefs.lustre is used to modify configuration information on a Lustre target disk. This includes upgrading old (pre-Lustre 1.6) disks. This does not reformat the disk or erase the target information, but modifying the configuration information can result in an unusable file system.</para>
1710         <informaltable frame="none">
1711           <tgroup cols="2">
1712             <colspec colname="c1" colwidth="5*"/>
1713             <colspec colname="c2" colwidth="95*"/>
1714             
1715             
1716             <tbody>
1717               <row>
1718                 <entry><para><inlinemediaobject><imageobject role="html">
1719                         <imagedata fileref="./shared/caution.gif" scalefit="1"/>
1720                       </imageobject>
1721 <imageobject role="fo">
1722                         <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/caution.gif" scalefit="1" width="100%"/>
1723                       </imageobject>
1724 </inlinemediaobject></para></entry>
1725                 <entry><para><emphasis role="bold">Caution -</emphasis><anchor xml:id="dbdoclet.50438219_pgfId-1317083" xreflabel=""/>Changes made here affect a file system only when the target is mounted the next time.</para></entry>
1726               </row>
1727             </tbody>
1728           </tgroup>
1729         </informaltable>
1730          <para><anchor xml:id="dbdoclet.50438219_pgfId-1317084" xreflabel=""/>With tunefs.lustre, parameters are &quot;additive&quot; -- new parameters are specified in addition to old parameters, they do not replace them. To erase all old tunefs.lustre parameters and just use newly-specified parameters, run:</para>
1731         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317085" xreflabel=""/>$ tunefs.lustre --erase-params --param=&lt;new parameters&gt; </screen>
1732         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317086" xreflabel=""/>The tunefs.lustre command can be used to set any parameter settable in a /proc/fs/lustre file and that has its own OBD device, so it can be specified as &lt;obd|fsname&gt;.&lt;obdtype&gt;.&lt;proc_file_name&gt;=&lt;value&gt;. For example:</para>
1733         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317087" xreflabel=""/>$ tunefs.lustre --param mdt.group_upcall=NONE /dev/sda1
1734 </screen>
1735       </section>
1736       <section remap="h5">
1737         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317089" xreflabel=""/>Options</title>
1738         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317193" xreflabel=""/>The tunefs.lustre options are listed and explained below.</para>
1739         <informaltable frame="all">
1740           <tgroup cols="2">
1741             <colspec colname="c1" colwidth="50*"/>
1742             <colspec colname="c2" colwidth="50*"/>
1743             <thead>
1744               <row>
1745                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317092" xreflabel=""/>Option</emphasis></para></entry>
1746                 <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438219_pgfId-1317096" xreflabel=""/>Description</emphasis></para></entry>
1747               </row>
1748             </thead>
1749             <tbody>
1750               <row>
1751                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317098" xreflabel=""/><emphasis role="bold">--comment</emphasis>=<emphasis>comment</emphasis></para></entry>
1752                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317102" xreflabel=""/>Sets a user comment about this disk, ignored by Lustre.</para></entry>
1753               </row>
1754               <row>
1755                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317104" xreflabel=""/><emphasis role="bold">--dryrun</emphasis></para></entry>
1756                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317108" xreflabel=""/>Only prints what would be done; does not affect the disk.</para></entry>
1757               </row>
1758               <row>
1759                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317110" xreflabel=""/><emphasis role="bold">--erase-params</emphasis></para></entry>
1760                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317114" xreflabel=""/>Removes all previous parameter information.</para></entry>
1761               </row>
1762               <row>
1763                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317116" xreflabel=""/><emphasis role="bold">--failnode</emphasis>=<emphasis>nid</emphasis>,...</para></entry>
1764                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317120" xreflabel=""/>Sets the NID(s) of a failover partner. This option can be repeated as needed.</para></entry>
1765               </row>
1766               <row>
1767                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317122" xreflabel=""/><emphasis role="bold">--fsname</emphasis>=<emphasis>filesystem_name</emphasis></para></entry>
1768                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317126" xreflabel=""/>The Lustre file system of which this service will be a part. The default file system name is â€œlustreâ€.</para></entry>
1769               </row>
1770               <row>
1771                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317128" xreflabel=""/><emphasis role="bold">--index</emphasis>=index</para></entry>
1772                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317132" xreflabel=""/>Forces a particular OST or MDT index.</para></entry>
1773               </row>
1774               <row>
1775                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317134" xreflabel=""/><emphasis role="bold">--mountfsoptions</emphasis>=opts</para></entry>
1776                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317138" xreflabel=""/>Sets the mount options used when the backing file system is mounted.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317139" xreflabel=""/><emphasis role="bold">CAUTION</emphasis>: Unlike earlier versions of tunefs.lustre, this version completely replaces the existing mount options with those specified on the command line, and issues a warning on stderr if any default mount options are omitted.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317140" xreflabel=""/>The defaults for ldiskfs are:</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317141" xreflabel=""/>OST: <emphasis>errors=remount-ro,mballoc,extents</emphasis>;</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317142" xreflabel=""/>MGS/MDT: <emphasis>errors=remount-ro,iopen_nopriv,user_xattr</emphasis></para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317143" xreflabel=""/>Do not alter the default mount options unless you know what you are doing.</para></entry>
1777               </row>
1778               <row>
1779                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317145" xreflabel=""/><emphasis role="bold">--network</emphasis>=net,...</para></entry>
1780                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317149" xreflabel=""/>Network(s) to which to restrict this OST/MDT. This option can be repeated as necessary.</para></entry>
1781               </row>
1782               <row>
1783                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317151" xreflabel=""/><emphasis role="bold">--mgs</emphasis></para></entry>
1784                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317155" xreflabel=""/>Adds a configuration management service to this target.</para></entry>
1785               </row>
1786               <row>
1787                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317157" xreflabel=""/><emphasis role="bold">--msgnode</emphasis>=<emphasis>nid</emphasis>,...</para></entry>
1788                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317161" xreflabel=""/>Sets the NID(s) of the MGS node; required for all targets other than the MGS.</para></entry>
1789               </row>
1790               <row>
1791                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317163" xreflabel=""/><emphasis role="bold">--nomgs</emphasis></para></entry>
1792                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317167" xreflabel=""/>Removes a configuration management service to this target.</para></entry>
1793               </row>
1794               <row>
1795                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317169" xreflabel=""/><emphasis role="bold">--quiet</emphasis></para></entry>
1796                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317173" xreflabel=""/>Prints less information.</para></entry>
1797               </row>
1798               <row>
1799                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317175" xreflabel=""/><emphasis role="bold">--verbose</emphasis></para></entry>
1800                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317179" xreflabel=""/>Prints more information.</para></entry>
1801               </row>
1802               <row>
1803                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317181" xreflabel=""/><emphasis role="bold">--writeconf</emphasis></para></entry>
1804                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1317185" xreflabel=""/>Erases all configuration logs for the file system to which this MDT belongs, and regenerates them. This is dangerous operation. All clients must be unmounted and servers for this file system should be stopped. All targets (OSTs/MDTs) must then be restarted to regenerate the logs. No clients should be started until all targets have restarted.</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317186" xreflabel=""/> </para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317187" xreflabel=""/>The correct order of operations is:</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317188" xreflabel=""/>* Unmount all clients on the file system</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317189" xreflabel=""/>* Unmount the MDT and all OSTs on the file system</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317190" xreflabel=""/>* Run <emphasis role="bold">tunefs.lustre --writeconf &lt;device&gt;</emphasis> on every server</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317191" xreflabel=""/>* Mount the MDT and OSTs</para><para><anchor xml:id="dbdoclet.50438219_pgfId-1317192" xreflabel=""/>* Mount the clients</para></entry>
1805               </row>
1806             </tbody>
1807           </tgroup>
1808         </informaltable>
1809       </section>
1810       <section remap="h5">
1811         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317194" xreflabel=""/>Examples</title>
1812         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317195" xreflabel=""/>Change the MGS’s NID address. (This should be done on each target disk, since they should all contact the same MGS.)</para>
1813         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317196" xreflabel=""/>tunefs.lustre --erase-param --mgsnode=&lt;new_nid&gt; --writeconf /dev/sda
1814 </screen>
1815         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317197" xreflabel=""/>Add a failover NID location for this target.</para>
1816         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1317198" xreflabel=""/>tunefs.lustre --param=&quot;failover.node=192.168.0.13@tcp0&quot; /dev/sda 
1817 </screen>
1818       </section>
1819       <section remap="h5">
1820         <title><anchor xml:id="dbdoclet.50438219_pgfId-1317199" xreflabel=""/>See Also</title>
1821         <para><anchor xml:id="dbdoclet.50438219_pgfId-1317209" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_75432">mkfs.lustre</link>, <link xl:href="SystemConfigurationUtilities_HTML.html#50438219_12635">mount.lustre</link>, <link xl:href="SystemConfigurationUtilities_HTML.html#50438219_38274">lctl</link>, <link xl:href="UserUtilities_HTML.html#50438206_94597">lfs</link></para>
1822       </section>
1823     </section>
1824     <section remap="h2">
1825       <title>36.19 <anchor xml:id="dbdoclet.50438219_99928" xreflabel=""/>Additional System <anchor xml:id="dbdoclet.50438219_marker-1313048" xreflabel=""/>Configuration Utilities</title>
1826       <para><anchor xml:id="dbdoclet.50438219_pgfId-1294808" xreflabel=""/>This section describes additional system configuration utilities for Lustre.</para>
1827       <section remap="h3">
1828         <title><anchor xml:id="dbdoclet.50438219_pgfId-1294829" xreflabel=""/>36.19.1 Application <anchor xml:id="dbdoclet.50438219_marker-1313051" xreflabel=""/>Profiling Utilities</title>
1829         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294830" xreflabel=""/>The following utilities are located in /usr/bin.</para>
1830         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294832" xreflabel=""/><emphasis role="bold">lustre_req_history.sh</emphasis></para>
1831         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294833" xreflabel=""/>The lustre_req_history.sh utility (run from a client), assembles as much Lustre RPC request history as possible from the local node and from the servers that were contacted, providing a better picture of the coordinated network activity.</para>
1832         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294835" xreflabel=""/><emphasis role="bold">llstat.sh</emphasis></para>
1833         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294836" xreflabel=""/>The llstat.sh utility (improved in Lustre 1.6), handles a wider range of /proc files, and has command line switches to produce more graphable output.</para>
1834         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294838" xreflabel=""/><emphasis role="bold">plot-llstat.sh</emphasis></para>
1835         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294839" xreflabel=""/>The plot-llstat.sh utility plots the output from llstat.sh using gnuplot.</para>
1836       </section>
1837       <section remap="h3">
1838         <title><anchor xml:id="dbdoclet.50438219_pgfId-1294840" xreflabel=""/>36.19.2 More /proc Statistics for <anchor xml:id="dbdoclet.50438219_marker-1313052" xreflabel=""/>Application Profiling</title>
1839         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294841" xreflabel=""/>The following utilities provide additional statistics.</para>
1840         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294843" xreflabel=""/><emphasis role="bold">vfs_ops_stats</emphasis></para>
1841         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294844" xreflabel=""/>The client vfs_ops_stats utility tracks Linux VFS operation calls into Lustre for a single PID, PPID, GID or everything.</para>
1842         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1294845" xreflabel=""/>/proc/fs/lustre/llite/*/vfs_ops_stats
1843 <anchor xml:id="dbdoclet.50438219_pgfId-1294846" xreflabel=""/>/proc/fs/lustre/llite/*/vfs_track_[pid|ppid|gid]
1844 </screen>
1845         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294848" xreflabel=""/><emphasis role="bold">extents_stats</emphasis></para>
1846         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294849" xreflabel=""/>The client extents_stats utility shows the size distribution of I/O calls from the client (cumulative and by process).</para>
1847         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1294850" xreflabel=""/>/proc/fs/lustre/llite/*/extents_stats, extents_stats_per_process
1848 </screen>
1849         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294852" xreflabel=""/><emphasis role="bold">offset_stats</emphasis></para>
1850         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294853" xreflabel=""/>The client offset_stats utility shows the read/write seek activity of a client by offsets and ranges.</para>
1851         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1294854" xreflabel=""/>/proc/fs/lustre/llite/*/offset_stats
1852 </screen>
1853         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294855" xreflabel=""/>Lustre 1.6 included per-client and improved MDT statistics:</para>
1854         <itemizedlist><listitem>
1855             <para><anchor xml:id="dbdoclet.50438219_pgfId-1294856" xreflabel=""/> Per-client statistics tracked on the servers</para>
1856           </listitem>
1857 <listitem>
1858             <para> </para>
1859           </listitem>
1860 </itemizedlist>
1861         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294857" xreflabel=""/>Each MDT and OST now tracks LDLM and operations statistics for every connected client, for comparisons and simpler collection of distributed job statistics.</para>
1862         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1294858" xreflabel=""/>/proc/fs/lustre/mds|obdfilter/*/exports/
1863 </screen>
1864         <itemizedlist><listitem>
1865             <para><anchor xml:id="dbdoclet.50438219_pgfId-1294859" xreflabel=""/> Improved MDT statistics</para>
1866           </listitem>
1867 <listitem>
1868             <para> </para>
1869           </listitem>
1870 </itemizedlist>
1871         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294860" xreflabel=""/>More detailed MDT operations statistics are collected for better profiling.</para>
1872         <screen><anchor xml:id="dbdoclet.50438219_pgfId-1294861" xreflabel=""/>/proc/fs/lustre/mds/*/stats
1873 </screen>
1874       </section>
1875       <section remap="h3">
1876         <title><anchor xml:id="dbdoclet.50438219_pgfId-1294862" xreflabel=""/>36.19.3 Testing / Debugging <anchor xml:id="dbdoclet.50438219_marker-1313053" xreflabel=""/>Utilities</title>
1877         <para><anchor xml:id="dbdoclet.50438219_pgfId-1294863" xreflabel=""/>Lustre offers the following test and debugging utilities.</para>
1878         <section remap="h5">
1879           <title><anchor xml:id="dbdoclet.50438219_pgfId-1311299" xreflabel=""/>loadgen</title>
1880           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311300" xreflabel=""/>The Load Generator (loadgen) is a test program designed to simulate large numbers of Lustre clients connecting and writing to an OST. The loadgen utility is located at lustre/utils/loadgen (in a build directory) or at /usr/sbin/loadgen (from an RPM).</para>
1881           <para><anchor xml:id="dbdoclet.50438219_pgfId-1312081" xreflabel=""/>Loadgen offers the ability to run this test:</para>
1882           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311221" xreflabel=""/> 1. Start an arbitrary number of (echo) clients.</para>
1883           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311232" xreflabel=""/> 2. Start and connect to an echo server, instead of a real OST.</para>
1884           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311226" xreflabel=""/> 3. Create/bulk_write/delete objects on any number of echo clients simultaneously.</para>
1885           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311244" xreflabel=""/>Currently, the maximum number of clients is limited by MAX_OBD_DEVICES and the amount of memory available.</para>
1886         </section>
1887         <section remap="h5">
1888           <title><anchor xml:id="dbdoclet.50438219_pgfId-1311320" xreflabel=""/>Usage</title>
1889           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311311" xreflabel=""/>The loadgen utility can be run locally on the OST server machine or remotely from any LNET host. The device command can take an optional NID as a parameter; if unspecified, the first local NID found is used.</para>
1890           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311331" xreflabel=""/>The obdecho module must be loaded by hand before running loadgen.</para>
1891           <screen><anchor xml:id="dbdoclet.50438219_pgfId-1311341" xreflabel=""/># cd lustre/utils/ 
1892 <anchor xml:id="dbdoclet.50438219_pgfId-1311420" xreflabel=""/># insmod ../obdecho/obdecho.ko 
1893 <anchor xml:id="dbdoclet.50438219_pgfId-1311423" xreflabel=""/># ./loadgen 
1894 <anchor xml:id="dbdoclet.50438219_pgfId-1311426" xreflabel=""/>loadgen&gt; h 
1895 <anchor xml:id="dbdoclet.50438219_pgfId-1311429" xreflabel=""/>This is a test program used to simulate large numbers of clients. The echo \
1896 obds are used, so the obdecho module must be loaded. 
1897 <anchor xml:id="dbdoclet.50438219_pgfId-1311436" xreflabel=""/> 
1898 <anchor xml:id="dbdoclet.50438219_pgfId-1311437" xreflabel=""/>Typical usage would be: 
1899 <anchor xml:id="dbdoclet.50438219_pgfId-1311440" xreflabel=""/>loadgen&gt; dev lustre-OST0000       set the target device 
1900 <anchor xml:id="dbdoclet.50438219_pgfId-1311443" xreflabel=""/>loadgen&gt; start 20                 start 20 echo clients 
1901 <anchor xml:id="dbdoclet.50438219_pgfId-1311446" xreflabel=""/>loadgen&gt; wr 10 5                  have 10 clients do simultaneous brw_write \
1902 tests 5 times each 
1903 <anchor xml:id="dbdoclet.50438219_pgfId-1311451" xreflabel=""/> 
1904 <anchor xml:id="dbdoclet.50438219_pgfId-1311452" xreflabel=""/>Available commands are: 
1905 <anchor xml:id="dbdoclet.50438219_pgfId-1311462" xreflabel=""/>   device 
1906 <anchor xml:id="dbdoclet.50438219_pgfId-1311472" xreflabel=""/>   dl 
1907 <anchor xml:id="dbdoclet.50438219_pgfId-1311482" xreflabel=""/>   echosrv 
1908 <anchor xml:id="dbdoclet.50438219_pgfId-1311492" xreflabel=""/>   start 
1909 <anchor xml:id="dbdoclet.50438219_pgfId-1311502" xreflabel=""/>   verbose 
1910 <anchor xml:id="dbdoclet.50438219_pgfId-1311512" xreflabel=""/>   wait 
1911 <anchor xml:id="dbdoclet.50438219_pgfId-1311522" xreflabel=""/>   write 
1912 <anchor xml:id="dbdoclet.50438219_pgfId-1311532" xreflabel=""/>   help 
1913 <anchor xml:id="dbdoclet.50438219_pgfId-1311542" xreflabel=""/>   exit 
1914 <anchor xml:id="dbdoclet.50438219_pgfId-1311552" xreflabel=""/>   quit 
1915 <anchor xml:id="dbdoclet.50438219_pgfId-1311557" xreflabel=""/> 
1916 <anchor xml:id="dbdoclet.50438219_pgfId-1311558" xreflabel=""/>For more help type: help command-name 
1917 <anchor xml:id="dbdoclet.50438219_pgfId-1311561" xreflabel=""/>loadgen&gt; 
1918 <anchor xml:id="dbdoclet.50438219_pgfId-1311564" xreflabel=""/>loadgen&gt; device lustre-OST0000 192.168.0.21@tcp 
1919 <anchor xml:id="dbdoclet.50438219_pgfId-1311567" xreflabel=""/>Added uuid OSS_UUID: 192.168.0.21@tcp 
1920 <anchor xml:id="dbdoclet.50438219_pgfId-1311570" xreflabel=""/>Target OST name is &apos;lustre-OST0000&apos; 
1921 <anchor xml:id="dbdoclet.50438219_pgfId-1311573" xreflabel=""/>loadgen&gt; 
1922 <anchor xml:id="dbdoclet.50438219_pgfId-1311576" xreflabel=""/>loadgen&gt; st 4 
1923 <anchor xml:id="dbdoclet.50438219_pgfId-1311579" xreflabel=""/>start 0 to 4 
1924 <anchor xml:id="dbdoclet.50438219_pgfId-1311582" xreflabel=""/>./loadgen: running thread #1 
1925 <anchor xml:id="dbdoclet.50438219_pgfId-1311585" xreflabel=""/>./loadgen: running thread #2 
1926 <anchor xml:id="dbdoclet.50438219_pgfId-1311588" xreflabel=""/>./loadgen: running thread #3 
1927 <anchor xml:id="dbdoclet.50438219_pgfId-1311591" xreflabel=""/>./loadgen: running thread #4 
1928 <anchor xml:id="dbdoclet.50438219_pgfId-1311594" xreflabel=""/>loadgen&gt; wr 4 5 
1929 <anchor xml:id="dbdoclet.50438219_pgfId-1311597" xreflabel=""/>Estimate 76 clients before we run out of grant space (155872K / 2097152) 
1930 <anchor xml:id="dbdoclet.50438219_pgfId-1311600" xreflabel=""/>1: i0 
1931 <anchor xml:id="dbdoclet.50438219_pgfId-1311603" xreflabel=""/>2: i0 
1932 <anchor xml:id="dbdoclet.50438219_pgfId-1311606" xreflabel=""/>4: i0 
1933 <anchor xml:id="dbdoclet.50438219_pgfId-1311609" xreflabel=""/>3: i0 
1934 <anchor xml:id="dbdoclet.50438219_pgfId-1311612" xreflabel=""/>1: done (0) 
1935 <anchor xml:id="dbdoclet.50438219_pgfId-1311615" xreflabel=""/>2: done (0) 
1936 <anchor xml:id="dbdoclet.50438219_pgfId-1311618" xreflabel=""/>4: done (0) 
1937 <anchor xml:id="dbdoclet.50438219_pgfId-1311621" xreflabel=""/>3: done (0) 
1938 <anchor xml:id="dbdoclet.50438219_pgfId-1311624" xreflabel=""/>wrote 25MB in 1.419s (17.623 MB/s) 
1939 <anchor xml:id="dbdoclet.50438219_pgfId-1311627" xreflabel=""/>loadgen&gt; 
1940 </screen>
1941           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311630" xreflabel=""/>The loadgen utility prints periodic status messages; message output can be controlled with the verbose command.</para>
1942           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311657" xreflabel=""/>To insure that a file can be written to (a requirement of write cache), OSTs reserve (&quot;grants&quot;), chunks of space for each newly-created file. A grant may cause an OST to report that it is out of space, even though there is plenty of space on the disk, because the space is &quot;reserved&quot; by other files. The loadgen utility estimates the number of simultaneous open files as the disk size divided by the grant size and reports that number when the write tests are first started.</para>
1943           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311332" xreflabel=""/><emphasis role="bold">Echo Server</emphasis></para>
1944           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311333" xreflabel=""/>The loadgen utility can start an echo server. On another node, loadgen can specify the echo server as the device, thus creating a network-only test environment.</para>
1945           <screen><anchor xml:id="dbdoclet.50438219_pgfId-1311700" xreflabel=""/>loadgen&gt; echosrv 
1946 <anchor xml:id="dbdoclet.50438219_pgfId-1311723" xreflabel=""/>loadgen&gt; dl 
1947 <anchor xml:id="dbdoclet.50438219_pgfId-1311730" xreflabel=""/>   0 UP obdecho echosrv echosrv 3 
1948 <anchor xml:id="dbdoclet.50438219_pgfId-1311734" xreflabel=""/>   1 UP ost OSS OSS 3 
1949 </screen>
1950           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311335" xreflabel=""/>On another node:</para>
1951           <screen><anchor xml:id="dbdoclet.50438219_pgfId-1311752" xreflabel=""/>loadgen&gt; device echosrv cfs21@tcp 
1952 <anchor xml:id="dbdoclet.50438219_pgfId-1311785" xreflabel=""/>Added uuid OSS_UUID: 192.168.0.21@tcp 
1953 <anchor xml:id="dbdoclet.50438219_pgfId-1311788" xreflabel=""/>Target OST name is &apos;echosrv&apos; 
1954 <anchor xml:id="dbdoclet.50438219_pgfId-1311791" xreflabel=""/>loadgen&gt; st 1 
1955 <anchor xml:id="dbdoclet.50438219_pgfId-1311794" xreflabel=""/>start 0 to 1 
1956 <anchor xml:id="dbdoclet.50438219_pgfId-1311797" xreflabel=""/>./loadgen: running thread #1 
1957 <anchor xml:id="dbdoclet.50438219_pgfId-1311800" xreflabel=""/>loadgen&gt; wr 1 
1958 <anchor xml:id="dbdoclet.50438219_pgfId-1311803" xreflabel=""/>start a test_brw write test on X clients for Y iterations 
1959 <anchor xml:id="dbdoclet.50438219_pgfId-1311806" xreflabel=""/>usage: write &lt;num_clients&gt; &lt;num_iter&gt; [&lt;delay&gt;] 
1960 <anchor xml:id="dbdoclet.50438219_pgfId-1311809" xreflabel=""/>loadgen&gt; wr 1 1 
1961 <anchor xml:id="dbdoclet.50438219_pgfId-1311812" xreflabel=""/>loadgen&gt; 
1962 <anchor xml:id="dbdoclet.50438219_pgfId-1311815" xreflabel=""/>1: i0 
1963 <anchor xml:id="dbdoclet.50438219_pgfId-1311818" xreflabel=""/>1: done (0) 
1964 <anchor xml:id="dbdoclet.50438219_pgfId-1311821" xreflabel=""/>wrote 1MB in 0.029s (34.023 MB/s)
1965 </screen>
1966           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311750" xreflabel=""/>Scripting</para>
1967           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311747" xreflabel=""/>The threads all perform their actions in non-blocking mode; use the wait command to block for the idle state. For example:</para>
1968           <screen><anchor xml:id="dbdoclet.50438219_pgfId-1311833" xreflabel=""/>#!/bin/bash 
1969 <anchor xml:id="dbdoclet.50438219_pgfId-1311852" xreflabel=""/>./loadgen &lt;&lt; EOF 
1970 <anchor xml:id="dbdoclet.50438219_pgfId-1311855" xreflabel=""/>device lustre-OST0000 
1971 <anchor xml:id="dbdoclet.50438219_pgfId-1311858" xreflabel=""/>st 1 
1972 <anchor xml:id="dbdoclet.50438219_pgfId-1311864" xreflabel=""/>wr 1 10 
1973 <anchor xml:id="dbdoclet.50438219_pgfId-1311863" xreflabel=""/>wait 
1974 <anchor xml:id="dbdoclet.50438219_pgfId-1311867" xreflabel=""/>quit 
1975 <anchor xml:id="dbdoclet.50438219_pgfId-1311870" xreflabel=""/>EOF 
1976 </screen>
1977           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311749" xreflabel=""/><emphasis role="bold">Feature Requests</emphasis></para>
1978           <para><anchor xml:id="dbdoclet.50438219_pgfId-1311881" xreflabel=""/>The loadgen utility is intended to grow into a more comprehensive test tool; feature requests are encouraged. The current feature requests include:</para>
1979           <itemizedlist><listitem>
1980               <para><anchor xml:id="dbdoclet.50438219_pgfId-1311883" xreflabel=""/> Locking simulation</para>
1981             </listitem>
1982 <listitem>
1983               <itemizedlist><listitem>
1984                   <para><anchor xml:id="dbdoclet.50438219_pgfId-1311917" xreflabel=""/> Many (echo) clients cache locks for the specified resource at the same time.</para>
1985                 </listitem>
1986 <listitem>
1987                   <para> </para>
1988                 </listitem>
1989 <listitem>
1990                   <para><anchor xml:id="dbdoclet.50438219_pgfId-1311927" xreflabel=""/> Many (echo) clients enqueue locks for the specified resource simultaneously.</para>
1991                 </listitem>
1992 <listitem>
1993                   <para> </para>
1994                 </listitem>
1995 </itemizedlist>
1996             </listitem>
1997 <listitem>
1998               <para><anchor xml:id="dbdoclet.50438219_pgfId-1311888" xreflabel=""/> obdsurvey functionality</para>
1999             </listitem>
2000 <listitem>
2001               <itemizedlist><listitem>
2002                   <para><anchor xml:id="dbdoclet.50438219_pgfId-1311941" xreflabel=""/> Fold the Lustre I/O kit’s obdsurvey script functionality into loadgen</para>
2003                 </listitem>
2004 <listitem>
2005                   <para> </para>
2006                 </listitem>
2007 </itemizedlist>
2008             </listitem>
2009 </itemizedlist>
2010         </section>
2011         <section remap="h5">
2012           <title><anchor xml:id="dbdoclet.50438219_pgfId-1315452" xreflabel=""/>llog_reader</title>
2013           <para><anchor xml:id="dbdoclet.50438219_pgfId-1315453" xreflabel=""/>The llog_reader utility translates a Lustre configuration log into human-readable form.</para>
2014         </section>
2015         <section remap="h5">
2016           <title><anchor xml:id="dbdoclet.50438219_pgfId-1315454" xreflabel=""/>Synopsis</title>
2017           <screen><anchor xml:id="dbdoclet.50438219_pgfId-1315455" xreflabel=""/>llog_reader filename
2018 </screen>
2019         </section>
2020         <section remap="h5">
2021           <title><anchor xml:id="dbdoclet.50438219_pgfId-1315458" xreflabel=""/>Description</title>
2022           <para>llog_reader parses the binary format of Lustre’s on-disk configuration logs. It can only read the logs. Use tunefs.lustre to write to them.</para>
2023           <para><anchor xml:id="dbdoclet.50438219_pgfId-1315459" xreflabel=""/>To examine a log file on a stopped Lustre server, mount its backing file system as ldiskfs, then use llog_reader to dump the log file’s contents. For example:</para>
2024           <screen><anchor xml:id="dbdoclet.50438219_pgfId-1315460" xreflabel=""/>mount -t ldiskfs /dev/sda /mnt/mgs 
2025 <anchor xml:id="dbdoclet.50438219_pgfId-1315461" xreflabel=""/>llog_reader /mnt/mgs/CONFIGS/tfs-client
2026 </screen>
2027           <para><anchor xml:id="dbdoclet.50438219_pgfId-1315462" xreflabel=""/>To examine the same log file on a running Lustre server, use the ldiskfs-enabled debugfs utility (called debug.ldiskfs on some distributions) to extract the file. For example:</para>
2028           <screen><anchor xml:id="dbdoclet.50438219_pgfId-1315463" xreflabel=""/>debugfs -c -R â€™dump CONFIGS/tfs-client /tmp/tfs-client’ /dev/sda 
2029 <anchor xml:id="dbdoclet.50438219_pgfId-1315464" xreflabel=""/>llog_reader /tmp/tfs-client
2030 </screen>
2031           <informaltable frame="none">
2032             <tgroup cols="2">
2033               <colspec colname="c1" colwidth="5*"/>
2034               <colspec colname="c2" colwidth="95*"/>
2035               
2036               
2037               <tbody>
2038                 <row>
2039                   <entry><para><inlinemediaobject><imageobject role="html">
2040                           <imagedata fileref="./shared/caution.gif" scalefit="1"/>
2041                         </imageobject>
2042 <imageobject role="fo">
2043                           <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/caution.gif" scalefit="1" width="100%"/>
2044                         </imageobject>
2045 </inlinemediaobject></para></entry>
2046                   <entry><para><emphasis role="bold">Caution -</emphasis><anchor xml:id="dbdoclet.50438219_pgfId-1315476" xreflabel=""/>Although they are stored in the CONFIGS directory, mountdata files do not use the config log format and will confuse llog_reader.</para></entry>
2047                 </row>
2048               </tbody>
2049             </tgroup>
2050           </informaltable>
2051            <para><anchor xml:id="dbdoclet.50438219_pgfId-1315477" xreflabel=""/><emphasis role="bold">See Also</emphasis></para>
2052           <para><anchor xml:id="dbdoclet.50438219_pgfId-1315478" xreflabel=""/><link xl:href="SystemConfigurationUtilities_HTML.html#50438219_39574">tunefs.lustre</link></para>
2053         </section>
2054         <section remap="h5">
2055           <title><anchor xml:id="dbdoclet.50438219_pgfId-1294873" xreflabel=""/>lr_reader</title>
2056           <para><anchor xml:id="dbdoclet.50438219_pgfId-1294874" xreflabel=""/>The lr_reader utility translates a last received (last_rcvd) file into human-readable form.</para>
2057           <para><anchor xml:id="dbdoclet.50438219_pgfId-1318389" xreflabel=""/>The following utilites are part of the Lustre I/O kit. For more information, see <link xl:href="BenchmarkingTests.html#50438212_37215">Chapter 24</link><emphasis>:</emphasis><link xl:href="BenchmarkingTests.html#50438212_66186">Benchmarking Lustre Performance (Lustre I/O Kit)</link>.</para>
2058         </section>
2059         <section remap="h5">
2060           <title><anchor xml:id="dbdoclet.50438219_pgfId-1318396" xreflabel=""/>sgpdd_survey</title>
2061           <para><anchor xml:id="dbdoclet.50438219_pgfId-1318397" xreflabel=""/>The sgpdd_survey utility tests &apos;bare metal&apos; performance, bypassing as much of the kernel as possible. The sgpdd_survey tool does not require Lustre, but it does require the sgp_dd package.</para>
2062           <informaltable frame="none">
2063             <tgroup cols="2">
2064               <colspec colname="c1" colwidth="5*"/>
2065               <colspec colname="c2" colwidth="95*"/>
2066               
2067               
2068               <tbody>
2069                 <row>
2070                   <entry><para><inlinemediaobject><imageobject role="html">
2071                           <imagedata fileref="./shared/caution.gif" scalefit="1"/>
2072                         </imageobject>
2073 <imageobject role="fo">
2074                           <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/caution.gif" scalefit="1" width="100%"/>
2075                         </imageobject>
2076 </inlinemediaobject></para></entry>
2077                   <entry><para><emphasis role="bold">Caution -</emphasis><anchor xml:id="dbdoclet.50438219_pgfId-1318398" xreflabel=""/>The sgpdd_survey utility erases all data on the device.</para></entry>
2078                 </row>
2079               </tbody>
2080             </tgroup>
2081           </informaltable>
2082         </section>
2083         <section remap="h5">
2084           <title><anchor xml:id="dbdoclet.50438219_pgfId-1318399" xreflabel=""/>obdfilter_survey</title>
2085           <para><anchor xml:id="dbdoclet.50438219_pgfId-1318400" xreflabel=""/>The obdfilter_survey utility is a shell script that tests performance of isolated OSTS, the network via echo clients, and an end-to-end test.</para>
2086         </section>
2087         <section remap="h5">
2088           <title><anchor xml:id="dbdoclet.50438219_pgfId-1318401" xreflabel=""/>ior-survey</title>
2089           <para><anchor xml:id="dbdoclet.50438219_pgfId-1318402" xreflabel=""/>The ior-survey utility is a script used to run the IOR benchmark. Lustre includes IOR version 2.8.6.</para>
2090         </section>
2091         <section remap="h5">
2092           <title><anchor xml:id="dbdoclet.50438219_pgfId-1318403" xreflabel=""/>ost_survey</title>
2093           <para><anchor xml:id="dbdoclet.50438219_pgfId-1318404" xreflabel=""/>The ost_survey utility is an OST performance survey that tests client-to-disk performance of the individual OSTs in a Lustre file system.</para>
2094         </section>
2095         <section remap="h5">
2096           <title><anchor xml:id="dbdoclet.50438219_pgfId-1318405" xreflabel=""/>stats-collect</title>
2097           <para><anchor xml:id="dbdoclet.50438219_pgfId-1318406" xreflabel=""/>The stats-collect utility contains scripts used to collect application profiling information from Lustre clients and servers.</para>
2098         </section>
2099       </section>
2100       <section remap="h3">
2101         <title><anchor xml:id="dbdoclet.50438219_pgfId-1295755" xreflabel=""/>36.19.4 Flock <anchor xml:id="dbdoclet.50438219_marker-1295910" xreflabel=""/>Feature</title>
2102         <para><anchor xml:id="dbdoclet.50438219_pgfId-1295756" xreflabel=""/>Lustre now includes the flock feature, which provides file locking support. Flock describes classes of file locks known as â€˜flocks’. Flock can apply or remove a lock on an open file as specified by the user. However, a single file may not, simultaneously, have both shared and exclusive locks.</para>
2103         <para><anchor xml:id="dbdoclet.50438219_pgfId-1295757" xreflabel=""/>By default, the flock utility is disabled on Lustre. Two modes are available.</para>
2104          <informaltable frame="none">
2105           <tgroup cols="2">
2106             <colspec colname="c1" colwidth="50*"/>
2107             <colspec colname="c2" colwidth="50*"/>
2108             <tbody>
2109               <row>
2110                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1295805" xreflabel=""/><emphasis role="bold">local mode</emphasis></para></entry>
2111                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1295807" xreflabel=""/> In this mode, locks are coherent on one node (a single-node flock), but not across all clients. To enable it, use -o localflock. This is a client-mount option.</para><para><emphasis role="bold">NOTE</emphasis>: This mode does not impact performance and is appropriate for single-node databases.</para></entry>
2112               </row>
2113               <row>
2114                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1295809" xreflabel=""/><emphasis role="bold">consistent mode</emphasis></para></entry>
2115                 <entry><para> <anchor xml:id="dbdoclet.50438219_pgfId-1312474" xreflabel=""/>In this mode, locks are coherent across all clients.</para><para> To enable it, use the -o flock. This is a client-mount option.</para><para><emphasis role="bold">CAUTION</emphasis>: This mode affects the performance of the file being flocked and may affect stability, depending on the Lustre version used. Consider using a newer Lustre version which is more stable. If the consistent mode is enabled and no applications are using flock, then it has no effect.</para></entry>
2116               </row>
2117             </tbody>
2118           </tgroup>
2119         </informaltable>
2120          <para><anchor xml:id="dbdoclet.50438219_pgfId-1295883" xreflabel=""/>A call to use flock may be blocked if another process is holding an incompatible lock. Locks created using flock are applicable for an open file table entry. Therefore, a single process may hold only one type of lock (shared or exclusive) on a single file. Subsequent flock calls on a file that is already locked converts the existing lock to the new lock mode.</para>
2121         <section remap="h4">
2122           <title><anchor xml:id="dbdoclet.50438219_pgfId-1295763" xreflabel=""/>36.19.4.1 Example</title>
2123           <screen><anchor xml:id="dbdoclet.50438219_pgfId-1295764" xreflabel=""/>$ mount -t lustre -o flock mds@tcp0:/lustre /mnt/client
2124 </screen>
2125           <para><anchor xml:id="dbdoclet.50438219_pgfId-1295765" xreflabel=""/>You can check it in /etc/mtab. It should look like,</para>
2126           <screen><anchor xml:id="dbdoclet.50438219_pgfId-1295766" xreflabel=""/>mds@tcp0:/lustre /mnt/client lustre rw,flock         0       0
2127 </screen>
2128           <!--
2129 Begin SiteCatalyst code version: G.5.
2130 -->
2131           <!--
2132 End SiteCatalyst code version: G.5.
2133 -->
2134             <informaltable frame="none">
2135             <tgroup cols="3">
2136               <colspec colname="c1" colwidth="33*"/>
2137               <colspec colname="c2" colwidth="33*"/>
2138               <colspec colname="c3" colwidth="33*"/>
2139               
2140               
2141               
2142               <tbody>
2143                 <row>
2144                   <entry align="left"><para>Lustre 2.0 Operations Manual</para></entry>
2145                   <entry align="right"><para>821-2076-10</para></entry>
2146                   <entry align="right" valign="top"><para><link xl:href="index.html"><inlinemediaobject><imageobject role="html">
2147                             <imagedata contentdepth="26" contentwidth="30" fileref="./shared/toc01.gif" scalefit="1"/>
2148                           </imageobject>
2149 <imageobject role="fo">
2150                             <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/toc01.gif" scalefit="1" width="100%"/>
2151                           </imageobject>
2152 </inlinemediaobject></link><link xl:href="ConfigurationFilesModuleParameters.html"><inlinemediaobject><imageobject role="html">
2153                             <imagedata contentdepth="26" contentwidth="30" fileref="./shared/prev01.gif" scalefit="1"/>
2154                           </imageobject>
2155 <imageobject role="fo">
2156                             <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/prev01.gif" scalefit="1" width="100%"/>
2157                           </imageobject>
2158 </inlinemediaobject></link><link xl:href="Glossary.html"><inlinemediaobject><imageobject role="html">
2159                             <imagedata contentdepth="26" contentwidth="30" fileref="./shared/next01.gif" scalefit="1"/>
2160                           </imageobject>
2161 <imageobject role="fo">
2162                             <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/next01.gif" scalefit="1" width="100%"/>
2163                           </imageobject>
2164 </inlinemediaobject></link><link xl:href="ix.html"><inlinemediaobject><imageobject role="html">
2165                             <imagedata contentdepth="26" contentwidth="30" fileref="./shared/index01.gif" scalefit="1"/>
2166                           </imageobject>
2167 <imageobject role="fo">
2168                             <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/index01.gif" scalefit="1" width="100%"/>
2169                           </imageobject>
2170 </inlinemediaobject></link></para></entry>
2171                 </row>
2172               </tbody>
2173             </tgroup>
2174           </informaltable>
2175           <para><link xl:href=""/></para>
2176           <para><link xl:href="copyright.html">Copyright</link> © 2011, Oracle and/or its affiliates. All rights reserved.</para>
2177         </section>
2178       </section>
2179     </section>
2180   </section>
2181 </article>