X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fdoc%2Flfs.1;h=a9eb54e28995ec8a9b2d61c505b270285dfdac78;hb=19ab868c5933ee27642a0134b3225e4642ebc813;hp=3f43e38ce9ba51b1c94713b1a613e183492998fd;hpb=4af3ab1945fd1ac6cc9870d72734c37a000a0999;p=fs%2Flustre-release.git diff --git a/lustre/doc/lfs.1 b/lustre/doc/lfs.1 index 3f43e38..a9eb54e 100644 --- a/lustre/doc/lfs.1 +++ b/lustre/doc/lfs.1 @@ -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,11 @@ lfs \- Lustre utility to create a file with specific striping pattern, find the .br .B lfs check .br -.B lfs df [-i] [-h] [--pool|-p [.] [path] +.B lfs data_version [-n] \fB\fR +.br +.B lfs df [-i] [-h] [--lazy] [--pool|-p [.] [path] +.br +.B lfs fid2path [--link ] ... .br .B lfs find \fB[[!] --atime|-A [-+]N] [[!] --mtime|-M [-+]N] [[!] --ctime|-C [+-]N] @@ -21,25 +25,44 @@ lfs \- Lustre utility to create a file with specific striping pattern, find the \fB[[!] --stripe-count|-c [+-]] \fB[[!] --stripe-index|-i ] \fB[[!] --stripe-size|-S [+-]N[kMG]] + \fB[[!] --layout|-L raid0,released] \fB[--type |-t {bcdflpsD}] [[!] --gid|-g|--group|-G |] \fB[[!] --uid|-u|--user|-U |] [[!] --pool ]\fR .br .B lfs getname [-h]|[path ...] .br -.B lfs getstripe [--obd|-O ] [--quiet|-q] [--verbose|-v] - \fB[--stripe-count|-c ] [--stripe-index|-i] [--mdt-index|-M] - \fB[--stripe-size|-S] [--directory|-d] +.B lfs getstripe [--obd|-O ] [--quiet|-q] [--verbose|-v] + \fB[--stripe-count|-c ] [--stripe-index|-i] [--mdt-index|-M] [--fid|-F] + \fB[--stripe-size|-S] [--directory|-d] [--layout|-L] [--generation|-g] \fB[--pool|-p] [--recursive|-r] [--raw|-R] ...\fR .br -.B lfs setstripe [--stripe-size|-S stripe_size] [--stripe-count|-c stripe_count] - \fB[--stripe-index|-i start_ost_index ] [--pool|-p ] - \fB\fR +.B lfs migrate \fB-m \fR +.IR directory .br -.B lfs setstripe -d +.B lfs migrate [\fB-c | --stripe-count \fR] + [\fB-i | --stripe-index \fR] + [\fB-S | --stripe-size \fR] + [\fB-p | --pool \fR] + [\fB-o | --ost-list \fR] + [\fB-b | --block\fR] + [\fB-n | --non-block\fR] +.IR file|directory +.br +.B lfs mkdir [\fB-c | --count \fR] + [\fB-i | --index \fR] + [\fB-h | --hash-type \fR] + [\fB-m | --mode \fR] + [\fB-D | --default\fR] +.IR directory .br .B lfs osts .RB [ path ] .br +.B lfs mdts +.RB [ path ] +.br +.B lfs path2fid [--parents] ... +.br .B lfs pool_list [.] | .br .B lfs quota [-q] [-v] [-o obd_uuid|-I ost_idx|-i mdt_idx] [-u | -u |-g | -g ] @@ -65,25 +88,31 @@ lfs \- Lustre utility to create a file with specific striping pattern, find the \fB\fR .br .B lfs setquota -t <-u|-g> - \fB[--block-grace ] - \fB[--inode-grace ] + \fB[--block-grace ]\fR + \fB[--inode-grace ]\fR \fB\fR .br .B lfs setquota -t <-u|-g> - \fB[-b ] [-i ] + \fB[-b ] [-i ]\fR \fB\fR .br +.B lfs setstripe [--stripe-size|-S stripe_size] [--stripe-count|-c stripe_count] + \fB[--stripe-index|-i start_ost_index] [--pool|-p ] + \fB[--ost-list|-o ] \fR .br -.B lfs swap_layouts +.B lfs setstripe -d .br -.B lfs data_version [-n] \fB\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. @@ -94,19 +123,22 @@ interest to a particular consumer , potentially allowing the MDT to free up disk space. An 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 [.] [path] +.B df [-i] [-h] [--lazy] [--pool|-p [.] [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 @@ -114,15 +146,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 ] [--quiet|-q] [--verbose|-v] +.B getstripe [--obd|-O ] [--quiet|-q] [--verbose|-v] \fB[--count | -c ] [--index | -i | --offset | -o ] \fB[--pool | -p ] [--size | -s ] [--directory | -d ] + \fB[--layout | -L ] [--fid | -F ] [--generation | -g ] \fB[--recursive | -r ] [--raw | -R ] \fR .br List the striping information for a given filename or directory tree. @@ -132,8 +165,11 @@ only want specific striping information then the options of .BR --size , .BR --index , .BR --offset , +.BR --layout , +.BR --fid , +.BR --generation , or -.B --pool +.B --pool can be used to return only the specific fields. .br If the @@ -160,12 +196,18 @@ can be used to limit the information, like .RB ' "ls -d" '). You can limit the returned files to those with objects on a specific OST with .BR --obd . +To show only the FID use +.BR --fid . +The layout generation can be printed with the +.B --generation +option. .TP .B setstripe [--stripe-count|-c stripe_count] [--stripe-size|-S stripe_size] \fB[--stripe-index|-i start_ost_index] [--pool ] - \fB\fR + \fB[--ost-index|-o ] \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 @@ -179,25 +221,70 @@ 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. .TP +.B fid2path [--link ] ... +Print out the pathname(s) for the specified \fIfid\fR(s) from the filesystem +mounted at \fBrootpath\fR or named \fBfsname\fR. If a file has multiple +hard links, then all of the pathnames for that file are printed, unless +\fB--link\fR limits the printing to only the specified link number (starting +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 [--parents] ... +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 , @@ -242,10 +329,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 @@ -267,16 +371,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 [.] | @@ -305,11 +412,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)