Whamcloud - gitweb
LUDOC-394 manual: Add meaningful ref names under UnderstandingLustre.xml
[doc/manual.git] / SystemConfigurationUtilities.xml
index 1ee5736..0c5b60b 100644 (file)
@@ -1,5 +1,7 @@
 <?xml version='1.0' encoding='UTF-8'?>
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en-US" xml:id="systemconfigurationutilities">
+<chapter xmlns="http://docbook.org/ns/docbook"
+ xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en-US"
+ xml:id="systemconfigurationutilities">
   <title xml:id="systemconfigurationutilities.title">System Configuration Utilities</title>
   <para>This chapter includes system configuration utilities and includes the following sections:</para>
   <itemizedlist>
@@ -7,7 +9,7 @@
       <para><xref linkend="dbdoclet.50438219_55923"/></para>
     </listitem>
     <listitem>
-      <para><xref linkend="dbdoclet.50438219_76969"/></para>
+      <para><xref linkend="dbdoclet.l_getidentity"/></para>
     </listitem>
     <listitem>
       <para><xref linkend="dbdoclet.50438219_38274"/></para>
@@ -19,9 +21,6 @@
       <para><xref linkend="dbdoclet.50438219_44971"/></para>
     </listitem>
     <listitem>
-      <para><xref linkend="dbdoclet.50438219_84890"/></para>
-    </listitem>
-    <listitem>
       <para><xref linkend="dbdoclet.50438219_90386"/></para>
     </listitem>
     <listitem>
       <para><xref linkend="dbdoclet.50438219_63667"/></para>
     </listitem>
     <listitem>
-      <para><xref linkend="dbdoclet.50438219_75432"/></para>
+      <para><xref linkend="mkfs.lustre"/></para>
     </listitem>
     <listitem>
-      <para><xref linkend="dbdoclet.50438219_12635"/></para>
+      <para><xref linkend="mount.lustre"/></para>
     </listitem>
     <listitem>
       <para><xref linkend="dbdoclet.50438219_82679"/></para>
       <para><xref linkend="dbdoclet.50438219_51496"/></para>
     </listitem>
     <listitem>
-      <para><xref linkend="dbdoclet.50438219_39574"/></para>
+      <para><xref linkend="tunefs.lustre"/></para>
     </listitem>
     <listitem>
       <para><xref linkend="dbdoclet.50438219_99928"/></para>
     </listitem>
   </itemizedlist>
   <section xml:id="dbdoclet.50438219_55923">
-      <title><indexterm><primary>e2scan</primary></indexterm>
-                  e2scan</title>
+      <title><indexterm><primary>e2scan</primary></indexterm>e2scan</title>
     <para>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>
-    <para><link xl:href="http://downloads.whamcloud.com/public/e2fsprogs/latest/">http://downloads.whamcloud.com/public/e2fsprogs/latest/</link></para>
+    <para>
+    <link xl:href="https://downloads.whamcloud.com/public/e2fsprogs/latest/">
+      https://downloads.whamcloud.com/public/e2fsprogs/latest/</link></para>
     <section remap="h5">
       <title>Synopsis</title>
       <screen>e2scan [options] [-f file] block_device</screen>
       </informaltable>
     </section>
   </section>
-  <section xml:id="dbdoclet.50438219_76969">
+  <section xml:id="dbdoclet.l_getidentity">
     <title><indexterm><primary>l_getidentity</primary></indexterm>
 l_getidentity</title>
-    <para>The l_getidentity utility handles Lustre user / group cache upcall.</para>
+    <para>The l_getidentity tool normally handles Lustre user/group mapping
+      upcall.</para>
     <section remap="h5">
       <title>Synopsis</title>
-      <screen>l_getidentity ${FSNAME}-MDT{xxxx} {uid}</screen>
+      <screen>l_getidentity { $FSNAME-MDT{xxxx}| -d} {uid}</screen>
     </section>
     <section remap="h5">
       <title>Description</title>
-      <para>The group upcall file contains the path to an executable file that is invoked to resolve
-        a numeric UID to a group membership list. This utility opens
-          <literal>/proc/fs/lustre/mdt/${FSNAME}-MDT{xxxx}/identity_info</literal> and writes the
-        related <literal>identity_downcall_data</literal> structure (see <xref
-          linkend="dbdoclet.50438291_33759"/>.) The data is persisted with <literal>lctl set_param
-          mdt.${FSNAME}-MDT{xxxx}.identity_info</literal>.</para>
-      <para>The l_getidentity utility is the reference implementation of the user or group cache upcall.</para>
+      <para>The <literal>l_getidentity</literal> utility is called from the
+        MDS to map a numeric UID value into the list of supplementary group
+        values for that UID, and writes this into the
+        <literal>mdt.*.identity_info</literal> parameter file.  The list of
+        supplementary groups is cached in the kernel to avoid repeated
+        upcalls.  See <xref linkend="dbdoclet.identity_upcall"/> for more
+        details.</para>
+      <para>The <literal>l_getidentity</literal> utility can also be run
+        directly for debugging purposes to ensure that the UID mapping for a
+        particular user is configured correctly, by using the
+        <literal>-d</literal> argument instead of the MDT name.
+      </para>
     </section>
     <section remap="h5">
       <title>Options</title>
@@ -188,8 +194,10 @@ l_getidentity</title>
     </section>
     <section remap="h5">
       <title>Files</title>
-      <para>The l_getidentity files are located at:</para>
-      <screen>/proc/fs/lustre/mdt/${FSNAME}-MDT{xxxx}/identity_upcall</screen>
+      <para>The parameter to set the <literal>l_getidentity</literal> path is:
+      </para>
+<screen>mds# lctl set_param -P mdt.*-MDT*.identity_upcall=<replaceable>path</replaceable>
+</screen>
     </section>
   </section>
   <section xml:id="dbdoclet.50438219_38274">
@@ -215,15 +223,32 @@ quit</screen>
     </section>
     <section remap="h5">
       <title>Setting Parameters with lctl</title>
-      <para>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>
-      <para>When the file system is running, use the <literal>lctl set_param</literal> command on the affected node(s) to <emphasis>temporarily</emphasis> set parameters (mapping to items in /proc/{fs,sys}/{lnet,lustre}). The <literal>lctl set_param</literal> command uses this syntax:</para>
+      <para>Lustre parameters are not always accessible using the procfs
+      interface, as it is platform-specific. As a solution,
+      <literal>lctl {get,set}_param</literal> provides a platform-independent
+      interface to the Lustre tunables. Avoid any direct references to
+      <literal>/proc</literal> and <literal>/sys</literal> files in scripts.
+      For future portability, instead use lctl {get,set}_param, which handles
+      these details internally.</para>
+      <para>When the file system is running, use the
+      <literal>lctl set_param</literal> command on the affected node(s) to
+      <emphasis>temporarily</emphasis> set parameters (mapping to items in).
+      The <literal>lctl set_param</literal> command uses this syntax:</para>
       <screen>lctl set_param [-n] [-P] [-d] <replaceable>obdtype.obdname.property</replaceable>=<replaceable>value</replaceable></screen>
       <para>For example:</para>
-      <screen>mds# lctl set_param mdt.testfs-MDT0000.identity_upcall=NONE</screen>
-      <para condition='l25'>Use <literal>-P</literal> option to set parameters permanently. Option <literal>-d </literal>deletes permanent parameters. For example:
-             <screen>mgs# lctl set_param -P mdt.testfs-MDT0000.identity_upcall=NONE
+<screen>mds# lctl set_param mdt.testfs-MDT0000.identity_upcall=NONE</screen>
+      <para condition='l25'>Use <literal>-P</literal> option to set parameters
+      permanently. Option <literal>-d </literal>deletes permanent parameters.
+      For example:
+<screen>
+mgs# lctl set_param -P mdt.testfs-MDT0000.identity_upcall=NONE
 mgs# lctl set_param -P -d mdt.testfs-MDT0000.identity_upcall</screen></para>
-      <para>Many permanent parameters can be set with <literal>lctl conf_param</literal>. In general, <literal>lctl conf_param</literal> can be used to specify any OBD device parameter settable in a /proc/fs/lustre file. The <literal>lctl conf_param</literal> command must be run on the MGS node, and uses this syntax:</para>
+      <para>Many permanent parameters can be set with the
+      <literal>lctl conf_param</literal> utility. In general,
+      <literal>lctl conf_param</literal> can be used to specify any OBD
+      device parameter settable in a /proc/fs/lustre file. The
+      <literal>lctl conf_param</literal> command must be run on the MGS node,
+      and uses this syntax:</para>
       <screen><replaceable>obd|fsname</replaceable>.obdtype.property=<replaceable>value</replaceable>) </screen>
       <para>For example:</para>
       <screen>mgs# lctl conf_param testfs-MDT0000.mdt.identity_upcall=NONE
@@ -770,16 +795,18 @@ lctl &gt; quit</screen>
       <title>See Also</title>
       <itemizedlist>
         <listitem>
-          <para> <xref linkend="dbdoclet.50438219_75432"/> </para>
+          <para> <xref linkend="mkfs.lustre"/>
+          </para>
         </listitem>
         <listitem>
-          <para> <xref linkend="dbdoclet.50438219_12635"/> </para>
+          <para> <xref linkend="mount.lustre"/>
+          </para>
         </listitem>
         <listitem>
           <para> <xref linkend="dbdoclet.50438219_38274"/> </para>
         </listitem>
         <listitem>
-          <para> <xref linkend="dbdoclet.50438206_94597"/> </para>
+          <para> <xref linkend="userutilities.lfs"/> </para>
         </listitem>
       </itemizedlist>
     </section>
@@ -787,19 +814,31 @@ lctl &gt; quit</screen>
   <section xml:id="dbdoclet.50438219_58217">
     <title><indexterm><primary>ll_decode_filter_fid</primary></indexterm>
 ll_decode_filter_fid</title>
-    <para>The ll_decode_filter_fid utility displays the Lustre object ID and MDT parent FID.</para>
+    <para>The <literal>ll_decode_filter_fid</literal> utility displays the
+    Lustre object ID and MDT parent FID.</para>
     <section remap="h5">
       <title>Synopsis</title>
       <screen>ll_decode_filter_fid object_file [object_file ...]</screen>
     </section>
     <section remap="h5">
       <title>Description</title>
-      <para>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 <literal>ll_decode_filter_fid</literal>
-        when the OST file system is mounted locally as type ldiskfs for maintenance.</para>
-      <para>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>
-      <para>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>
+      <para>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 <literal>ll_decode_filter_fid</literal> when the
+        OST file system is mounted locally as type ldiskfs for maintenance.
+      </para>
+      <para>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>
+      <para>The OST object ID (objid) may be useful in case of OST directory
+        corruption, though LFSCK can normally reconstruct the entire OST object
+        directory tree, see <xref linkend="dbdoclet.lfsckadmin" /> for details.
+        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>
     </section>
     <section remap="h5">
       <title>Examples</title>
@@ -817,81 +856,22 @@ root@oss1# ll_decode_filter_fid #12345[4,5,8]
       <para><xref linkend="dbdoclet.50438219_44971"/></para>
     </section>
   </section>
-  <section xml:id="dbdoclet.50438219_44971">
+  <section xml:id="dbdoclet.50438219_44971" condition='l28'>
     <title><indexterm><primary>ll_recover_lost_found_objs</primary></indexterm>
 ll_recover_lost_found_objs</title>
-    <para>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>
-    <note>
-      <para>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>
+    <para>The <literal>ll_recover_lost_found_objs</literal> utility was
+      used to help recover Lustre OST objects (file data) from the
+      <literal>lost+found</literal> directory of an OST and return them to
+      their correct locations based on information stored in the
+      <literal>trusted.fid</literal> extended attribute stored on every
+      OST object containing data.</para>
+    <note condition="l26"><para>This utility is not needed with Lustre 2.6
+      and later, and is removed in Lustre 2.8 since <literal>LFSCK</literal>
+      online scanning will automatically move objects from
+      <literal>lost+found</literal> to the proper place in the OST.</para>
     </note>
     <section remap="h5">
       <title>Synopsis</title>
-      <screen>$ ll_recover_lost_found_objs [-hv] -d directory</screen>
-    </section>
-    <section remap="h5">
-      <title>Description</title>
-      <para>The first time Lustre modifies 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>
-      <para>To use ll_recover_lost_found_objs, mount the file system locally (using the <literal>-t ldiskfs</literal>, or <literal>-t zfs</literal> 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>
-      <para condition="l26">This utility is not needed for 2.6 and later,
-      since the <literal>LFSCK</literal> online scanning will move objects
-      from <literal>lost+found</literal> to the proper place in the OST.</para>
-    </section>
-    <section remap="h5">
-      <title>Options</title>
-      <informaltable frame="all">
-        <tgroup cols="2">
-          <colspec colname="c1" colwidth="50*"/>
-          <colspec colname="c2" colwidth="50*"/>
-          <thead>
-            <row>
-              <entry>
-                <para><emphasis role="bold">Option</emphasis></para>
-              </entry>
-              <entry>
-                <para><emphasis role="bold">Description</emphasis></para>
-              </entry>
-            </row>
-          </thead>
-          <tbody>
-            <row>
-              <entry>
-                <para> <literal>-h</literal></para>
-              </entry>
-              <entry>
-                <para> Prints a help message</para>
-              </entry>
-            </row>
-            <row>
-              <entry>
-                <para> <literal>-v</literal></para>
-              </entry>
-              <entry>
-                <para> Increases verbosity</para>
-              </entry>
-            </row>
-            <row>
-              <entry>
-                <para> <literal>-d <replaceable>directory</replaceable></literal></para>
-              </entry>
-              <entry>
-                <para> Sets the lost and found directory path</para>
-              </entry>
-            </row>
-          </tbody>
-        </tgroup>
-      </informaltable>
-    </section>
-    <section remap="h5">
-      <title>Example</title>
-      <screen>ll_recover_lost_found_objs -d /mnt/ost/lost+found </screen>
-    </section>
-  </section>
-  <section xml:id="dbdoclet.50438219_84890">
-    <title><indexterm><primary>llodbstat</primary></indexterm>
-llobdstat</title>
-    <para>The llobdstat utility displays OST statistics.</para>
-    <section remap="h5">
-      <title>Synopsis</title>
       <screen>llobdstat ost_name [interval]</screen>
     </section>
     <section remap="h5">
@@ -944,7 +924,7 @@ llog_reader /tmp/tfs-client</screen>
     </section>
     <section remap="h5">
       <title>See Also</title>
-      <para><xref linkend="dbdoclet.50438219_39574"/></para>
+      <para><xref linkend="tunefs.lustre"/></para>
     </section>
   </section>
   <section xml:id="dbdoclet.50438219_23232">
@@ -1479,10 +1459,10 @@ Changelog records consumed: 42</screen>
     </section>
     <section remap="h5">
       <title>See Also</title>
-      <para><xref linkend="dbdoclet.50438206_94597"/></para>
+      <para><xref linkend="userutilities.lfs"/></para>
     </section>
   </section>
-  <section xml:id="dbdoclet.50438219_75432">
+  <section xml:id="mkfs.lustre">
     <title><indexterm><primary>mkfs.lustre</primary></indexterm>
 mkfs.lustre</title>
     <para>The <literal>mkfs.lustre</literal> utility formats a disk for a Lustre service.</para>
@@ -1600,12 +1580,15 @@ mkfs.lustre</title>
               </entry>
             </row>
             <row>
-              <entry nameend="c2" namest="c1"
-                    ><literal>--servicenode=<replaceable>nid,...</replaceable></literal></entry>
-              <entry>Sets the NID(s) of all service nodes, including primary and failover partner
-                service nodes. The <literal>--servicenode</literal> option cannot be used with
-                  <literal>--failnode</literal> option. See <xref
-                  xmlns:xlink="http://www.w3.org/1999/xlink" linkend="dbdoclet.50438188_92688"/> for
+              <entry nameend="c2" namest="c1">
+              <literal>--servicenode=<replaceable>nid,...</replaceable></literal>
+              </entry>
+              <entry>Sets the NID(s) of all service nodes, including primary
+                and failover partner service nodes. The
+                <literal>--servicenode</literal> option cannot be used with
+                <literal>--failnode</literal> option. See
+                <xref xmlns:xlink="http://www.w3.org/1999/xlink"
+                 linkend="failover_setup"/> for
                 more details.</entry>
             </row>
             <row>
@@ -1616,11 +1599,12 @@ mkfs.lustre</title>
                 <para>Sets the NID(s) of a failover service node for a primary server for a target.
                   The <literal>--failnode</literal> option cannot be used with
                     <literal>--servicenode</literal> option. See <xref
-                    xmlns:xlink="http://www.w3.org/1999/xlink" linkend="dbdoclet.50438188_92688"/>
+                    xmlns:xlink="http://www.w3.org/1999/xlink"
+                    linkend="failover_setup"/>
                   for more details.<note>
                     <para>When the <literal>--failnode</literal> option is used, certain
                       restrictions apply (see <xref xmlns:xlink="http://www.w3.org/1999/xlink"
-                        linkend="dbdoclet.50438188_92688"/>).</para>
+                        linkend="failover_setup"/>).</para>
                   </note></para>
               </entry>
             </row>
@@ -1792,18 +1776,22 @@ mkfs.lustre</title>
       <title>See Also</title>
       <itemizedlist>
         <listitem>
-          <para><xref linkend="dbdoclet.50438219_75432"/>mkfs.lustre, </para>
+          <para>
+            <xref linkend="mkfs.lustre"/>
+            mkfs.lustre, </para>
         </listitem>
         <listitem>
-          <para><xref linkend="dbdoclet.50438219_12635"/>mount.lustre, </para>
+          <para>
+            <xref linkend="mount.lustre"/>
+            mount.lustre, </para>
         </listitem>
         <listitem>
-          <para><xref linkend="dbdoclet.50438206_94597"/>lfs</para>
+          <para><xref linkend="userutilities.lfs"/>lfs</para>
         </listitem>
       </itemizedlist>
     </section>
   </section>
-  <section xml:id="dbdoclet.50438219_12635">
+  <section xml:id="mount.lustre">
     <title><indexterm><primary>mount.lustre</primary></indexterm>
 mount.lustre</title>
     <para>The mount.lustre utility starts a Lustre client or target service.</para>
@@ -2110,15 +2098,16 @@ mount.lustre</title>
                 <para> <literal>user_fid2path</literal></para>
               </entry>
               <entry>
-                <para condition='l23'>Enable FID to path translation by regular
-                users. Note: This option allows a potential security hole
-                because it allows regular users direct access to a file by its
-                File ID, bypassing POSIX path-based permission checks which
-                could otherwise prevent the user from accessing a file in a
-                directory that they do not have access to. Regular permission
-                checks are still performed on the file itself, so the user
-                cannot access a file to which they have no access rights.
-                </para>
+                <para>Enable FID-to-path translation by regular users.
+               </para>
+               <note><para>This option allows a potential security hole because
+                  it allows regular users direct access to a file by its Lustre
+                  File ID.  This bypasses POSIX path-based permission checks,
+                 and could allow the user to access a file in a directory that
+                 they do not have access to. Regular POSIX file mode and ACL
+                 permission checks are still performed on the file itself, so
+                 users cannot access a file to which they have no permission.
+                </para></note>
               </entry>
             </row>
             <row>
@@ -2126,7 +2115,7 @@ mount.lustre</title>
                 <para> <literal>nouser_fid2path</literal></para>
               </entry>
               <entry>
-                <para condition='l23'> Disable FID to path translation by
+                <para> Disable FID to path translation by
                 regular users. Root and processes with
                 <literal>CAP_DAC_READ_SEARCH</literal> can still perform FID
                 to path translation.
@@ -2183,7 +2172,7 @@ mount.lustre</title>
                 <para> <literal>max_sectors_kb=<replaceable>KB</replaceable></literal></para>
               </entry>
               <entry>
-                <para condition='l210'>Sets the block device parameter
+                <para condition='l2A'>Sets the block device parameter
                 <literal>max_sectors_kb</literal> limit for the MDT or OST
                 target being mounted to specified maximum number of kilobytes.
                 When <literal>max_sectors_kb</literal> isn't specified as a
@@ -2282,16 +2271,17 @@ mount.lustre</title>
       <title>See Also</title>
       <itemizedlist>
         <listitem>
-          <para>  <xref linkend="dbdoclet.50438219_75432"/></para>
+          <para><xref linkend="mkfs.lustre"/>
+         </para>
         </listitem>
         <listitem>
-          <para>  <xref linkend="dbdoclet.50438219_39574"/></para>
+          <para>  <xref linkend="tunefs.lustre"/></para>
         </listitem>
         <listitem>
           <para>  <xref linkend="dbdoclet.50438219_38274"/></para>
         </listitem>
         <listitem>
-          <para>  <xref linkend="dbdoclet.50438206_94597"/></para>
+          <para>  <xref linkend="userutilities.lfs"/></para>
         </listitem>
       </itemizedlist>
     </section>
@@ -2528,7 +2518,7 @@ M   0( 13) E 0 S    7.00/     7 R    0.00/    14 F    0.00/     0 D 0.00/0
       <screen>/proc/sys/lnet/stats</screen>
     </section>
   </section>
-  <section xml:id="dbdoclet.50438219_39574">
+  <section xml:id="tunefs.lustre">
     <title><indexterm><primary>tunefs.lustre</primary></indexterm>
 tunefs.lustre</title>
     <para>The tunefs.lustre utility modifies configuration information on a Lustre target disk.</para>
@@ -2594,8 +2584,9 @@ tunefs.lustre</title>
                 <literal>--servicenode=<replaceable>nid,...</replaceable></literal></entry>
               <entry>Sets the NID(s) of all service nodes, including primary and failover partner
                 service nodes. The <literal>--servicenode</literal> option cannot be used with
-                  <literal>--failnode</literal> option. See <xref
-                  xmlns:xlink="http://www.w3.org/1999/xlink" linkend="dbdoclet.50438188_92688"/> for
+                  <literal>--failnode</literal> option. See
+                  <xref xmlns:xlink="http://www.w3.org/1999/xlink"
+                   linkend="failover_setup"/> for
                 more details.</entry>
             </row>
             <row>
@@ -2603,15 +2594,16 @@ tunefs.lustre</title>
                 <para> <literal>--failnode=<replaceable>nid,...</replaceable></literal></para>
               </entry>
               <entry>
-                <para>Sets the NID(s) of a failover service node for a primary server for a target.
-                  The <literal>--failnode</literal> option cannot be used with
-                    <literal>--servicenode</literal> option. See <xref
-                    xmlns:xlink="http://www.w3.org/1999/xlink" linkend="dbdoclet.50438188_92688"/>
-                  for more details.<note>
-                    <para>When the <literal>--failnode</literal> option is used, certain
-                      restrictions apply (see <xref xmlns:xlink="http://www.w3.org/1999/xlink"
-                        linkend="dbdoclet.50438188_92688"/>).</para>
-                  </note></para>
+                <para>Sets the NID(s) of a failover service node for a primary
+                  server for a target.  The <literal>--failnode</literal>
+                  option cannot be used with <literal>--servicenode</literal>
+                  option. See <xref xmlns:xlink="http://www.w3.org/1999/xlink"
+                    linkend="failover_setup"/> for more details.
+                  <note><para>When the <literal>--failnode</literal> option
+                    is used, certain restrictions apply (see
+                    <xref xmlns:xlink="http://www.w3.org/1999/xlink"
+                     linkend="failover_setup"/>).</para></note>
+                </para>
               </entry>
             </row>
             <row>
@@ -2739,16 +2731,18 @@ tunefs.lustre</title>
       <title>See Also</title>
       <itemizedlist>
         <listitem>
-          <para><xref linkend="dbdoclet.50438219_75432"/></para>
+          <para><xref linkend="mkfs.lustre"/>
+          </para>
         </listitem>
         <listitem>
-          <para><xref linkend="dbdoclet.50438219_12635"/></para>
+          <para><xref linkend="mount.lustre"/>
+          </para>
         </listitem>
         <listitem>
           <para><xref linkend="dbdoclet.50438219_38274"/></para>
         </listitem>
         <listitem>
-          <para><xref linkend="dbdoclet.50438206_94597"/></para>
+          <para><xref linkend="userutilities.lfs"/></para>
         </listitem>
       </itemizedlist>
     </section>
@@ -2765,21 +2759,20 @@ Application Profiling Utilities</title>
       <para>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>
     </section>
     <section remap="h3">
-      <title>More /proc Statistics for Application Profiling</title>
+      <title>More Statistics for Application Profiling</title>
       <para>The following utilities provide additional statistics.</para>
       <para><literal>vfs_ops_stats</literal></para>
-      <para>The client vfs_ops_stats utility tracks Linux VFS operation calls into Lustre for a single PID, PPID, GID or everything.</para>
-      <screen>/proc/fs/lustre/llite/*/vfs_ops_stats
-/proc/fs/lustre/llite/*/vfs_track_[pid|ppid|gid]
-</screen>
+      <para>The client vfs_ops_stats utility tracks Linux VFS operation calls
+      into Lustre for a single PID, PPID, GID or everything.</para>
+      <screen>llite.*.vfs_ops_stats llite.*.vfs_track_[pid|ppid|gid]</screen>
       <para><literal>extents_stats</literal></para>
-      <para>The client extents_stats utility shows the size distribution of I/O calls from the client (cumulative and by process).</para>
-      <screen>/proc/fs/lustre/llite/*/extents_stats, extents_stats_per_process
-</screen>
+      <para>The client extents_stats utility shows the size distribution of
+      I/O calls from the client (cumulative and by process).</para>
+      <screen>llite.*.{extents_stats,extents_stats_per_process}</screen>
       <para><literal>offset_stats</literal></para>
-      <para>The client offset_stats utility shows the read/write seek activity of a client by offsets and ranges.</para>
-      <screen>/proc/fs/lustre/llite/*/offset_stats
-</screen>
+      <para>The client offset_stats utility shows the read/write seek activity
+      of a client by offsets and ranges.</para>
+      <screen>llite.*.offset_stats</screen>
       <para>Lustre includes per-client and improved MDT statistics:</para>
       <itemizedlist>
         <listitem>
@@ -2789,7 +2782,7 @@ Application Profiling Utilities</title>
       <para>Each MDS and OSS now tracks LDLM and operations statistics for
       every connected client, for comparisons and simpler collection of
       distributed job statistics.</para>
-      <screen>/proc/fs/lustre/mds|obdfilter/*/exports/
+      <screen>{mds,obdfilter}.*.exports
 </screen>
       <itemizedlist>
         <listitem>
@@ -2798,7 +2791,7 @@ Application Profiling Utilities</title>
       </itemizedlist>
       <para>More detailed MDT operations statistics are collected for better
       profiling.</para>
-      <screen>/proc/fs/lustre/mdt/*/md_stats
+      <screen>mdt.*.md_stats
 </screen>
     </section>
     <section remap="h3">
@@ -2846,7 +2839,7 @@ lr_reader</title>
         <para>The stats-collect utility contains scripts used to collect application profiling information from Lustre clients and servers.</para>
       </section>
     </section>
-    <section remap="h3" condition='l29'>
+    <section remap="h3" condition='l29' xml:id="SystemConfigurationUtilities.fileset">
       <title><indexterm><primary>fileset</primary></indexterm>Fileset Feature</title>
       <para> With the fileset feature, Lustre now provides subdirectory mount
       support.  Subdirectory mounts, also referred to as filesets, allow a
@@ -2921,3 +2914,6 @@ fid2path: error on FID [0x200000400:0x2:0x0]: No such file or directory</screen>
     </section>
   </section>
 </chapter>
+<!--
+  vim:expandtab:shiftwidth=2:tabstop=8:
+  -->