X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fdoc%2Flfs.1;h=1d7d9ce0da3886f62e68d0f09b1ccf5070e2749e;hb=3a84f1d934e471f2ca6fb4c68a0e674651adf73e;hp=99bf69f13e4ade022c2a72e53110c416d672557e;hpb=dec8c15a7af486729e0973234fb7412308c82e18;p=fs%2Flustre-release.git diff --git a/lustre/doc/lfs.1 b/lustre/doc/lfs.1 index 99bf69f..1d7d9ce 100644 --- a/lustre/doc/lfs.1 +++ b/lustre/doc/lfs.1 @@ -13,28 +13,34 @@ lfs \- Lustre utility to create a file with specific striping pattern, find the .br .B lfs df [-i] [-h] [--pool|-p [.] [path] .br -.B lfs find [[!] --atime|-A [-+]N] [[!] --mtime|-M [-+]N] - \fB[[!] --ctime|-C [-+]N] [--maxdepth|-D N] [--name|-n pattern] - \fB[--print|-p] \fB[--print0|-P] [[!] --obd|-O ] - \fB[[!] --size|-S [-+]N[kMGTPE]] [--type |-t {bcdflpsD}] - \fB[[!] --gid|-g|--group|-G |] - \fB[[!] --uid|-u|--user|-U |] - \fB\fR +.B lfs find + \fB[[!] --atime|-A [-+]N] [[!] --mtime|-M [-+]N] [[!] --ctime|-C [+-]N] + \fB[--maxdepth|-D N] [[!] --mdt|-m ] [--name|-n pattern] + \fB[[!] --ost|-O ] [--print|-p] [--print0|-P] + \fB[[!] --size|-s [-+]N[kMGTPE]] + \fB[[!] --stripe-count|-c [+-]] + \fB[[!] --stripe-index|-i ] + \fB[[!] --stripe-size|-S [+-]N[kMG]] + \fB[--type |-t {bcdflpsD}] [[!] --gid|-g|--group|-G |] + \fB[[!] --uid|-u|--user|-U |] [[!] --pool ]\fR .br -.B lfs osts +.B lfs getname [-h]|[path ...] .br .B lfs getstripe [--obd|-O ] [--quiet|-q] [--verbose|-v] - \fB[--count | -c ] [--index | -i | --offset | -o ] - \fB[--size | -s ] [--pool | -p ] [--directory | -d ] - \fB[--recursive|-r] ...\fR + \fB[--stripe-count|-c ] [--stripe-index|-i] [--mdt-index|-M] + \fB[--stripe-size|-S] [--directory|-d] + \fB[--pool|-p] [--recursive|-r] [--raw|-R] ...\fR .br -.B lfs setstripe [--size|-s stripe-size] [--count|-c stripe-cnt] - \fB[--index|-i|--offset|-o start_ost_index ] [--pool|-p ] - \fB\fR +.B lfs setstripe [--stripe-size|-S stripe_size] [--stripe-count|-c stripe_count] + \fB[--stripe-index|-i start_ost_index ] [--pool|-p ] + \fB\fR .br .B lfs setstripe -d .br -.B lfs poollist [.] | +.B lfs osts +.RB [ path ] +.br +.B lfs pool_list [.] | .br .B lfs quota [-q] [-v] [-o obd_uuid|-I ost_idx|-i mdt_idx] [-u | -u |-g | -g ] .br @@ -42,14 +48,10 @@ lfs \- Lustre utility to create a file with specific striping pattern, find the .br .B lfs quotacheck [-ug] .br -.B lfs quotachown [-i] -.br .B lfs quotaon [-ugf] .br .B lfs quotaoff [-ug] .br -.B lfs quotainv [-ug] [-f] -.br .B lfs setquota <-u|--user|-g|--group> \fB[--block-softlimit ] \fB[--block-hardlimit ] @@ -71,6 +73,8 @@ lfs \- Lustre utility to create a file with specific striping pattern, find the \fB[-b ] [-i ] \fB\fR .br +.B lfs data_version [-n] \fB\fR +.br .B lfs help .SH DESCRIPTION .B lfs @@ -101,18 +105,61 @@ for \fBM\fRega-, \fBG\fRiga-, \fBT\fRera-, \fBP\fReta-, or \fBE\fRxabytes. .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. .TP +.B getname [-h]|[path ...] +Report all the Lustre mount points and the corresponding Lustre filesystem +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 -List all the OSTs for the filesystem +.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] \fB[--count | -c ] [--index | -i | --offset | -o ] \fB[--pool | -p ] [--size | -s ] [--directory | -d ] - \fB[--recursive|-r] \fR + \fB[--recursive | -r ] [--raw | -R ] \fR .br -To list the striping information for a given filename or directory. By default the stripe count, size, and offset will be returned. If you only want specific striping information then the options of \fB--count\fR,\fB--size\fR,\fB--index\fR or \fB--offset\fR plus various combinations of these options can be used to retrieve only what you want. What pools a file belong to can also be obtained with \fB--pool\fR. In the case where you only want details about the files object id information then the \fB--quiet\fR option is used. Additional information available about striping can be displayed with \fB--verbose\fR. The default behavior of lfs getstripe used to retrieve data about a directory is to list all the contents of that directory. If you wish to inquire only about that directory then \fB--directory\fR,can be used to list directory entries instead of its contents in the same manner as ls -d. This can be expanded with \fB--recursive\fR which will recurse into all subdirectories. You can filter the search to return only files that has a object on a specific OST with \fB--obd\fR. -.TP -.B setstripe [--count|-c stripe_cnt] [--size|-s stripe_size] - \fB[--index|-i|--offset|-o start_ost_index] [--pool ] +List the striping information for a given filename or directory tree. +By default the stripe count, size, and offset will be returned. If you +only want specific striping information then the options of +.BR --count , +.BR --size , +.BR --index , +.BR --offset , +or +.B --pool +can be used to return only the specific fields. +.br +If the +.B --raw +option is specified, the stripe information is printed without substituting the +filesystem's default values for unspecified fields. If the striping EA is not +set, 0, 0, and -1 will be printed for the stripe count, size, and offset +respectively. +In the case where you only want details about the files' object id +information then the +.B --quiet +option is used. Additional information available about striping can be +displayed with +.BR --verbose . +The default behavior when a directory is specified is to list the striping +information for all files within the specified directory (like +.RB ' "ls -l" ') . +This can be expanded with +.B --recursive +which will recurse into all subdirectories. +If you wish to get striping information for only the specified directory, then +.B --directory +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 . +.TP +.B setstripe [--stripe-count|-c stripe_count] [--stripe-size|-S stripe_size] + \fB[--stripe-index|-i start_ost_index] [--pool ] \fB\fR .br To create a new file, or set the directory default, with the specified striping parameters. The @@ -125,16 +172,19 @@ of -1 means to stripe over all available OSTs. The .I stripe_size is the number of bytes to store on each OST before moving to the next OST. A .I stripe_size -of 0 means to use the filesystem-wide default stripe size (default 1MB). The +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 -.I pool +.I poolname is the name of a predefined pool of OSTs (see .B lctl ) that will be used for striping. The -.I stripe_count, stripe_size, and start_ost_index +.IR stripe_count , +.IR stripe_size , +and +.I start_ost_index will be used as well; the .I start_ost_index must be part of the pool or an error will be returned. @@ -142,8 +192,14 @@ must be part of the pool or an error will be returned. .B setstripe -d Delete the default striping on the specified directory. .TP -.B poollist [.] | -List the pools in \fBfilesystem\fR or \fBpathname\fR, or the OSTs in \fBfilesystem.pool\fR +.B pool_list +.RI { filesystem }[ .poolname "] | {" pathname } +List the pools in +.I filesystem +or +.IR pathname , +or the OSTs in +.IR filesystem.pool . .TP .B quota [-q] [-v] [-o obd_uuid|-i mdt_idx|-I ost_idx] [-u|-g |||] To display disk usage and limits, either for the full filesystem, 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 current uid/gid are shown. -v provides more verbose (with per-obd statistics) output. -q disables printing of additional descriptions (including column titles). @@ -151,20 +207,14 @@ To display disk usage and limits, either for the full filesystem, or for objects .B quota -t <-u|-g> To display block and inode grace times for user (-u) or group (-g) quotas .TP -.B quotachown -To change files' owner and group on OSTs of the specified filesystem +.B quotacheck [-ugf] (deprecated as of 2.4.0) +To scan the specified filesystem for disk usage, and create or update quota files. Options specify quota for users (-u) groups (-g) and force (-f). Not useful anymore with servers >= 2.4.0 since space accounting is always turned on. .TP -.B quotacheck [-ugf] -To scan the specified filesystem for disk usage, and create or update quota files. Options specify quota for users (-u) groups (-g) and force (-f) +.B quotaon [-ugf] (deprecated as of 2.4.0) +To turn filesystem quotas on. Options specify quota for users (-u) groups (-g) and force (-f). Not used anymore in lustre 2.4.0 where quota enforcement must be enabled via conf_param (e.g. lctl conf_param ${FSNAME}.quota.=) .TP -.B quotaon [-ugf] -To turn filesystem quotas on. Options specify quota for users (-u) groups (-g) and force (-f) -.TP -.B quotaoff [-ugf] -To turn filesystem quotas off. Options specify quota for users (-u) groups (-g) and force (-f) -.TP -.B quotainv [-ug] [-f] -Clear quota files (administrative quota files if used without -f, operational quota files otherwise), all of their quota entries, for (-u) users or (-g) groups; after quotainv one must use quotacheck before using quotas. DO NOT USE THIS COMMAND UNLESS YOU REALLY KNOW WHAT IT DOES. IT IS MAINLY FOR INTERNAL PURPOSES. +.B quotaoff [-ugf] (deprecated as of 2.4.0) +To turn filesystem quotas off. Options specify quota for users (-u) groups (-g) and force (-f). Not used anymore in lustre 2.4.0 where quota enforcement can be turned off (for inode or block) by running the following command on the MGS: lctl conf_param ${FSNAME}.quota.="" .TP .B setquota <-u|-g> ||| [--block-softlimit ] [--block-hardlimit ] [--inode-softlimit ] [--inode-hardlimit ] To set filesystem quotas for users or groups. Limits can be specified with -b, -k, -m, -g, -t, -p suffixes which specify units of 1, 2^10, 2^20, 2^30, 2^40 and 2^50 accordingly. Block limits unit is kilobyte (1024) by default and block limits are always kilobyte-grained (even if specified in bytes), see EXAMPLES @@ -172,6 +222,16 @@ To set filesystem quotas for users or groups. Limits can be specified with -b, - .B setquota -t [-u|-g] [--block-grace ] [--inode-grace ] To set filesystem quota grace times for users or groups. Grace time is specified in "XXwXXdXXhXXmXXs" format or as an integer seconds value, see EXAMPLES .TP +.B data_version [-n] +Display current version of file data. If -n is specified, data version is read +without taking lock. As a consequence, data version could be outdated if there +is dirty caches on filesystem clients, but this will not force data flushes and +has less impact on filesystem. + +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 Provides brief help on the various arguments .TP @@ -237,9 +297,8 @@ Set quotas of user `bob': 1GB block quota hardlimit and 2 GB block quota softlim Set grace times for user quotas: 1000 seconds for block quotas, 1 week and 4 days for inode quotas .SH BUGS The \fBlfs find\fR command isn't as comprehensive as \fBfind\fR(1). -Report bugs using http://bugzilla.lustre.org. .SH AUTHOR -The lfs command is part of the Lustre filesystem. Contact http://www.lustre.org/ +The lfs command is part of the Lustre filesystem. .SH SEE ALSO .BR lctl (8), .BR lustre (7)