Whamcloud - gitweb
LUDOC-403 acl: Update link for POSIX ACL paper
[doc/manual.git] / UserUtilities.xml
index a596173..d1f5c89 100644 (file)
@@ -46,27 +46,27 @@ lfs setstripe -d <replaceable>dir</replaceable>
 lfs osts [path]
 lfs pool_list <replaceable>filesystem</replaceable>[.<replaceable>pool</replaceable>]| <replaceable>pathname</replaceable>
 lfs quota [-q] [-v] [-h] [-o <replaceable>obd_uuid</replaceable>|-I <replaceable>ost_idx</replaceable>|-i <replaceable>mdt_idx</replaceable>]
-          [-u <replaceable>username|uid|-g</replaceable> <replaceable>group|gid</replaceable>] <replaceable>/mount_point</replaceable>
-lfs quota -t -u|-g <replaceable>/mount_point</replaceable>
+          [-u <replaceable>username|uid|-g</replaceable> <replaceable>group|gid</replaceable>|-p <replaceable>projid</replaceable>] <replaceable>/mount_point</replaceable>
+lfs quota -t -u|-g|-p <replaceable>/mount_point</replaceable>
 lfs quotacheck [-ug] <replaceable>/mount_point</replaceable>
 lfs quotachown [-i] <replaceable>/mount_point</replaceable>
 lfs quotainv [-ug] [-f] <replaceable>/mount_point</replaceable>
 lfs quotaon [-ugf] <replaceable>/mount_point</replaceable>
 lfs quotaoff [-ug] <replaceable>/mount_point</replaceable>
-lfs setquota {-u|--user|-g|--group} <replaceable>uname|uid|gname|gid</replaceable>
+lfs setquota {-u|--user|-g|--group|-p|--project} <replaceable>uname|uid|gname|gid|projid</replaceable>
              [--block-softlimit <replaceable>block_softlimit</replaceable>]
              [--block-hardlimit <replaceable>block_hardlimit</replaceable>]
              [--inode-softlimit <replaceable>inode_softlimit</replaceable>]
              [--inode-hardlimit <replaceable>inode_hardlimit</replaceable>]
              <replaceable>/mount_point</replaceable>
-lfs setquota -u|--user|-g|--group <replaceable>uname|uid|gname|gid</replaceable>
+lfs setquota -u|--user|-g|--group|-p|--project <replaceable>uname|uid|gname|gid|projid</replaceable>
              [-b <replaceable>block_softlimit</replaceable>] [-B <replaceable>block_hardlimit</replaceable>]
              [-i <replaceable>inode-softlimit</replaceable>] [-I <replaceable>inode_hardlimit</replaceable>]
              <replaceable>/mount_point</replaceable>
-lfs setquota -t -u|-g [--block-grace <replaceable>block_grace</replaceable>]
+lfs setquota -t -u|-g|-p [--block-grace <replaceable>block_grace</replaceable>]
              [--inode-grace <replaceable>inode_grace</replaceable>]
              <replaceable>/mount_point</replaceable>
-lfs setquota -t -u|-g [-b <replaceable>block_grace</replaceable>] [-i <replaceable>inode_grace</replaceable>]
+lfs setquota -t -u|-g|-p [-b <replaceable>block_grace</replaceable>] [-i <replaceable>inode_grace</replaceable>]
              <replaceable>/mount_point</replaceable>
 lfs help
 </screen>
@@ -732,8 +732,8 @@ lfs help
                   <literal>quota [-q] [-v] [-o 
                   <replaceable>obd_uuid</replaceable>|-i 
                   <replaceable>mdt_idx</replaceable>|-I 
-                  <replaceable>ost_idx</replaceable>] [-u|-g 
-                  <replaceable>uname|uid|gname|gid]</replaceable>
+                  <replaceable>ost_idx</replaceable>] [-u|-g|-p
+                  <replaceable>uname|uid|gname|gid|projid]</replaceable>
                   <replaceable>/mount_point</replaceable></literal>
                 </para>
                 <para>&#160;</para>
@@ -741,11 +741,11 @@ lfs help
               <entry>
                 <para>Displays disk usage and limits, either for the full file
                 system or for objects on a specific OBD. A user or group name
-                or an ID can be specified. If both user and group are omitted,
-                quotas for the current UID/GID are shown. The 
-                <literal>-q</literal> option disables printing of additional
-                descriptions (including column titles). It fills in blank
-                spaces in the 
+                or an usr, group and project ID can be specified. If all user,
+               group project ID are omitted, quotas for the current UID/GID
+               are shown. The <literal>-q</literal> option disables printing
+               of additional descriptions (including column titles). It fills
+               in blank spaces in the
                 <literal>grace</literal> column with zeros (when there is no
                 grace period set), to ensure that the number of columns is
                 consistent. The 
@@ -757,14 +757,15 @@ lfs help
               <entry nameend="c2" namest="c1">
                 <para>
                   <literal>quota -t 
-                  <replaceable>-u|-g</replaceable>
+                  <replaceable>-u|-g|-p</replaceable>
                   <replaceable>/mount_point</replaceable></literal>
                 </para>
               </entry>
               <entry>
                 <para>Displays block and inode grace times for user (
                 <literal>-u</literal>) or group (
-                <literal>-g</literal>) quotas.</para>
+                <literal>-g</literal>) or project (
+               <literal>-p</literal>) quotas.</para>
               </entry>
             </row>
             <row>
@@ -849,9 +850,9 @@ lfs help
             <row>
               <entry nameend="c2" namest="c1">
                 <para>
-                  <literal>setquota -u|-g 
-                  <replaceable>
-                  uname|uid|gname|gid}</replaceable>[--block-softlimit 
+                  <literal>setquota {-u|-g|-p
+                  <replaceable>uname|uid|gname|gid|projid}</replaceable>
+                  [--block-softlimit
                   <replaceable>block_softlimit</replaceable>]
                   [--block-hardlimit 
                   <replaceable>block_hardlimit</replaceable>]
@@ -863,8 +864,8 @@ lfs help
                 </para>
               </entry>
               <entry>
-                <para>Sets file system quotas for users or groups. Limits can
-                be specified with 
+                <para>Sets file system quotas for users, groups or one project.
+               Limits can be specified with
                 <literal>--{block|inode}-{softlimit|hardlimit}</literal> or
                 their short equivalents 
                 <literal>-b</literal>, 
@@ -886,7 +887,7 @@ lfs help
             <row>
               <entry nameend="c2" namest="c1">
                 <para>
-                  <literal>setquota -t -u|-g [--block-grace 
+                  <literal>setquota -t -u|-g|-p [--block-grace
                   <replaceable>block_grace</replaceable>] [--inode-grace 
                   <replaceable>inode_grace</replaceable>] 
                   <replaceable>/mount_point</replaceable></literal>
@@ -986,6 +987,10 @@ $ lfs df --pool
       <screen>
 $ lfs quota -u bob /mnt/lustre
 </screen>
+      <para>List quotas of project ID '1'.</para>
+      <screen>
+$ lfs quota -p 1 /mnt/lustre
+</screen>
       <para>Show grace times for user quotas on 
       <literal>/mnt/lustre</literal>.</para>
       <screen>
@@ -1066,7 +1071,7 @@ $ lfs setstripe --pool my_pool /mnt/lustre/dir
       </para>
     </section>
   </section>
-  <section xml:id="dbdoclet.50438206_42260">
+  <section xml:id="dbdoclet.lfs_migrate">
     <title>
       <indexterm>
         <primary>lfs_migrate</primary>
@@ -1074,50 +1079,54 @@ $ lfs setstripe --pool my_pool /mnt/lustre/dir
       <literal>lfs_migrate</literal>
     </title>
     <para>The 
-    <literal>lfs_migrate</literal> utility is a simple tool to migrate files
-    between Lustre OSTs.</para>
+    <literal>lfs_migrate</literal> utility is a simple to migrate file
+    <emphasis>data</emphasis> between OSTs.</para>
     <section remap="h5">
       <title>Synopsis</title>
       <screen>
-lfs_migrate [-c <replaceable>stripecount</replaceable>] [-h] [-l] [-n] [-q] [-R] [-s] [-y]
-[file|directory ...]
+lfs_migrate [<replaceable>lfs_setstripe_options</replaceable>]
+       [-h] [-n] [-q] [-R] [-s] [-y] [file|directory ...]
 </screen>
     </section>
     <section remap="h5">
       <title>Description</title>
       <para>The 
-      <literal>lfs_migrate</literal> utility is a simple tool to assist
-      migration of files between Lustre OSTs. The utility copies each specified
-      file to a new file, verifies the file contents have not changed, and then
-      renames the new file to the original filename. This allows balanced space
-      usage between OSTs, moving files off OSTs that are starting to show
-      hardware problems (though are still functional) or OSTs that will be
-      discontinued.</para>
+      <literal>lfs_migrate</literal> utility is a tool to assist migration
+      of file data between Lustre OSTs. The utility copies each specified
+      file to a temporary file using supplied <literal>lfs setstripe</literal>
+      options, if any, optionally verifies the file contents have not changed,
+      and then swaps the layout (OST objects) from the temporary file and the
+      original file (for Lustre 2.5 and later), or renames the temporary file
+      to the original filename. This allows the user/administrator to balance
+      space usage between OSTs, or move files off OSTs that are starting to show
+      hardware problems (though are still functional) or will be removed.</para>
       <warning>
         <para>For versions of Lustre before 2.5, 
-        <literal>lfs_migrate</literal> is not closely integrated with the MDS,
-        it cannot determine whether a file is currently open and/or in-use by
-        other applications or nodes. This makes it UNSAFE for use on files that
-        might be modified by other applications, since the migrated file is
-        only a copy of the current file. This results in the old file becoming
-        an open-unlinked file and any modifications to that file are
-        lost.</para>
+        <literal>lfs_migrate</literal> was not integrated with the MDS at all.
+        That made it UNSAFE for use on files that were being modified by other
+       applications, since the file was migrated through a copy and rename of
+       the file.  With Lustre 2.5 and later, the new file layout is swapped
+       with the existing file layout, which ensures that the user-visible
+       inode number is kept, and open file handles and locks on the file are
+       kept.</para>
       </warning>
       <para>Files to be migrated can be specified as command-line arguments. If
       a directory is specified on the command-line then all files within the
       directory are migrated. If no files are specified on the command-line,
       then a list of files is read from the standard input, making 
       <literal>lfs_migrate</literal> suitable for use with 
-      <literal>lfs</literal> find to locate files on specific OSTs and/or
-      matching other file attributes.</para>
-      <para>The current file allocation policies on the MDS dictate where the
-      new files are placed, taking into account whether specific OSTs have been
-      disabled on the MDS via 
-      <literal>lctl</literal>(preventing new files from being allocated there),
-      whether some OSTs are overly full (reducing the number of files placed on
-      those OSTs), or if there is a specific default file striping for the
-      target directory (potentially changing the stripe count, stripe size, OST
-      pool, or OST index of a new file).</para>
+      <literal>lfs find</literal> to locate files on specific OSTs and/or
+      matching other file attributes, and other tools that generate a list
+      of files on standard output.</para>
+      <para>Unless otherwise specified through command-line options, the
+      file allocation policies on the MDS dictate where the new files
+      are placed, taking into account whether specific OSTs have been
+      disabled on the MDS via <literal>lctl</literal> (preventing new
+      files from being allocated there), whether some OSTs are overly full
+      (reducing the number of files placed on those OSTs), or if there is
+      a specific default file striping for the parent directory (potentially
+      changing the stripe count, stripe size, OST pool, or OST index of a
+      new file).</para>
       <note>
         <para>The 
         <literal>lfs_migrate</literal> utility can also be used in some cases to