Whamcloud - gitweb
LU-8098 doc: add "lfs mdts" to lfs main man page
[fs/lustre-release.git] / lustre / doc / lfs.1
index 7db5642..522c38a 100644 (file)
@@ -1,6 +1,6 @@
 .TH lfs 1 "2009 Jan 29" Lustre "user utilities"
 .SH NAME
-lfs \- Lustre utility to create a file with specific striping pattern, find the striping pattern of existing files
+lfs \- Lustre utility to create a file with specific striping pattern, find the striping pattern of existing files, do certain quota operations, and manage distributed namespace options for directories
 .SH SYNOPSIS
 .br
 .B lfs
@@ -11,7 +11,9 @@ lfs \- Lustre utility to create a file with specific striping pattern, find the
 .br
 .B lfs check <mds|osts|servers>
 .br
-.B lfs df [-i] [-h] [--pool|-p <fsname>[.<pool>] [path]
+.B lfs data_version [-n] \fB<filename>\fR
+.br
+.B lfs df [-i] [-h] [--lazy] [--pool|-p <fsname>[.<pool>] [path]
 .br
 .B lfs fid2path [--link <linkno>] <fsname|rootpath> <fid> ...
 .br
@@ -23,26 +25,44 @@ lfs \- Lustre utility to create a file with specific striping pattern, find the
         \fB[[!] --stripe-count|-c [+-]<stripes>]
         \fB[[!] --stripe-index|-i <index,...>]
         \fB[[!] --stripe-size|-S [+-]N[kMG]]
+        \fB[[!] --layout|-L raid0,released]
         \fB[--type |-t {bcdflpsD}] [[!] --gid|-g|--group|-G <gname>|<gid>]
         \fB[[!] --uid|-u|--user|-U <uname>|<uid>] [[!] --pool <pool>]\fR
 .br
 .B lfs getname [-h]|[path ...]
 .br
-.B lfs getstripe [--obd|-O <uuid>] [--quiet|-q] [--verbose|-v] 
+.B lfs getstripe [--obd|-O <uuid>] [--quiet|-q] [--verbose|-v]
         \fB[--stripe-count|-c ] [--stripe-index|-i] [--mdt-index|-M]
         \fB[--stripe-size|-S] [--directory|-d]
+        \fB[--layout|-L]
         \fB[--pool|-p] [--recursive|-r] [--raw|-R] <dirname|filename> ...\fR
 .br
-.B lfs setstripe [--stripe-size|-S stripe_size] [--stripe-count|-c stripe_count]
-        \fB[--stripe-index|-i start_ost_index ] [--pool|-p <poolname>]
-        \fB<directory|filename>\fR
+.B lfs migrate \fB-m <mdt_index>\fR
+.IR directory
 .br
-.B lfs setstripe -d <dir>
+.B lfs migrate [\fB-c | --stripe-count <stripe_count>\fR]
+               [\fB-i | --stripe-index <start_ost_idx>\fR]
+               [\fB-S | --stripe-size <stripe_size>\fR]
+               [\fB-p | --pool <pool_name>\fR]
+               [\fB-o | --ost-list <ost_indices>\fR]
+               [\fB-b | --block\fR]
+               [\fB-n | --non-block\fR]
+.IR file|directory
+.br
+.B lfs mkdir [\fB-c | --count <stripe_count>\fR]
+             [\fB-i | --index <mdt_idx>\fR]
+             [\fB-h | --hash-type <hash_name>\fR]
+             [\fB-m | --mode <mode>\fR]
+             [\fB-D | --default\fR]
+.IR directory
 .br
 .B lfs osts
 .RB [ path ]
 .br
-.B path2fid <path> ...
+.B lfs mdts
+.RB [ path ]
+.br
+.B lfs path2fid [--parents] <path> ...
 .br
 .B lfs pool_list <filesystem>[.<pool>] | <pathname>
 .br
@@ -69,25 +89,31 @@ lfs \- Lustre utility to create a file with specific striping pattern, find the
              \fB<filesystem>\fR
 .br
 .B lfs setquota -t <-u|-g>
-             \fB[--block-grace <block-grace>]
-             \fB[--inode-grace <inode-grace>]
+             \fB[--block-grace <block-grace>]\fR
+             \fB[--inode-grace <inode-grace>]\fR
              \fB<filesystem>\fR
 .br
 .B lfs setquota -t <-u|-g>
-             \fB[-b <block-grace>] [-i <inode-grace>]
+             \fB[-b <block-grace>] [-i <inode-grace>]\fR
              \fB<filesystem>\fR
 .br
+.B lfs setstripe [--stripe-size|-S stripe_size] [--stripe-count|-c stripe_count]
+        \fB[--stripe-index|-i start_ost_index] [--pool|-p <poolname>]
+        \fB[--ost-list|-o <ost_indices>] <directory|filename>\fR
 .br
-.B lfs swap_layouts <filename1> <filename2>
+.B lfs setstripe -d <dir>
 .br
-.B lfs data_version [-n] \fB<filename>\fR
+.B lfs --version
 .br
 .B lfs help
 .SH DESCRIPTION
 .B lfs
-can be used to create a new file with a specific striping pattern, determine the default striping pattern, gather the extended attributes (object numbers and location) for a specific file. It can be invoked interactively without any arguments or in a non-interactive mode with one of the arguements supported. 
+can be used to create a new file with a specific striping pattern, determine
+the default striping pattern, gather the extended attributes (object numbers
+and location) for a specific file. It can be invoked interactively without any
+arguments or in a non-interactive mode with one of the arguments supported.
 .SH OPTIONS
-The various options supported by lctl are listed and explained below:
+The various options supported by lfs are listed and explained below:
 .TP
 .B changelog
 Show the metadata changes on an MDT.  Start and end points are optional.  The --follow option will block on new changes; this option is only valid when run direclty on the MDT node.
@@ -98,19 +124,22 @@ interest to a particular consumer <id>, potentially allowing the MDT to
 free up disk space. An <endrec> of 0 indicates the current last record.
 Changelog consumers must be registered on the MDT node using \fBlctl\fR.
 .TP
-.B check 
+.B check
 Display the status of MDS or OSTs (as specified in the command) or all the servers (MDS and OSTs)
 .TP
-.B df [-i] [-h] [--pool|-p <fsname>[.<pool>] [path]
+.B df [-i] [-h] [--lazy] [--pool|-p <fsname>[.<pool>] [path]
 Report filesystem disk space usage or inodes usage (with \fB-i\fR) of each
 MDT/OST, or a subset of OSTs if a pool is specified with \fB-p\fR.  By default
 print the usage of all mounted Lustre filesystems, otherwise if \fBpath\fR is
 specified print only the usage of that filesystem.  If \fB-h\fR is given, the
 output is printed in \fIh\fRuman readable format, using SI base-2 suffixes
 for \fBM\fRega-, \fBG\fRiga-, \fBT\fRera-, \fBP\fReta-, or \fBE\fRxabytes.
+The \fB--lazy\fR/\fB-l\fR option skips any OST that is currently disconnected
+from the client.  This avoids blocking the \fBdf\fR output if an OST is down,
+and only returns the space on the OSTs that can currently be accessed.
 .TP
-.B find 
-To search the directory tree rooted at the given dir/file name for the files that match the given parameters: \fB--atime\fR (file was last accessed N*24 hours ago), \fB--ctime\fR (file's status was last changed N*24 hours ago), \fB--mtime\fR (file's data was last modified N*24 hours ago), \fB--obd\fR (file has an object on a specific OST or OSTs), \fB--size\fR (file has size in bytes, or \fBk\fRilo-, \fBM\fRega-, \fBG\fRiga-, \fBT\fRera-, \fBP\fReta-, or \fBE\fRxabytes if a suffix is given), \fB--type\fR (file has the type: \fBb\fRlock, \fBc\fRharacter, \fBd\fRirectory, \fBp\fRipe, \fBf\fRile, sym\fBl\fRink, \fBs\fRocket, or \fBD\fRoor (Solaris)), \fB--uid\fR (file has specific numeric user ID), \fB--user\fR (file owned by specific user, numeric user ID allowed), \fB--gid\fR (file has specific group ID), \fB--group\fR (file belongs to specific group, numeric group ID allowed). The option \fB--maxdepth\fR limits find to decend at most N levels of directory tree. The options \fB--print\fR and \fB--print0\fR print full file name, followed by a newline or NUL character correspondingly.  Using \fB!\fR before an option negates its meaning (\fIfiles NOT matching the parameter\fR).  Using \fB+\fR before a numeric value means \fIfiles with the parameter OR MORE\fR, while \fB-\fR before a numeric value means \fIfiles with the parameter OR LESS\fR.
+.B find
+To search the directory tree rooted at the given dir/file name for the files that match the given parameters: \fB--atime\fR (file was last accessed N*24 hours ago), \fB--ctime\fR (file's status was last changed N*24 hours ago), \fB--mtime\fR (file's data was last modified N*24 hours ago), \fB--obd\fR (file has an object on a specific OST or OSTs), \fB--size\fR (file has size in bytes, or \fBk\fRilo-, \fBM\fRega-, \fBG\fRiga-, \fBT\fRera-, \fBP\fReta-, or \fBE\fRxabytes if a suffix is given), \fB--type\fR (file has the type: \fBb\fRlock, \fBc\fRharacter, \fBd\fRirectory, \fBp\fRipe, \fBf\fRile, sym\fBl\fRink, \fBs\fRocket, or \fBD\fRoor (Solaris)), \fB--uid\fR (file has specific numeric user ID), \fB--user\fR (file owned by specific user, numeric user ID allowed), \fB--gid\fR (file has specific group ID), \fB--group\fR (file belongs to specific group, numeric group ID allowed), \fB--layout\fR (file has a raid0 layout or is released). The option \fB--maxdepth\fR limits find to decend at most N levels of directory tree. The options \fB--print\fR and \fB--print0\fR print full file name, followed by a newline or NUL character correspondingly.  Using \fB!\fR before an option negates its meaning (\fIfiles NOT matching the parameter\fR).  Using \fB+\fR before a numeric value means \fIfiles with the parameter OR MORE\fR, while \fB-\fR before a numeric value means \fIfiles with the parameter OR LESS\fR.
 .TP
 .B getname [-h]|[path ...]
 Report all the Lustre mount points and the corresponding Lustre filesystem
@@ -118,15 +147,16 @@ instance. If one or more \fBpath\fR entries are provided, then only the
 Lustre instance for these mount points is returned. If the path given is not on
 a Lustre instance 'No such device' is reported.
 .TP
-.B osts 
+.B osts
 .RB [ path ]
 List all the OSTs for all mounted filesystems. If a \fBpath\fR is provided
 that is located on a lustre mounted file system then only the OSTs belonging
 to that filesystem are displayed.
 .TP
-.B getstripe [--obd|-O <uuid>] [--quiet|-q] [--verbose|-v] 
+.B getstripe [--obd|-O <uuid>] [--quiet|-q] [--verbose|-v]
         \fB[--count | -c ] [--index | -i | --offset | -o  ]
         \fB[--pool | -p ] [--size | -s ] [--directory | -d ]
+        \fB[--layout | -L]
         \fB[--recursive | -r ] [--raw | -R ] <dirname|filename>\fR
 .br
 List the striping information for a given filename or directory tree.
@@ -136,8 +166,9 @@ only want specific striping information then the options of
 .BR --size ,
 .BR --index ,
 .BR --offset ,
+.BR --layout ,
 or
-.B --pool  
+.B --pool
 can be used to return only the specific fields.
 .br
 If the
@@ -167,9 +198,10 @@ You can limit the returned files to those with objects on a specific OST with
 .TP
 .B setstripe [--stripe-count|-c stripe_count] [--stripe-size|-S stripe_size]
         \fB[--stripe-index|-i start_ost_index] [--pool <poolname>]
-        \fB<dirname|filename>\fR
+        \fB[--ost-index|-o <ost_indices>] <dirname|filename>\fR
 .br
-To create a new file, or set the directory default, with the specified striping parameters.  The
+To create a new file, or set the directory default, with the specified striping
+parameters.  The
 .I stripe_count
 is the number of OSTs to stripe a file over. A
 .I stripe_count
@@ -183,18 +215,48 @@ of 0 means to use the filesystem-wide default stripe_size (default 1MB).  The
 .I start_ost_index
 is the OST index (starting at 0) on which to start striping for this file.  A
 .I start_ost_index
-of -1 allows the MDS to choose the starting index and it is strongly recommended, as this allows space and load balancing to be done by the MDS as needed.  The
+of -1 allows the MDS to choose the starting index and it is strongly
+recommended, as this allows space and load balancing to be done by the MDS as
+needed. The
+.B -o
+option is used to specify the exact stripe layout on the file system.
+.I ost_indices
+is a list of OSTs referenced by their indices, which are specified in decimal
+or hex form and can be obtained using the
+.B lfs osts
+command. The list format consists of individual OST indices and index ranges
+separated by commas, e.g. 1,2-4,7. The
+.B -o
+option may be specified multiple times to stripe across the union of all listed
+OSTs. If the
+.B -c
+option is combined with
+.B -o
+the
+.I stripe_count
+must agree with the number of OSTs in
+.IR ost_indices .
+If the
+.B -i
+option is combined with
+.B -o
+the
+.I start_ost_index
+must be in the OST list, and it will be used as the index on which to start
+striping the file. Otherwise the striping will occur in the order specified in
+.IR ost_indices .
+The
 .I poolname
-is the name of a predefined pool of OSTs (see 
-.B lctl
-) that will be used for striping. The 
+is the name of a predefined pool of OSTs (see
+.BR lctl (8))
+that will be used for striping. The
 .IR stripe_count ,
 .IR stripe_size ,
 and
 .I start_ost_index
-will be used as well; the 
+will be used as well; the
 .I start_ost_index
-must be part of the pool or an error will be returned. 
+must be part of the pool or an error will be returned.
 .TP
 .B setstripe -d
 Delete the default striping on the specified directory.
@@ -207,13 +269,16 @@ hard links, then all of the pathnames for that file are printed, unless
 at 0, in no particular order).  If multiple fids are specified, but only a
 single pathname is needed for each file, use \fB--link 0\fR.
 .TP
-.B path2fid <path> ...
+.B path2fid [--parents] <path> ...
 Print out the FIDs for the specified \fBpath(s)\fR.  If multiple pathnames
 are given, then they will be printed one per line with the path as prefix.
+The \fB--parents\fR switch makes it output the parent FID and name(s) of the
+given entries. If an entry has multiple links, these are displayed on a single
+line, tab-separated.
 .TP
 .B pool_list
 .RI { filesystem }[ .poolname "] | {" pathname }
-List the pools in 
+List the pools in
 .I filesystem
 or
 .IR pathname ,
@@ -258,10 +323,27 @@ Even without -n, race conditions are possible and data version should be
 checked before and after an operation to be confident the data did not change
 during it.
 .TP
-.B help 
+.B mkdir
+lfs mkdir is documented in the man page: lfs-mkdir(1). NOTE:
+.B lfs setdirstripe
+is an alias of the command
+.B lfs mkdir
+.TP
+.B mv
+lfs mv is deprecated, use lfs
+.B migrate
+instead.
+.TP
+.B migrate
+See lfs-migrate(1).
+.TP
+.B --version
+Output the build version of the lfs utility. Use "lctl lustre_build_version" to get the version of the Lustre kernel modules
+.TP
+.B help
 Provides brief help on the various arguments
 .TP
-.B exit/quit 
+.B exit/quit
 Quit the interactive lfs session
 .SH EXAMPLES
 .TP
@@ -283,16 +365,19 @@ Recursively list all regular files in given directory more than 30 days old
 .B $ lfs find --obd OST2-UUID /mnt/lustre/
 Recursively list all files in a given directory that have objects on OST2-UUID.
 .tP
-.B $ lfs check servers 
+.B $ lfs check servers
 Check the status of all servers (MDT, OST)
 .TP
 .B $ lfs osts
 List all the OSTs
 .TP
-.B $ lfs df -h 
+.B $ lfs mdts
+List all the MDTs
+.TP
+.B $ lfs df -h
 Lists space usage per OST and MDT in human readable format.
 .TP
-.B $ lfs df -i 
+.B $ lfs df -i
 Lists inode usage per OST and MDT
 .TP
 .B $ lfs df --pool <filesystem>[.<pool>] | <pathname>
@@ -321,11 +406,17 @@ Set quotas of user `bob': 1GB block quota hardlimit and 2 GB block quota softlim
 .TP
 .B $ lfs setquota -t -u --block-grace 1000 --inode-grace 1w4d /mnt/lustre
 Set grace times for user quotas: 1000 seconds for block quotas, 1 week and 4 days for inode quotas
+.TP
 .SH BUGS
 The \fBlfs find\fR command isn't as comprehensive as \fBfind\fR(1).
 .SH AUTHOR
 The lfs command is part of the Lustre filesystem.
 .SH SEE ALSO
 .BR lfs-hsm (1),
+.BR lfs-setdirstripe (1),
+.BR lfs-getdirstripe (1),
+.BR lfs-mkdir (1),
+.BR lfs_migrate (1),
+.BR lfs-migrate (1),
 .BR lctl (8),
 .BR lustre (7)