Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / doc / lmc.1
1 .TH lmc 1 "2004 Sep 16" Lustre "configuration utilities"
2 .SH NAME
3 lmc \- Lustre configuration maker
4 .SH SYNOPSIS
5 .br
6 .B lmc
7 [options] --add <objecttype> [args]
8 .br
9 .SH DESCRIPTION
10 .B lmc 
11 , when invoked, adds configuration data to a configuration file. In future, 
12 lmc will also be able to remove configuration data or convert its format. 
13 A Lustre cluster consists of several components - MDSs, client mount-points, 
14 OSTs, LOVs and networks. A single configuration file would be generated for the complete cluster. In the lmc command line interface, each of these components is associated with an objecttype.
15 .PP
16 The objecttype refers to a collection of related configuration entities and can be one of 
17 .B net
18 ,
19 .B MDS
20 ,
21 .B LOV
22 ,
23 .B OST
24 ,
25 .B mtpt
26 ,
27 .B route
28 or
29 .B echo-client.
30 .PP
31 We describe the arguments required for the addition of each objecttype. 
32 .PP
33 To generate configuration data associated with systems in a Lustre cluster:
34 .PP
35 .B --add node 
36 Adds a new node in the cluster configuration.
37 The arguements required are:
38 .TP 
39 --node <node_name>
40 This will create a new node with the given name if not already present.
41 .TP
42 --timeout <num>
43 Timeout before going into recovery.
44 .TP
45 --lustre_upcall <path> 
46 Set the location of the Lustre upcall scripts used by the client for recovery.
47 .TP
48 --portals_upcall <path> 
49 Specify the location of the Portals upcall scripts used by the client for recovery.
50 .TP
51 --upcall <path> 
52 Specify the location of both (Lustre and Portals) upcall scripts used by the client for recovery.
53 .TP
54 --group_upcall <path> 
55 Specify the location of the group upcall scripts used by the MDS for determiningsupplementary group membership.
56 .TP
57 --ptldebug <debug_level>
58 Set the portals debug level.
59 .TP
60 --subsystem <subsystem_name>
61 Specify which Lustre subsystems have debug output recorded in the log.
62 .PP
63 .B --add net 
64 Adds a network device descriptor for the given node, with parameters as indicated.
65 The arguments required are:
66 .TP 12
67 --node <node_name>
68 This will create a new node with the given name if not already present. This is also used to specify a specific node for other elements.
69 .TP
70 --nettype <type> 
71 This can be tcp, elan, or gm.
72 .TP
73 --nid nid 
74 The network id, e.g. ElanID or IP address as used by Portals. If nid is '*', then the local address of the interface with specified nettype is will be substituted when the node is configured with lconf. An nid of '*' should be used only for the generic client configuration.
75 .TP
76 --cluster_id id
77 Specify the cluster ID.
78 .TP
79 --hostaddr addr
80 Specify the host address, which will be transfered to the real host address by lconf.
81 .TP
82 --router 
83 Optional flag to mark this node as a router.
84 .TP
85 --port [port] 
86 Optional arguement to indicate the tcp port. The default is 988. 
87 .TP
88 --tcpbuf <size> 
89 Optional arguement. The default TCP buffer size is 1MB.
90 .TP
91 --irq_affinity 0|1 
92 Optional arguement. Default is 0.
93 .TP
94 --nid_exchange 0|1 
95 Optional arguement since some OSTs might not have the required support. This is turned off by default, value of 1 will turn it ON. 
96 .PP
97 .B --add mds
98 Specify the MDS configuration:
99 .TP
100 --node <node name> 
101 Name of the node on which the MDS resides.
102 .TP
103 --mds <mds_name> 
104 Common name of the MDS.
105 .TP
106 --mdsuuid <uuid>
107 Specify MDS uuid.
108 .TP 
109 --dev <pathname> 
110 Path of device on local system. If the is a file, then a loop device is created and used as the block device.
111 .TP
112 --backdev <pathname>
113 Path of the device for backing storage on local system.
114 .TP
115 --size <size> 
116 Optional argument indicating the size (in KB) of the device to be created (used typically for loop devices).
117 .TP
118 --node <nodename> 
119 Adds an MDS to the specified node. This requires a --node argument, and it must not be a profile node.
120 .TP
121 --fstype ldiskfs|ext3 
122 Optional argument used to specify the file system type. Default is ext3.
123 For 2.6 kernels the ldiskfs filesystem must be used.
124 .TP
125 --inode_size <size> 
126 Specify new inode size for underlying ext3 file system.  Must be a power of 2
127 between 128 and 4096.  The default inode size is selected based on the default
128 number of stripes specified for the filesystem.
129 .TP
130 --group_upcall <pathname> 
131 The group upcall program to call for resolving a user's secondary groups.
132 The default value is NONE, which means that the MDS will use whatever
133 supplementary group is passed from the client.  The supplied upcall is
134 /usr/sbin/l_getgroups, which gets groups from the MDS's /etc/group file
135 based on the client-supplied UID.
136 .TP
137 --mkfsoptions <options> 
138 Optional argument to mkfs.
139 .TP
140 --mountfsoptions <options> 
141 Optional argument to mount fs. Mount options will be passed by this argument. For example, extents are to be enabled by adding ",extents" to the --mountfsoptions option. "errors=remount-ro" and "asyncdel" can also be added to it.
142 .TP
143 --journal_size <size> 
144 Optional arguement to specify the journal size for the ext3 file system. The size should be in the units expected by mkfs, so for ext3 it should be in MB. If this is option is not used, the ext3 filesystem will be configured with the default journal size.
145 .PP
146 .B --add lov 
147 Creates an LOV with the specified parameters. The mds_name must already exist in the descriptor.
148 .TP
149 --lov <name>
150 Common name for the LOV
151 .TP
152 --mds <name>
153 Common name for the MDS
154 .TP
155 --stripe_sz <size>
156 Specify the stripe size in bytes.  This much data is written to each stripe before starting to write in the next stripe.  Default is 1048576.
157 .TP
158 --stripe_cnt <count> 
159 A value of 0 for this means to use the currently optimal number of stripes.  Default is 1 stripe per file.
160 .TP
161 --stripe_pattern <pattern> 
162 Only Pattern 0 (RAID 0) is supported currently.
163 .PP
164 .B --add ost 
165 Creates an OBD, OST, and OSC. The OST and OBD are created on the specified node.
166 .TP
167 --ost <name> 
168 Assign a name to the OST device.
169 .TP
170 --node <nodename> 
171 Node on which the OST service is run, can not be a profile node.
172 .TP
173 --failout
174 Disable failover support on OST.
175 .TP
176 --failover
177 Enable failover support on OST.
178 .TP
179 --dev <pathname> 
180 Path of device on local system. If this is a file, then a loop device is created and used as the block device.
181 .TP
182 --size [size] 
183 Optional argument indicating the size (in KB) of the device to be created (used typically for loop devices).
184 .TP
185 --obdtype 
186 obdfilter|obdecho 
187 .TP
188 --lov <name> 
189 Optional arguement. Name of LOV to which this OSC will be attached. 
190 .TP
191 --ostuuid UUID 
192 Specify the UUID of the OST device. 
193 .TP
194 --fstype 
195 ldiskfs|ext3 Optional arguement used to specify the file system type. Default is ext3.
196 .TP
197 --inode_size <size> 
198 Specify new inode size for underlying ext3 file system.
199 .TP
200 --mkfsoptions <options> 
201 Optional argument to mkfs.
202 .TP
203 --mountfsoptions <options> 
204 Optional argument to mount fs. Mount options will be passed by this argument. For example, extents are to be enabled by adding ",extents" to the --mountfsoptions option. "errors=remount-ro" and "asyncdel" can also be added to it.
205 .TP
206 --journal_size <size> 
207 Optional arguement to specify the journal size for the ext3 file system. The size should be in the units expected by mkfs, so for ext3 it should be in MB. If this is option is not used, the ext3 filesystem will be configured with a journal size dependent upon how large the filesystem is.
208 .PP
209 .B --add mtpt 
210 Creates a mount-point on the specified node for the given LOV.
211 .TP
212 --node node 
213 Node that will use the mtpt.
214 .TP
215 --path /mnt/path 
216 The mount-point to use to mount Lustre filesystem
217 .TP
218 --mds mds_name 
219 MDS name
220 .TP
221 --ost ost_name | --lov lov_name
222 OST or LOV name as specified earlier in the configuration
223 .PP
224 .B --add route 
225 Creates a static route through a gateway to a specific nid or a range of nid's.
226 .TP
227 --node node 
228 Node to add the route to.
229 .TP
230 --router 
231 Optional flag to mark a node as router.
232 .TP
233 --gw nid 
234 The nid of the gateway (must be a local interface or a peer).
235 .TP
236 --gateway_cluster_id id 
237 Specify the id of the cluster, to which the gateway belongs.
238 .TP
239 --target_cluster_id id 
240 Specify the id of the cluster, to which the target of the route belongs.
241 .TP
242 --lo nid 
243 For a range route, this is the lo value nid.
244 .TP
245 --hi nid 
246 For a range route, this is the hi value nid.
247 .PP
248 .B --add echo-client 
249 Used for testing purpose only. 
250 .TP
251 --node node 
252 Name of the node that echo client should run on,
253 .TP
254 --obd obd_name 
255 .SH OPTIONS
256 One of the following options should be specified.
257 .TP 12
258 --output filename 
259 Send output to the file. If the file exists, it will be overwritten.
260 .TP
261 --merge filename 
262 Add the new element to an existing file. 
263 .TP
264 --reference 
265 Print short reference for commands.
266 .TP
267 --verbose 
268 Print system commands as they are run.
269 .TP
270 --batch filename 
271 Used to execute lmc commands in batch mode.
272 .SH EXAMPLES
273 .TP
274 .B lmc --node adev3 --add net --nid adev3 --cluster_id 0x1000 --nettype tcp --hostaddr adev3-eth0 --port 988
275 .TP
276 .B lmc --node adev3 --add net --nid adev3 --cluster_id 0x2000 --nettype tcp --hostaddr adev3-eth1 --port 989
277 Used to add a Lustre node to a specified Lustre cluster through a network interface. In this example, Lustre node adev3 has been added to 2 Lustre clusters whose cluster_id are 0x1000 and 0x2000 separately through 2 network interface cards: adev3-eth0 and adev3-eth1. adev3 would listen in some specified port(s) to prepare for possible connection requests from nodes in these two clusters.
278 .TP
279 .B lmc --node adev3 --add route --nettype tcp --gw 5 --gateway_cluster_id 0x1000 --target_cluster_id 0x1000 --lo 4 --hi 7
280 Used to add a route entry for a Lustre node. Here Lustre node adev3 is told it has a new route entry that now it could send packets to Lustre nodes whose nids is from 4 to 7 with the help of Lustre gateway node whose nid is 5. Besides, Lustre gateway node is in cluster whose id is 0x1000 and target of the route belongs to cluster whose id is also 0x1000. The network in this route path is a tcp network.
281 .SH BUGS
282 None are known.