Whamcloud - gitweb
LUDOC-341 utils: document "lfs pool_list" correctly
[doc/manual.git] / UserUtilities.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <chapter xmlns="http://docbook.org/ns/docbook"
3 xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en-US"
4 xml:id="userutilities"
5 xmlns:xi="http://www.w3.org/2001/XInclude">
6   <title xml:id="userutilities.title">User Utilities</title>
7   <para>This chapter describes user utilities.</para>
8   <section xml:id="dbdoclet.50438206_94597">
9     <title>
10       <indexterm>
11         <primary>lfs</primary>
12       </indexterm>
13       <literal>lfs</literal>
14     </title>
15     <para>The 
16     <literal>lfs</literal> utility can be used for user configuration routines
17     and monitoring.</para>
18     <section remap="h5">
19       <title>Synopsis</title>
20       <screen>
21 lfs
22 lfs changelog [--follow] <replaceable>mdt_name</replaceable> [startrec [endrec]]
23 lfs changelog_clear <replaceable>mdt_name id endrec</replaceable>
24 lfs check <replaceable>mds|osts|servers</replaceable>
25 lfs df [-i] [-h] [--pool]-p <replaceable>fsname</replaceable>[.<replaceable>pool</replaceable>] [<replaceable>path</replaceable>] [--lazy]
26 lfs find [[!] --atime|-A [-+]N] [[!] --mtime|-M [-+]N]
27          [[!] --ctime|-C [-+]N] [--maxdepth|-D N] [--name|-n <replaceable>pattern</replaceable>]
28          [--print|-p] [--print0|-P] [[!] --obd|-O <replaceable>ost_name</replaceable>[,<replaceable>ost_name...</replaceable>]]
29          [[!] --size|-S [+-]N[kMGTPE]] --type |-t {bcdflpsD}]
30          [[!] --gid|-g|--group|-G <replaceable>gname|gid</replaceable>]
31          [[!] --uid|-u|--user|-U <replaceable>uname|uid</replaceable>]
32          <replaceable>dirname|filename</replaceable>
33 lfs getname [-h]|[path...]
34 lfs getstripe [--obd|-O <replaceable>ost_name</replaceable>] [--quiet|-q] [--verbose|-v]
35               [--count|-c] [--index|-i | --offset|-o]
36               [--size|-s] [--pool|-p] [--directory|-d]
37               [--recursive|-r] [--raw|-R] [-M] 
38               <replaceable>dirname|filename</replaceable> ...
39 lfs setstripe [--size|-s stripe_size] [--count|-c <replaceable>stripe_count</replaceable>]
40               [--stripe-index|-i <replaceable>start_ost_index</replaceable>]
41               [--ost-list|-o <replaceable>ost_indicies</replaceable>]
42               [--pool|-p <replaceable>pool</replaceable>]
43               <replaceable>dirname|filename</replaceable>
44 lfs setstripe -d <replaceable>dir</replaceable>
45 lfs osts [path]
46 lfs pool_list <replaceable>filesystem</replaceable>[.<replaceable>pool</replaceable>]| <replaceable>pathname</replaceable>
47 lfs quota [-q] [-v] [-h] [-o <replaceable>obd_uuid</replaceable>|-I <replaceable>ost_idx</replaceable>|-i <replaceable>mdt_idx</replaceable>]
48           [-u <replaceable>username|uid|-g</replaceable> <replaceable>group|gid</replaceable>] <replaceable>/mount_point</replaceable>
49 lfs quota -t -u|-g <replaceable>/mount_point</replaceable>
50 lfs quotacheck [-ug] <replaceable>/mount_point</replaceable>
51 lfs quotachown [-i] <replaceable>/mount_point</replaceable>
52 lfs quotainv [-ug] [-f] <replaceable>/mount_point</replaceable>
53 lfs quotaon [-ugf] <replaceable>/mount_point</replaceable>
54 lfs quotaoff [-ug] <replaceable>/mount_point</replaceable>
55 lfs setquota {-u|--user|-g|--group} <replaceable>uname|uid|gname|gid</replaceable>
56              [--block-softlimit <replaceable>block_softlimit</replaceable>]
57              [--block-hardlimit <replaceable>block_hardlimit</replaceable>]
58              [--inode-softlimit <replaceable>inode_softlimit</replaceable>]
59              [--inode-hardlimit <replaceable>inode_hardlimit</replaceable>]
60              <replaceable>/mount_point</replaceable>
61 lfs setquota -u|--user|-g|--group <replaceable>uname|uid|gname|gid</replaceable>
62              [-b <replaceable>block_softlimit</replaceable>] [-B <replaceable>block_hardlimit</replaceable>]
63              [-i <replaceable>inode-softlimit</replaceable>] [-I <replaceable>inode_hardlimit</replaceable>]
64              <replaceable>/mount_point</replaceable>
65 lfs setquota -t -u|-g [--block-grace <replaceable>block_grace</replaceable>]
66              [--inode-grace <replaceable>inode_grace</replaceable>]
67              <replaceable>/mount_point</replaceable>
68 lfs setquota -t -u|-g [-b <replaceable>block_grace</replaceable>] [-i <replaceable>inode_grace</replaceable>]
69              <replaceable>/mount_point</replaceable>
70 lfs help
71 </screen>
72       <note>
73         <para>In the above example, the 
74         <literal>
75           <replaceable>/mount_point</replaceable>
76         </literal> parameter refers to the mount point of the Lustre file
77         system.</para>
78       </note>
79       <note>
80         <para>The old lfs quota output was very detailed and contained
81         cluster-wide quota statistics (including cluster-wide limits for a
82         user/group and cluster-wide usage for a user/group), as well as
83         statistics for each MDS/OST. Now, 
84         <literal>lfs quota</literal> has been updated to provide only
85         cluster-wide statistics, by default. To obtain the full report of
86         cluster-wide limits, usage and statistics, use the 
87         <literal>-v</literal> option with 
88         <literal>lfs quota</literal>.</para>
89       </note>
90     </section>
91     <section remap="h5">
92       <title>Description</title>
93       <para>The 
94       <literal>lfs</literal> utility is used to create a new file with a
95       specific striping pattern, determine the default striping pattern, gather
96       the extended attributes (object numbers and location) for a specific
97       file, find files with specific attributes, list OST information or set
98       quota limits. It can be invoked interactively without any arguments or in
99       a non-interactive mode with one of the supported arguments.</para>
100     </section>
101     <section remap="h5">
102       <title>Options</title>
103       <para>The various 
104       <literal>lfs</literal> options are listed and described below. For a
105       complete list of available options, type help at the 
106       <literal>lfs</literal> prompt.</para>
107       <informaltable frame="all">
108         <tgroup cols="3">
109           <colspec colname="c1" colwidth="20*" />
110           <colspec colname="c2" colwidth="30*" />
111           <colspec colname="c3" colwidth="50*" />
112           <thead>
113             <row>
114               <entry nameend="c2" namest="c1">
115                 <para>
116                   <emphasis role="bold">Option</emphasis>
117                 </para>
118               </entry>
119               <entry>
120                 <para>
121                   <emphasis role="bold">Description</emphasis>
122                 </para>
123               </entry>
124             </row>
125           </thead>
126           <tbody>
127             <row>
128               <entry nameend="c2" namest="c1">
129                 <para>
130                   <literal>changelog</literal>
131                 </para>
132               </entry>
133               <entry>
134                 <para>Shows the metadata changes on an MDT. Start and end
135                 points are optional. The 
136                 <literal>--follow</literal> option blocks on new changes; this
137                 option is only valid when run directly on the MDT node.</para>
138               </entry>
139             </row>
140             <row>
141               <entry nameend="c2" namest="c1">
142                 <para>
143                   <literal>changelog_clear</literal>
144                 </para>
145               </entry>
146               <entry>
147                 <para>Indicates that changelog records previous to 
148                 <literal>
149                   <replaceable>endrec</replaceable>
150                 </literal> are no longer of interest to a particular consumer 
151                 <literal>
152                   <replaceable>id</replaceable>
153                 </literal>, potentially allowing the MDT to free up disk space.
154                 An 
155                 <literal>
156                   <replaceable>endrec</replaceable>
157                 </literal> of 0 indicates the current last record. Changelog
158                 consumers must be registered on the MDT node using 
159                 <literal>lctl</literal>.</para>
160               </entry>
161             </row>
162             <row>
163               <entry nameend="c2" namest="c1">
164                 <literal>check</literal>
165               </entry>
166               <entry>
167                 <para>Displays the status of MDS or OSTs (as specified in the
168                 command) or all servers (MDS and OSTs).</para>
169               </entry>
170             </row>
171             <row>
172               <entry nameend="c2" namest="c1">
173                 <literal>df [-i] [-h] [--pool|-p 
174                 <replaceable>fsname</replaceable>[.
175                 <replaceable>pool</replaceable>] [
176                 <replaceable>path</replaceable>] [--lazy]</literal>
177               </entry>
178               <entry>
179                 <para>Use 
180                 <literal>-i</literal> to report file system disk space usage or
181                 inode usage of each MDT or OST or, if a pool is specified with
182                 the 
183                 <literal>-p</literal> option, a subset of OSTs.</para>
184                 <para>By default, the usage of all mounted Lustre file systems
185                 is reported. If the 
186                 <literal>path</literal> option is included, only the usage for
187                 the specified file system is reported. If the 
188                 <literal>-h</literal> option is included, the output is printed
189                 in human-readable format, using SI base-2 suffixes for 
190                 <emphasis role="bold">M</emphasis>ega-, 
191                 <emphasis role="bold">G</emphasis>iga-, 
192                 <emphasis role="bold">T</emphasis>era-, 
193                 <emphasis role="bold">P</emphasis>eta-, or 
194                 <emphasis role="bold">E</emphasis>xabytes.</para>
195                 <para>If the 
196                 <literal>--lazy</literal> option is specified, any OST that is
197                 currently disconnected from the client will be skipped. Using
198                 the 
199                 <literal>--lazy</literal> option prevents the 
200                 <literal>df</literal> output from being blocked when an OST is
201                 offline. Only the space on the OSTs that can currently be
202                 accessed are returned. The 
203                 <literal>llite.*.lazystatfs</literal> tunable can be enabled to
204                 make this the default behaviour for all 
205                 <literal>statfs()</literal> operations.</para>
206               </entry>
207             </row>
208             <row>
209               <entry nameend="c2" namest="c1">
210                 <para>
211                   <literal>find</literal>
212                 </para>
213               </entry>
214               <entry>
215                 <para>Searches the directory tree rooted at the given
216                 directory/filename for files that match the given
217                 parameters.</para>
218                 <para>Using 
219                 <literal>!</literal> before an option negates its meaning (files
220                 NOT matching the parameter). Using 
221                 <literal>+</literal> before a numeric value means files with the
222                 parameter OR MORE. Using 
223                 <literal>-</literal> before a numeric value means files with the
224                 parameter OR LESS.</para>
225               </entry>
226             </row>
227             <row>
228               <entry />
229               <entry>
230                 <literal>--atime</literal>
231               </entry>
232               <entry>
233                 <para>File was last accessed N*24 hours ago. (There is no
234                 guarantee that 
235                 <literal>atime</literal> is kept coherent across the
236                 cluster.)</para>
237                 <para>OSTs store a transient 
238                 <literal>atime</literal> that is updated when clients do read
239                 requests. Permanent 
240                 <literal>atime</literal> is written to the MDS when the file is
241                 closed. However, on-disk atime is only updated if it is more
242                 than 60 seconds old (
243                 <literal>/proc/fs/lustre/mds/*/max_atime_diff</literal>). The
244                 Lustre software considers the latest 
245                 <literal>atime</literal> from all OSTs. If a 
246                 <literal>setattr</literal> is set by user, then it is updated on
247                 both the MDS and OST, allowing the 
248                 <literal>atime</literal> to go backward.</para>
249               </entry>
250             </row>
251             <row>
252               <entry>
253                 <para>&#160;</para>
254               </entry>
255               <entry>
256                 <para>
257                   <literal>--ctime</literal>
258                 </para>
259               </entry>
260               <entry>
261                 <para>File status was last changed N*24 hours ago.</para>
262               </entry>
263             </row>
264             <row>
265               <entry>
266                 <para>&#160;</para>
267               </entry>
268               <entry>
269                 <para>
270                   <literal>--mtime</literal>
271                 </para>
272               </entry>
273               <entry>
274                 <para>File data was last modified N*24 hours ago.</para>
275               </entry>
276             </row>
277             <row>
278               <entry>
279                 <para>&#160;</para>
280               </entry>
281               <entry>
282                 <para>
283                   <literal>--obd</literal>
284                 </para>
285               </entry>
286               <entry>
287                 <para>File has an object on a specific OST(s).</para>
288               </entry>
289             </row>
290             <row>
291               <entry>
292                 <para>&#160;</para>
293               </entry>
294               <entry>
295                 <para>
296                   <literal>--size</literal>
297                 </para>
298               </entry>
299               <entry>
300                 <para>File has a size in bytes, or kilo-, Mega-, Giga-, Tera-,
301                 Peta- or Exabytes if a suffix is given.</para>
302               </entry>
303             </row>
304             <row>
305               <entry>
306                 <para>&#160;</para>
307               </entry>
308               <entry>
309                 <para>
310                   <literal>--type</literal>
311                 </para>
312               </entry>
313               <entry>
314                 <para>File has the type - block, character, directory, pipe,
315                 file, symlink, socket or door (used in Solaris operating
316                 system).</para>
317               </entry>
318             </row>
319             <row>
320               <entry>
321                 <para>&#160;</para>
322               </entry>
323               <entry>
324                 <para>
325                   <literal>--uid</literal>
326                 </para>
327               </entry>
328               <entry>
329                 <para>File has a specific numeric user ID.</para>
330               </entry>
331             </row>
332             <row>
333               <entry>
334                 <para>&#160;</para>
335               </entry>
336               <entry>
337                 <para>
338                   <literal>--user</literal>
339                 </para>
340               </entry>
341               <entry>
342                 <para>File owned by a specific user (numeric user ID
343                 allowed).</para>
344               </entry>
345             </row>
346             <row>
347               <entry>
348                 <para>&#160;</para>
349               </entry>
350               <entry>
351                 <para>
352                   <literal>--gid</literal>
353                 </para>
354               </entry>
355               <entry>
356                 <para>File has a specific group ID.</para>
357               </entry>
358             </row>
359             <row>
360               <entry>
361                 <para>&#160;</para>
362               </entry>
363               <entry>
364                 <para>
365                   <literal>--group</literal>
366                 </para>
367               </entry>
368               <entry>
369                 <para>File belongs to a specific group (numeric group ID
370                 allowed).</para>
371               </entry>
372             </row>
373             <row>
374               <entry>
375                 <para>&#160;</para>
376               </entry>
377               <entry>
378                 <para>-
379                 <literal>-maxdepth</literal></para>
380               </entry>
381               <entry>
382                 <para>Limits find to descend at most N levels of the directory
383                 tree.</para>
384               </entry>
385             </row>
386             <row>
387               <entry>
388                 <para>&#160;</para>
389               </entry>
390               <entry>
391                 <para>
392                 <literal>--print</literal>/ 
393                 <literal>--print0</literal></para>
394               </entry>
395               <entry>
396                 <para>Prints the full filename, followed by a new line or NULL
397                 character correspondingly.</para>
398               </entry>
399             </row>
400             <row>
401               <entry nameend="c2" namest="c1">
402                 <para>
403                   <literal>osts [path]</literal>
404                 </para>
405               </entry>
406               <entry>
407                 <para>Lists all OSTs for the file system. If a path located on
408                 a mounted Lustre file system is specified, then only OSTs
409                 belonging to this file system are displayed.</para>
410               </entry>
411             </row>
412             <row>
413               <entry nameend="c2" namest="c1">
414                 <para>
415                   <literal>getname [path...]</literal>
416                 </para>
417               </entry>
418               <entry>
419                 <para>List each Lustre file system instance associated with
420                 each Lustre mount point. If no path is specified, all Lustre
421                 mount points are interrogated. If a list of paths is provided,
422                 the instance of each path is provided. If the path is not a
423                 Lustre instance 'No such device' is returned.</para>
424               </entry>
425             </row>
426             <row>
427               <entry nameend="c2" namest="c1">
428                 <para>
429                   <literal>getstripe</literal>
430                 </para>
431               </entry>
432               <entry>
433                 <para>Lists striping information for a given filename or
434                 directory. By default, the stripe count, stripe size and offset
435                 are returned.</para>
436                 <para>If you only want specific striping information, then the
437                 options of 
438                 <literal>--count</literal>,
439                 <literal>--size</literal>,
440                 <literal>--index</literal> or 
441                 <literal>--offset</literal> plus various combinations of these
442                 options can be used to retrieve specific information.</para>
443                 <para>If the 
444                 <literal>--raw</literal> option is specified, the stripe
445                 information is printed without substituting the file system
446                 default values for unspecified fields. If the striping EA is
447                 not set, 0, 0, and -1 will be printed for the stripe count,
448                 size, and offset respectively.</para>
449                 <para condition="l24">The 
450                 <literal>-M</literal> prints the index of the MDT for a given
451                 directory. See 
452                 <xref linkend="dbdoclet.rmremotedir" />.</para>
453               </entry>
454             </row>
455             <row>
456               <entry>
457                 <para>&#160;</para>
458               </entry>
459               <entry>
460                 <para>
461                   <literal>--obd 
462                   <replaceable>ost_name</replaceable></literal>
463                 </para>
464               </entry>
465               <entry>
466                 <para>Lists files that have an object on a specific OST.</para>
467               </entry>
468             </row>
469             <row>
470               <entry>
471                 <para>&#160;</para>
472               </entry>
473               <entry>
474                 <para>
475                   <literal>--quiet</literal>
476                 </para>
477               </entry>
478               <entry>
479                 <para>Lists details about the file's object ID
480                 information.</para>
481               </entry>
482             </row>
483             <row>
484               <entry>
485                 <para>&#160;</para>
486               </entry>
487               <entry>
488                 <para>
489                   <literal>--verbose</literal>
490                 </para>
491               </entry>
492               <entry>
493                 <para>Prints additional striping information.</para>
494               </entry>
495             </row>
496             <row>
497               <entry>
498                 <para>&#160;</para>
499               </entry>
500               <entry>
501                 <para>
502                   <literal>--count</literal>
503                 </para>
504               </entry>
505               <entry>
506                 <para>Lists the stripe count (how many OSTs to use).</para>
507               </entry>
508             </row>
509             <row>
510               <entry>
511                 <para>&#160;</para>
512               </entry>
513               <entry>
514                 <para>
515                   <literal>--index</literal>
516                 </para>
517               </entry>
518               <entry>
519                 <para>Lists the index for each OST in the file system.</para>
520               </entry>
521             </row>
522             <row>
523               <entry>
524                 <para>&#160;</para>
525               </entry>
526               <entry>
527                 <para>
528                   <literal>--offset</literal>
529                 </para>
530               </entry>
531               <entry>
532                 <para>Lists the OST index on which file striping starts.</para>
533               </entry>
534             </row>
535             <row>
536               <entry>
537                 <para>&#160;</para>
538               </entry>
539               <entry>
540                 <para>
541                   <literal>--pool</literal>
542                 </para>
543               </entry>
544               <entry>
545                 <para>Lists the pools to which a file belongs.</para>
546               </entry>
547             </row>
548             <row>
549               <entry>
550                 <para>&#160;</para>
551               </entry>
552               <entry>
553                 <para>
554                   <literal>--size</literal>
555                 </para>
556               </entry>
557               <entry>
558                 <para>Lists the stripe size (how much data to write to one OST
559                 before moving to the next OST).</para>
560               </entry>
561             </row>
562             <row>
563               <entry>
564                 <para>&#160;</para>
565               </entry>
566               <entry>
567                 <para>
568                   <literal>--directory</literal>
569                 </para>
570               </entry>
571               <entry>
572                 <para>Lists entries about a specified directory instead of its
573                 contents (in the same manner as 
574                 <literal>ls -d</literal>).</para>
575               </entry>
576             </row>
577             <row>
578               <entry>
579                 <para>&#160;</para>
580               </entry>
581               <entry>
582                 <para>
583                   <literal>--recursive</literal>
584                 </para>
585               </entry>
586               <entry>
587                 <para>Recurses into all sub-directories.</para>
588               </entry>
589             </row>
590             <row>
591               <entry nameend="c2" namest="c1">
592                 <para>
593                   <literal>setstripe</literal>
594                 </para>
595               </entry>
596               <entry>
597                 <para>Create new files with a specific file layout (stripe
598                 pattern) configuration.
599                 <footnote>
600                   <para>The file cannot exist prior to using 
601                   <literal>setstripe</literal>. A directory must exist prior to
602                   using 
603                   <literal>setstripe</literal>.</para>
604                 </footnote></para>
605               </entry>
606             </row>
607             <row>
608               <entry>
609                 <para>&#160;</para>
610               </entry>
611               <entry>
612                 <para>
613                   <literal>--count stripe_cnt</literal>
614                 </para>
615               </entry>
616               <entry>
617                 <para>Number of OSTs over which to stripe a file. A 
618                 <literal>stripe_cnt</literal> of 0 uses the file system-wide
619                 default stripe count (default is 1). A 
620                 <literal>stripe_cnt</literal> of -1 stripes over all available
621                 OSTs.</para>
622               </entry>
623             </row>
624             <row>
625               <entry>
626                 <para>&#160;</para>
627               </entry>
628               <entry>
629                 <para>
630                 <literal>--size stripe_size</literal>
631                 <footnote>
632                   <para>The default stripe-size is 0. The default start-ost is
633                   -1. Do NOT confuse them! If you set start-ost to 0, all new
634                   file creations occur on OST 0 (seldom a good idea).</para>
635                 </footnote>&#160;</para>
636               </entry>
637               <entry>
638                 <para>Number of bytes to store on an OST before moving to the
639                 next OST. A stripe_size of 0 uses the file system's default
640                 stripe size, (default is 1 MB). Can be specified with 
641                 <emphasis role="bold">k</emphasis>(KB), 
642                 <emphasis role="bold">m</emphasis>(MB), or 
643                 <emphasis role="bold">g</emphasis>(GB), respectively.</para>
644               </entry>
645             </row>
646             <row>
647               <entry>
648                 <para>&#160;</para>
649               </entry>
650               <entry>
651                 <para>
652                   <literal>--stripe-index start_ost_index</literal>
653                 </para>
654               </entry>
655               <entry>
656                 <para>The OST index (base 10, starting at 0) on which to start
657                 striping for this file. A start_ost_index value of -1 allows
658                 the MDS to choose the starting index. This is the default
659                 value, and it means that the MDS selects the starting OST as it
660                 wants. We strongly recommend selecting this default, as it
661                 allows space and load balancing to be done by the MDS as
662                 needed. The 
663                 <literal>start_ost_index</literal> value has no relevance on
664                 whether the MDS will use round-robin or QoS weighted allocation
665                 for the remaining stripes in the file.</para>
666               </entry>
667             </row>
668             <row>
669               <entry>
670                 <para>&#160;</para>
671               </entry>
672               <entry>
673                 <para>
674                   <literal>--ost-index ost_indices</literal>
675                 </para>
676               </entry>
677               <entry>
678                                 <para>This option is used to specify the exact stripe
679                 layout on the the file system. <literal>ost_indices</literal>
680                 is a list of OSTs referenced by their indices and index ranges
681                 separated by commas, e.g. <literal>1,2-4,7</literal>.</para>
682               </entry>
683             </row>
684             <row>
685               <entry>
686                 <para>&#160;</para>
687               </entry>
688               <entry>
689                 <para>
690                   <literal>--pool 
691                   <replaceable>pool</replaceable></literal>
692                 </para>
693               </entry>
694               <entry>
695                 <para>Name of the pre-defined pool of OSTs (see 
696                 <xref linkend="dbdoclet.50438219_38274" />) that will be used
697                 for striping. The 
698                 <literal>stripe_cnt</literal>, 
699                 <literal>stripe_size</literal> and 
700                 <literal>start_ost</literal> values are used as well. The
701                 start-ost value must be part of the pool or an error is
702                 returned.</para>
703               </entry>
704             </row>
705             <row>
706               <entry nameend="c2" namest="c1">
707                 <para>
708                   <literal>setstripe -d</literal>
709                 </para>
710               </entry>
711               <entry>
712                 <para>Deletes default striping on the specified
713                 directory.</para>
714               </entry>
715             </row>
716             <row>
717               <entry nameend="c2" namest="c1">
718                 <para>
719                   <literal>pool_list {filesystem}[.poolname]|{pathname}</literal>
720                 </para>
721               </entry>
722               <entry>
723                 <para>Lists pools in the file system or pathname, or OSTs in
724                 the file system's pool.</para>
725               </entry>
726             </row>
727             <row>
728               <entry nameend="c2" namest="c1">
729                 <para>
730                   <literal>quota [-q] [-v] [-o 
731                   <replaceable>obd_uuid</replaceable>|-i 
732                   <replaceable>mdt_idx</replaceable>|-I 
733                   <replaceable>ost_idx</replaceable>] [-u|-g 
734                   <replaceable>uname|uid|gname|gid]</replaceable>
735                   <replaceable>/mount_point</replaceable></literal>
736                 </para>
737                 <para>&#160;</para>
738               </entry>
739               <entry>
740                 <para>Displays disk usage and limits, either for the full file
741                 system or for objects on a specific OBD. A user or group name
742                 or an ID can be specified. If both user and group are omitted,
743                 quotas for the current UID/GID are shown. The 
744                 <literal>-q</literal> option disables printing of additional
745                 descriptions (including column titles). It fills in blank
746                 spaces in the 
747                 <literal>grace</literal> column with zeros (when there is no
748                 grace period set), to ensure that the number of columns is
749                 consistent. The 
750                 <literal>-v</literal> option provides more verbose (per-OBD
751                 statistics) output.</para>
752               </entry>
753             </row>
754             <row>
755               <entry nameend="c2" namest="c1">
756                 <para>
757                   <literal>quota -t 
758                   <replaceable>-u|-g</replaceable>
759                   <replaceable>/mount_point</replaceable></literal>
760                 </para>
761               </entry>
762               <entry>
763                 <para>Displays block and inode grace times for user (
764                 <literal>-u</literal>) or group (
765                 <literal>-g</literal>) quotas.</para>
766               </entry>
767             </row>
768             <row>
769               <entry nameend="c2" namest="c1">
770                 <para>
771                   <literal>quotachown</literal>
772                 </para>
773               </entry>
774               <entry>
775                 <para>Changes the file's owner and group on OSTs of the
776                 specified file system.</para>
777               </entry>
778             </row>
779             <row>
780               <entry nameend="c2" namest="c1">
781                 <para>
782                   <literal>quotacheck [-ugf] 
783                   <replaceable>/mount_point</replaceable></literal>
784                 </para>
785               </entry>
786               <entry>
787                 <para>Scans the specified file system for disk usage, and
788                 creates or updates quota files. Options specify quota for users
789                 (
790                 <literal>-u</literal>), groups (
791                 <literal>-g</literal>), and force (
792                 <literal>-f</literal>).</para>
793               </entry>
794             </row>
795             <row>
796               <entry nameend="c2" namest="c1">
797                 <para>
798                   <literal>quotaon [-ugf] 
799                   <replaceable>/mount_point</replaceable></literal>
800                 </para>
801               </entry>
802               <entry>
803                 <para>Turns on file system quotas. Options specify quota for
804                 users (
805                 <literal>-u</literal>), groups (
806                 <literal>-g</literal>), and force (
807                 <literal>-f</literal>).</para>
808               </entry>
809             </row>
810             <row>
811               <entry nameend="c2" namest="c1">
812                 <para>
813                   <literal>quotaoff [-ugf] 
814                   <replaceable>/mount_point</replaceable></literal>
815                 </para>
816               </entry>
817               <entry>
818                 <para>Turns off file system quotas. Options specify quota for
819                 users (
820                 <literal>-u</literal>), groups (
821                 <literal>-g</literal>), and force (
822                 <literal>-f</literal>).</para>
823               </entry>
824             </row>
825             <row>
826               <entry nameend="c2" namest="c1">
827                 <para>
828                   <literal>quotainv [-ug] [-f] 
829                   <replaceable>/mount_point</replaceable></literal>
830                 </para>
831               </entry>
832               <entry>
833                 <para>Clears quota files (administrative quota files if used
834                 without 
835                 <literal>-f</literal>, operational quota files otherwise), all
836                 of their quota entries for users (
837                 <literal>-u</literal>) or groups (
838                 <literal>-g</literal>). After running 
839                 <literal>quotainv</literal>, you must run 
840                 <literal>quotacheck</literal> before using quotas.</para>
841                 <caution>
842                   <para>Use extreme caution when using this command; its
843                   results cannot be undone.</para>
844                 </caution>
845               </entry>
846             </row>
847             <row>
848               <entry nameend="c2" namest="c1">
849                 <para>
850                   <literal>setquota -u|-g 
851                   <replaceable>
852                   uname|uid|gname|gid}</replaceable>[--block-softlimit 
853                   <replaceable>block_softlimit</replaceable>]
854                   [--block-hardlimit 
855                   <replaceable>block_hardlimit</replaceable>]
856                   [--inode-softlimit 
857                   <replaceable>inode_softlimit</replaceable>]
858                   [--inode-hardlimit 
859                   <replaceable>inode_hardlimit</replaceable>] 
860                   <replaceable>/mount_point</replaceable></literal>
861                 </para>
862               </entry>
863               <entry>
864                 <para>Sets file system quotas for users or groups. Limits can
865                 be specified with 
866                 <literal>--{block|inode}-{softlimit|hardlimit}</literal> or
867                 their short equivalents 
868                 <literal>-b</literal>, 
869                 <literal>-B</literal>, 
870                 <literal>-i</literal>, 
871                 <literal>-I</literal>. Users can set 1, 2, 3 or 4 limits.
872                 <footnote>
873                   <para>The old 
874                   <literal>setquota</literal> interface is supported, but it may
875                   be removed in a future Lustre software release.</para>
876                 </footnote>Also, limits can be specified with special suffixes,
877                 -b, -k, -m, -g, -t, and -p to indicate units of 1, 2^10, 2^20,
878                 2^30, 2^40 and 2^50, respectively. By default, the block limits
879                 unit is 1 kilobyte (1,024), and block limits are always
880                 kilobyte-grained (even if specified in bytes). See 
881                 <xref linkend="dbdoclet.50438206_11903" />.</para>
882               </entry>
883             </row>
884             <row>
885               <entry nameend="c2" namest="c1">
886                 <para>
887                   <literal>setquota -t -u|-g [--block-grace 
888                   <replaceable>block_grace</replaceable>] [--inode-grace 
889                   <replaceable>inode_grace</replaceable>] 
890                   <replaceable>/mount_point</replaceable></literal>
891                 </para>
892               </entry>
893               <entry>
894                 <para>Sets the file system quota grace times for users or
895                 groups. Grace time is specified in '
896                 <literal>XXwXXdXXhXXmXXs</literal>' format or as an integer
897                 seconds value. See 
898                 <xref linkend="dbdoclet.50438206_11903" />.</para>
899               </entry>
900             </row>
901             <row>
902               <entry nameend="c2" namest="c1">
903                 <para>
904                   <literal>help</literal>
905                 </para>
906               </entry>
907               <entry>
908                 <para>Provides brief help on various 
909                 <literal>lfs</literal> arguments.</para>
910               </entry>
911             </row>
912             <row>
913               <entry nameend="c2" namest="c1">
914                 <para>
915                   <literal>exit/quit</literal>
916                 </para>
917               </entry>
918               <entry>
919                 <para>Quits the interactive 
920                 <literal>lfs</literal> session.</para>
921               </entry>
922             </row>
923           </tbody>
924         </tgroup>
925       </informaltable>
926     </section>
927     <section remap="h5">
928       <title xml:id="dbdoclet.50438206_11903">Examples</title>
929       <para>Creates a file striped on two OSTs with 128 KB on each
930       stripe.</para>
931       <screen>
932 $ lfs setstripe -s 128k -c 2 /mnt/lustre/file1
933 </screen>
934       <para>Deletes a default stripe pattern on a given directory. New files
935       use the default striping pattern.</para>
936       <screen>
937 $ lfs setstripe -d /mnt/lustre/dir
938 </screen>
939       <para>Lists the detailed object allocation of a given file.</para>
940       <screen>
941 $ lfs getstripe -v /mnt/lustre/file1
942 </screen>
943       <para>List all the mounted Lustre file systems and corresponding Lustre
944       instances.</para>
945       <screen>
946 $ lfs getname
947 </screen>
948       <para>Efficiently lists all files in a given directory and its
949       subdirectories.</para>
950       <screen>
951 $ lfs find /mnt/lustre
952 </screen>
953       <para>Recursively lists all regular files in a given directory more than
954       30 days old.</para>
955       <screen>
956 $ lfs find /mnt/lustre -mtime +30 -type f -print
957 </screen>
958       <para>Recursively lists all files in a given directory that have objects
959       on OST2-UUID. The lfs check servers command checks the status of all
960       servers (MDT and OSTs).</para>
961       <screen>
962 $ lfs find --obd OST2-UUID /mnt/lustre/
963 </screen>
964       <para>Lists all OSTs in the file system.</para>
965       <screen>
966 $ lfs osts
967 </screen>
968       <para>Lists space usage per OST and MDT in human-readable format.</para>
969       <screen>
970 $ lfs df -h
971 </screen>
972       <para>Lists inode usage per OST and MDT.</para>
973       <screen>
974 $ lfs df -i
975 </screen>
976       <para>List space or inode usage for a specific OST pool.</para>
977       <screen>
978 $ lfs df --pool 
979 <replaceable>filesystem</replaceable>[.
980 <replaceable>pool</replaceable>] | 
981 <replaceable>pathname</replaceable>
982 </screen>
983       <para>List quotas of user 'bob'.</para>
984       <screen>
985 $ lfs quota -u bob /mnt/lustre
986 </screen>
987       <para>Show grace times for user quotas on 
988       <literal>/mnt/lustre</literal>.</para>
989       <screen>
990 $ lfs quota -t -u /mnt/lustre
991 </screen>
992       <para>Changes file owner and group.</para>
993       <screen>
994 $ lfs quotachown -i /mnt/lustre
995 </screen>
996       <para>Checks quotas for user and group. Turns on quotas after making the
997       check.</para>
998       <screen>
999 $ lfs quotacheck -ug /mnt/lustre
1000 </screen>
1001       <para>Turns on quotas of user and group.</para>
1002       <screen>
1003 $ lfs quotaon -ug /mnt/lustre
1004 </screen>
1005       <para>Turns off quotas of user and group.</para>
1006       <screen>
1007 $ lfs quotaoff -ug /mnt/lustre
1008 </screen>
1009       <para>Sets quotas of user 'bob', with a 1 GB block quota hardlimit and a
1010       2 GB block quota softlimit.</para>
1011       <screen>
1012 $ lfs setquota -u bob --block-softlimit 2000000 --block-hardlimit 1000000
1013 /mnt/lustre
1014 </screen>
1015       <para>Sets grace times for user quotas: 1000 seconds for block quotas, 1
1016       week and 4 days for inode quotas.</para>
1017       <screen>
1018 $ lfs setquota -t -u --block-grace 1000 --inode-grace 1w4d /mnt/lustre
1019 </screen>
1020       <para>Checks the status of all servers (MDT, OST)</para>
1021       <screen>
1022 $ lfs check servers
1023 </screen>
1024       <para>Creates a file striped on two OSTs from the pool 
1025       <literal>my_pool</literal></para>
1026       <screen>
1027 $ lfs setstripe --pool my_pool -c 2 /mnt/lustre/file
1028 </screen>
1029       <para>Lists the pools defined for the mounted Lustre file system 
1030       <literal>/mnt/lustre</literal></para>
1031       <screen>
1032 $ lfs pool_list /mnt/lustre/
1033 </screen>
1034       <para>Lists the OSTs which are members of the pool 
1035       <literal>my_pool</literal> in file system 
1036       <literal>my_fs</literal></para>
1037       <screen>
1038 $ lfs pool_list my_fs.my_pool
1039 </screen>
1040       <para>Finds all directories/files associated with 
1041       <literal>poolA</literal>.</para>
1042       <screen>
1043 $ lfs find /mnt/lustre --pool poolA
1044 </screen>
1045       <para>Finds all directories/files not associated with a pool.</para>
1046       <screen>
1047 $ lfs find /mnt//lustre --pool ""
1048 </screen>
1049       <para>Finds all directories/files associated with pool.</para>
1050       <screen>
1051 $ lfs find /mnt/lustre ! --pool ""
1052 </screen>
1053       <para>Associates a directory with the pool 
1054       <literal>my_pool</literal>, so all new files and directories are created
1055       in the pool.</para>
1056       <screen>
1057 $ lfs setstripe --pool my_pool /mnt/lustre/dir
1058 </screen>
1059     </section>
1060     <section remap="h5">
1061       <title>See Also</title>
1062       <para>
1063         <xref linkend="dbdoclet.50438219_38274" />
1064       </para>
1065     </section>
1066   </section>
1067   <section xml:id="dbdoclet.50438206_42260">
1068     <title>
1069       <indexterm>
1070         <primary>lfs_migrate</primary>
1071       </indexterm>
1072       <literal>lfs_migrate</literal>
1073     </title>
1074     <para>The 
1075     <literal>lfs_migrate</literal> utility is a simple tool to migrate files
1076     between Lustre OSTs.</para>
1077     <section remap="h5">
1078       <title>Synopsis</title>
1079       <screen>
1080 lfs_migrate [-c <replaceable>stripecount</replaceable>] [-h] [-l] [-n] [-q] [-R] [-s] [-y]
1081 [file|directory ...]
1082 </screen>
1083     </section>
1084     <section remap="h5">
1085       <title>Description</title>
1086       <para>The 
1087       <literal>lfs_migrate</literal> utility is a simple tool to assist
1088       migration of files between Lustre OSTs. The utility copies each specified
1089       file to a new file, verifies the file contents have not changed, and then
1090       renames the new file to the original filename. This allows balanced space
1091       usage between OSTs, moving files off OSTs that are starting to show
1092       hardware problems (though are still functional) or OSTs that will be
1093       discontinued.</para>
1094       <warning>
1095         <para>For versions of Lustre before 2.5, 
1096         <literal>lfs_migrate</literal> is not closely integrated with the MDS,
1097         it cannot determine whether a file is currently open and/or in-use by
1098         other applications or nodes. This makes it UNSAFE for use on files that
1099         might be modified by other applications, since the migrated file is
1100         only a copy of the current file. This results in the old file becoming
1101         an open-unlinked file and any modifications to that file are
1102         lost.</para>
1103       </warning>
1104       <para>Files to be migrated can be specified as command-line arguments. If
1105       a directory is specified on the command-line then all files within the
1106       directory are migrated. If no files are specified on the command-line,
1107       then a list of files is read from the standard input, making 
1108       <literal>lfs_migrate</literal> suitable for use with 
1109       <literal>lfs</literal> find to locate files on specific OSTs and/or
1110       matching other file attributes.</para>
1111       <para>The current file allocation policies on the MDS dictate where the
1112       new files are placed, taking into account whether specific OSTs have been
1113       disabled on the MDS via 
1114       <literal>lctl</literal>(preventing new files from being allocated there),
1115       whether some OSTs are overly full (reducing the number of files placed on
1116       those OSTs), or if there is a specific default file striping for the
1117       target directory (potentially changing the stripe count, stripe size, OST
1118       pool, or OST index of a new file).</para>
1119       <note>
1120         <para>The 
1121         <literal>lfs_migrate</literal> utility can also be used in some cases to
1122         reduce file 
1123         <indexterm>
1124           <primary>fragmentation</primary>
1125         </indexterm>fragmentation. File fragmentation will typically reduce
1126         Lustre file system performance. File fragmentation may be observed on
1127         an aged file system and will commonly occur if the file was written by
1128         many threads. Provided there is sufficient free space (or if it was
1129         written when the file system was nearly full) that is less fragmented
1130         than the file being copied, re-writing a file with 
1131         <literal>lfs_migrate</literal> will result in a migrated file with
1132         reduced fragmentation. The tool 
1133         <literal>filefrag</literal> can be used to report file fragmentation.
1134         See 
1135         <xref linkend="dbdoclet.50438206_75125" /></para>
1136       </note>
1137       <note>
1138         <para>As long as a file has extent lengths of tens of megabytes (
1139         <replaceable>read_bandwidth * seek_time</replaceable>) or more, the
1140         read performance for the file will not be significantly impacted by
1141         fragmentation, since the read pipeline can be filled by large reads
1142         from disk even with an occasional disk seek.</para>
1143       </note>
1144     </section>
1145     <section remap="h5">
1146       <title>Options</title>
1147       <para>Options supporting 
1148       <literal>lfs_migrate</literal> are described below.</para>
1149       <informaltable frame="all">
1150         <tgroup cols="2">
1151           <colspec colname="c1" colwidth="50*" />
1152           <colspec colname="c2" colwidth="50*" />
1153           <thead>
1154             <row>
1155               <entry>
1156                 <para>
1157                   <emphasis role="bold">Option</emphasis>
1158                 </para>
1159               </entry>
1160               <entry>
1161                 <para>
1162                   <emphasis role="bold">Description</emphasis>
1163                 </para>
1164               </entry>
1165             </row>
1166           </thead>
1167           <tbody>
1168             <row>
1169               <entry>
1170                 <para>
1171                   <literal>-c 
1172                   <replaceable>stripecount</replaceable></literal>
1173                 </para>
1174               </entry>
1175               <entry>
1176                 <para>Restripe file using the specified stripe count. This
1177                 option may not be specified at the same time as the 
1178                 <literal>-R</literal> option.</para>
1179               </entry>
1180             </row>
1181             <row>
1182               <entry>
1183                 <para>
1184                   <literal>-h</literal>
1185                 </para>
1186               </entry>
1187               <entry>
1188                 <para>Display help information.</para>
1189               </entry>
1190             </row>
1191             <row>
1192               <entry>
1193                 <literal>-l</literal>
1194               </entry>
1195               <entry>
1196                 <para>Migrate files with hard links (skips, by default). Files
1197                 with multiple hard links are split into multiple separate files
1198                 by 
1199                 <literal>lfs_migrate</literal>, so they are skipped, by
1200                 default, to avoid breaking the hard links.</para>
1201               </entry>
1202             </row>
1203             <row>
1204               <entry>
1205                 <literal>-n</literal>
1206               </entry>
1207               <entry>
1208                 <para>Only print the names of files to be migrated.</para>
1209               </entry>
1210             </row>
1211             <row>
1212               <entry>
1213                 <para>
1214                   <literal>-q</literal>
1215                 </para>
1216               </entry>
1217               <entry>
1218                 <para>Run quietly (does not print filenames or status).</para>
1219               </entry>
1220             </row>
1221             <row>
1222               <entry>
1223                 <literal>-R</literal>
1224               </entry>
1225               <entry>Restripe file using default directory striping instead of
1226               keeping striping. This option may not be specified at the same
1227               time as the 
1228               <literal>-c</literal> option.</entry>
1229             </row>
1230             <row>
1231               <entry>
1232                 <literal>-s</literal>
1233               </entry>
1234               <entry>Skip file data comparison after migrate. Default is to
1235               compare migrated file against original to verify
1236               correctness.</entry>
1237             </row>
1238             <row>
1239               <entry>
1240                 <para>
1241                   <literal>-y</literal>
1242                 </para>
1243               </entry>
1244               <entry>
1245                 <para>Answer '
1246                 <literal>y</literal>' to usage warning without prompting (for
1247                 scripts, use with caution).</para>
1248               </entry>
1249             </row>
1250           </tbody>
1251         </tgroup>
1252       </informaltable>
1253     </section>
1254     <section remap="h5">
1255       <title>Examples</title>
1256       <para>Rebalances all files in 
1257       <literal>/mnt/lustre/dir</literal>.</para>
1258       <screen>
1259 $ lfs_migrate /mnt/lustre/file
1260 </screen>
1261       <para>Migrates files in /test filesystem on OST004 larger than 4 GB in
1262       size.</para>
1263       <screen>
1264 $ lfs find /test -obd test-OST004 -size +4G | lfs_migrate -y
1265 </screen>
1266     </section>
1267     <section remap="h5">
1268       <title>See Also</title>
1269       <para>
1270         <xref linkend="dbdoclet.50438206_94597" />
1271       </para>
1272     </section>
1273   </section>
1274   <section xml:id="dbdoclet.50438206_75125">
1275     <title>
1276       <indexterm>
1277         <primary>filefrag</primary>
1278       </indexterm>
1279       <literal>filefrag</literal>
1280     </title>
1281     <para>The 
1282     <literal>e2fsprogs</literal> package contains the 
1283     <literal>filefrag</literal> tool which reports the extent of file
1284     fragmentation.</para>
1285     <section remap="h5">
1286       <title>Synopsis</title>
1287       <screen>
1288 filefrag [ -belsv ] [ files...  ]
1289 </screen>
1290     </section>
1291     <section remap="h5">
1292       <title>Description</title>
1293       <para>The 
1294       <literal>filefrag</literal> utility reports the extent of fragmentation in
1295       a given file. The 
1296       <literal>filefrag</literal> utility obtains the extent information from
1297       Lustre files using the 
1298       <literal>FIEMAP ioctl</literal>, which is efficient and fast, even for
1299       very large files.</para>
1300       <para>In default mode 
1301       <footnote>
1302         <para>The default mode is faster than the verbose/extent mode since it
1303         only counts the number of extents.</para>
1304       </footnote>, 
1305       <literal>filefrag</literal> prints the number of physically discontiguous
1306       extents in the file. In extent or verbose mode, each extent is printed
1307       with details such as the blocks allocated on each OST. For a Lustre file
1308       system, the extents are printed in device offset order (i.e. all of the
1309       extents for one OST first, then the next OST, etc.), not file logical
1310       offset order. If the file logical offset order was used, the Lustre
1311       striping would make the output very verbose and difficult to see if there
1312       was file fragmentation or not.</para>
1313       <note>
1314         <para>Note that as long as a file has extent lengths of tens of
1315         megabytes or more (i.e. 
1316         <replaceable>read_bandwidth * seek_time &gt;
1317         extent_length</replaceable>), the read performance for the file will
1318         not be significantly impacted by fragmentation, since file readahead
1319         can fully utilize the disk disk bandwidth even with occasional
1320         seeks.</para>
1321       </note>
1322       <para>In default mode 
1323       <footnote>
1324         <para>The default mode is faster than the verbose/extent mode.</para>
1325       </footnote>, 
1326       <literal>filefrag</literal> returns the number of physically discontiguous
1327       extents in the file. In extent or verbose mode, each extent is printed
1328       with details. For a Lustre file system, the extents are printed in device
1329       offset order, not logical offset order.</para>
1330     </section>
1331     <section remap="h5">
1332       <title>Options</title>
1333       <para>The options and descriptions for the 
1334       <literal>filefrag</literal> utility are listed below.</para>
1335       <informaltable frame="all">
1336         <tgroup cols="2">
1337           <colspec colname="c1" colwidth="50*" />
1338           <colspec colname="c2" colwidth="50*" />
1339           <thead>
1340             <row>
1341               <entry>
1342                 <para>
1343                   <emphasis role="bold">Option</emphasis>
1344                 </para>
1345               </entry>
1346               <entry>
1347                 <para>
1348                   <emphasis role="bold">Description</emphasis>
1349                 </para>
1350               </entry>
1351             </row>
1352           </thead>
1353           <tbody>
1354             <row>
1355               <entry>
1356                 <para>
1357                   <literal>-b</literal>
1358                 </para>
1359               </entry>
1360               <entry>
1361                 <para>Uses the 1024-byte blocksize for the output. By default,
1362                 this blocksize is used by the Lustre file system, since OSTs
1363                 may use different block sizes.</para>
1364               </entry>
1365             </row>
1366             <row>
1367               <entry>
1368                 <para>
1369                   <literal>-e</literal>
1370                 </para>
1371               </entry>
1372               <entry>
1373                 <para>Uses the extent mode when printing the output. This is
1374                 the default for Lustre files in verbose mode.</para>
1375               </entry>
1376             </row>
1377             <row>
1378               <entry>
1379                 <para>
1380                   <literal>-l</literal>
1381                 </para>
1382               </entry>
1383               <entry>
1384                 <para>Displays extents in LUN offset order. This is the only
1385                 available mode for Lustre.</para>
1386               </entry>
1387             </row>
1388             <row>
1389               <entry>
1390                 <para>
1391                   <literal>-s</literal>
1392                 </para>
1393               </entry>
1394               <entry>
1395                 <para>Synchronizes any unwritten file data to disk before
1396                 requesting the mapping.</para>
1397               </entry>
1398             </row>
1399             <row>
1400               <entry>
1401                 <para>
1402                   <literal>-v</literal>
1403                 </para>
1404               </entry>
1405               <entry>
1406                 <para>Prints the file's layout in verbose mode when checking
1407                 file fragmentation, including the logical to physical mapping
1408                 for each extent in the file and the OST index.</para>
1409               </entry>
1410             </row>
1411           </tbody>
1412         </tgroup>
1413       </informaltable>
1414     </section>
1415     <section remap="h5">
1416       <title>Examples</title>
1417       <para>Lists default output.</para>
1418       <screen>
1419 $ filefrag /mnt/lustre/foo
1420 /mnt/lustre/foo: 13 extents found
1421 </screen>
1422       <para>Lists verbose output in extent format.</para>
1423       <screen>
1424 $ filefrag -v /mnt/lustre/foo
1425 Filesystem type is: bd00bd0
1426 File size of /mnt/lustre/foo is 1468297786 (1433888 blocks of 1024 bytes)
1427  ext:     device_logical:        physical_offset: length:  dev: flags:
1428    0:        0..  122879: 2804679680..2804802559: 122880: 0002: network
1429    1:   122880..  245759: 2804817920..2804940799: 122880: 0002: network
1430    2:   245760..  278527: 2804948992..2804981759:  32768: 0002: network
1431    3:   278528..  360447: 2804982784..2805064703:  81920: 0002: network
1432    4:   360448..  483327: 2805080064..2805202943: 122880: 0002: network
1433    5:   483328..  606207: 2805211136..2805334015: 122880: 0002: network
1434    6:   606208..  729087: 2805342208..2805465087: 122880: 0002: network
1435    7:   729088..  851967: 2805473280..2805596159: 122880: 0002: network
1436    8:   851968..  974847: 2805604352..2805727231: 122880: 0002: network
1437    9:   974848.. 1097727: 2805735424..2805858303: 122880: 0002: network
1438   10:  1097728.. 1220607: 2805866496..2805989375: 122880: 0002: network
1439   11:  1220608.. 1343487: 2805997568..2806120447: 122880: 0002: network
1440   12:  1343488.. 1433599: 2806128640..2806218751:  90112: 0002: network
1441 /mnt/lustre/foo: 13 extents found
1442 </screen>
1443     </section>
1444   </section>
1445   <section xml:id="dbdoclet.50438206_86244">
1446     <title>
1447       <indexterm>
1448         <primary>mount</primary>
1449       </indexterm>
1450       <literal>mount</literal>
1451     </title>
1452     <para>The standard 
1453     <literal>mount(8)</literal> Linux command is used to mount a Lustre file
1454     system. When mounting a Lustre file system, mount(8) executes the 
1455     <literal>/sbin/mount.lustre</literal> command to complete the mount. The
1456     mount command supports these options specific to a Lustre file
1457     system:</para>
1458     <informaltable frame="all">
1459       <tgroup cols="2">
1460         <colspec colname="c1" colwidth="50*" />
1461         <colspec colname="c2" colwidth="50*" />
1462         <thead>
1463           <row>
1464             <entry>
1465               <para>
1466                 <emphasis role="bold">Server options</emphasis>
1467               </para>
1468             </entry>
1469             <entry>
1470               <para>
1471                 <emphasis role="bold">Description</emphasis>
1472               </para>
1473             </entry>
1474           </row>
1475         </thead>
1476         <tbody>
1477           <row>
1478             <entry>
1479               <para>
1480                 <literal>abort_recov</literal>
1481               </para>
1482             </entry>
1483             <entry>
1484               <para>Aborts recovery when starting a target</para>
1485             </entry>
1486           </row>
1487           <row>
1488             <entry>
1489               <para>
1490                 <literal>nosvc</literal>
1491               </para>
1492             </entry>
1493             <entry>
1494               <para>Starts only MGS/MGC servers</para>
1495             </entry>
1496           </row>
1497           <row>
1498             <entry>
1499               <para>
1500                 <literal>nomgs</literal>
1501               </para>
1502             </entry>
1503             <entry>
1504               <para>Start a MDT with a co-located MGS without starting the
1505               MGS</para>
1506             </entry>
1507           </row>
1508           <row>
1509             <entry>
1510               <para>
1511                 <literal>exclude</literal>
1512               </para>
1513             </entry>
1514             <entry>
1515               <para>Starts with a dead OST</para>
1516             </entry>
1517           </row>
1518           <row>
1519             <entry>
1520               <para>
1521                 <literal>md_stripe_cache_size</literal>
1522               </para>
1523             </entry>
1524             <entry>
1525               <para>Sets the stripe cache size for server side disk with a
1526               striped raid configuration</para>
1527             </entry>
1528           </row>
1529         </tbody>
1530       </tgroup>
1531     </informaltable>
1532     <informaltable frame="all">
1533       <tgroup cols="2">
1534         <colspec colname="c1" colwidth="50*" />
1535         <colspec colname="c2" colwidth="50*" />
1536         <thead>
1537           <row>
1538             <entry>
1539               <para>
1540                 <emphasis role="bold">Client options</emphasis>
1541               </para>
1542             </entry>
1543             <entry>
1544               <para>
1545                 <emphasis role="bold">Description</emphasis>
1546               </para>
1547             </entry>
1548           </row>
1549         </thead>
1550         <tbody>
1551           <row>
1552             <entry>
1553               <para>
1554                 <literal>flock/noflock/localflock</literal>
1555               </para>
1556             </entry>
1557             <entry>
1558               <para>Enables/disables global flock or local flock support</para>
1559             </entry>
1560           </row>
1561           <row>
1562             <entry>
1563               <para>
1564                 <literal>user_xattr/nouser_xattr</literal>
1565               </para>
1566             </entry>
1567             <entry>
1568               <para>Enables/disables user-extended attributes</para>
1569             </entry>
1570           </row>
1571           <row>
1572             <entry>
1573               <para>
1574                 <literal>user_fid2path/nouser_fid2path</literal>
1575               </para>
1576             </entry>
1577             <entry>
1578               <para condition="l23">Enables/disables FID to path translation by
1579               regular users</para>
1580             </entry>
1581           </row>
1582           <row>
1583             <entry>
1584               <para>
1585                 <literal>retry=</literal>
1586               </para>
1587             </entry>
1588             <entry>
1589               <para>Number of times a client will retry to mount the file
1590               system</para>
1591             </entry>
1592           </row>
1593         </tbody>
1594       </tgroup>
1595     </informaltable>
1596   </section>
1597   <section xml:id="dbdoclet.50438206_56217">
1598     <title>Handling Timeouts</title>
1599     <para>Timeouts are the most common cause of hung applications. After a
1600     timeout involving an MDS or failover OST, applications attempting to access
1601     the disconnected resource wait until the connection gets
1602     established.</para>
1603     <para>When a client performs any remote operation, it gives the server a
1604     reasonable amount of time to respond. If a server does not reply either due
1605     to a down network, hung server, or any other reason, a timeout occurs which
1606     requires a recovery.</para>
1607     <para>If a timeout occurs, a message (similar to this one), appears on the
1608     console of the client, and in 
1609     <literal>/var/log/messages</literal>:</para>
1610     <screen>
1611 LustreError: 26597:(client.c:810:ptlrpc_expire_one_request()) @@@ timeout
1612
1613 req@a2d45200 x5886/t0 o38-&gt;mds_svc_UUID@NID_mds_UUID:12 lens 168/64 ref 1 fl
1614
1615 RPC:/0/0 rc 0
1616 </screen>
1617   </section>
1618 </chapter>