Whamcloud - gitweb
LU-8616 utils: document specific MDT index selection
[fs/lustre-release.git] / lustre / doc / lfs-setdirstripe.1
1 .TH LFS-SETDIRSTRIPE 1 2017-11-07 "Lustre" "Lustre Utilities"
2 .SH NAME
3 lfs setdirstripe, mkdir \- set striping pattern of a directory.
4 .SH SYNOPSIS
5 .B lfs setdirstripe [\fR-cdDHioT\fR] \fIDIR\fR...
6 .br
7 .SH DESCRIPTION
8 Create a striped directory with specified striping pattern. This lfs utility
9 is similar to
10 .BR lfs setstripe
11 , but is used to create striped directory.
12 .B lfs mkdir
13 is an alias for this command.
14 .SH OPTIONS
15 .TP
16 .BR \-c ", " \-T ", " \-\-mdt\-count =\fICOUNT\fR
17 Stripe the new directory over
18 .I COUNT
19 MDTs.
20 .TP
21 .BR \-i ", " \-\-mdt\-index =\fISTART_MDT_INDEX\fR[,\fIMDT_INDEX ...]
22 Use the MDT whose index is
23 .I START_MDT_INDEX
24 as the master/starting MDT for the directory. If multiple
25 .I MDT_INDEX
26 values are given, then the stripes will be allocated on the specified
27 MDT indices.  If index -1 (default) is used, it will randomly pick
28 .I COUNT
29 less full MDTs.
30 .TP
31 .BR \-H ", " \-\-mdt-hash =\fIHASH_TYPE\fR
32 Use
33 .I hash_type
34 for the striped directory.
35 .RS 1.2i
36 .TP
37 .B fnv_1a_64
38 Fowler-Noll-Vo (FNV-1a) hash algorithm.  This provides
39 reasonably uniform, but not cryptographically strong,
40 hashing of the filename. (default)
41 .TP
42 .B all_char
43 Sum of ASCII characters modulo number of MDTs. This
44 provides weak hashing of the filename, and is suitable
45 for only testing or when the input is known to have
46 perfectly uniform distribution (e.g. sequential numbers).
47 .RE
48 .TP
49 .BR \-d ", " \-\-delete
50 Delete the default striping layout from the directory.  New subdirectories
51 created in this directory will inherit the global default directory layout
52 (by default they will not be striped).
53 .TP
54 .BR \-D ", " \-\-default
55 Set the default striping pattern of subdirectories. Newly created
56 sub-directories will use the new default striping pattern,
57 but existing sub-directories will not be affected.  The newly
58 created sub-directories will also inherit the specified default
59 striping pattern. Only default stripe count is supported for now.
60
61 Note that striping all directories across all MDTs by default is not
62 recommended at this time, as the clients will have to do more RPCs to
63 create and access each directory, hurting performance rather than
64 improving it.  Default striped directories are preferred for cases
65 where large subdirectories will be created (e.g. file-per-process
66 job output directories).
67 .TP
68 .BR \-o ", " \-\-mode =\fIMODE\fR
69 Set the file access permissions of the new directory to the specified
70 numeric
71 .I MODE
72 (typically octal), as with
73 .BR chmod (1).
74 It is not affected by the current
75 .BR umask (1p).
76 .SH NOTE
77 .PP
78 The
79 .B lfs setdirstripe
80 command is only executable by root unless
81 .B "mdt.*.enable_remote_dir_gid"
82 is set on the MDS via
83 .B lctl set_param
84 to be either a non-zero GID to limit it to a single group
85 (e.g. "operator" or "admin"), or "-1" to allow any group
86 to create remote directories.
87
88 The root of the file system is on MDT0000, and directories and files inherit the
89 MDT of their parent directory unless a different MDT is specified with this
90 command.
91
92 By default, only directories on MDT0000 can contain directories that are not on
93 the same MDT.  However, if "mdt.*.enable_remote_dir" is set non-zero on an MDT
94 then it will allow creating remote directories that have parents other than
95 MDT0000. This is restricted to avoid creating directory trees that have
96 intermediate path components on a series different MDTs and become unavailable
97 if any of the intermediate MDTs are offline.
98 .SH EXAMPLES
99 .TP
100 .B $ lfs setdirstripe -c 2 -i 1 -H all_char /mnt/lustre/dir1
101 This creates a directory striped on two MDTs, whose first stripe is on
102 .B MDT0001
103 (MDT index 1), and whose hash type is
104 .BR all_char .
105 .SH AVAILABILITY
106 The
107 .B lfs setdirstripe
108 command is part of the Lustre filesystem.
109 .SH SEE ALSO
110 .BR lctl (8),
111 .BR lfs (1),
112 .BR lfs-getdirstripe (1),
113 .BR lfs-setstripe (1),
114 .BR lustre (7)