Whamcloud - gitweb
- landing of b_hd_cleanup_merge to 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 --ptldebug <debug_level>
55 Set the portals debug level.
56 .TP
57 --subsystem <subsystem_name>
58 Specify which Lustre subsystems have debug output recorded in the log.
59 .PP
60 .B --add net 
61 Adds a network device descriptor for the given node, with parameters as indicated.
62 The arguments required are:
63 .TP 12
64 --node <node_name>
65 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.
66 .TP
67 --nettype <type> 
68 This can be tcp, elan, or gm.
69 .TP
70 --nid nid 
71 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.
72 .TP
73 --cluster_id id
74 Specify the cluster ID.
75 .TP
76 --hostaddr addr
77 Specify the host address, which will be transfered to the real host address by lconf.
78 .TP
79 --router 
80 Optional flag to mark this node as a router.
81 .TP
82 --port [port] 
83 Optional arguement to indicate the tcp port. The default is 988. 
84 .TP
85 --tcpbuf <size> 
86 Optional arguement. The default TCP buffer size is 1MB.
87 .TP
88 --irq_affinity 0|1 
89 Optional arguement. Default is 0.
90 .TP
91 --nid_exchange 0|1 
92 Optional arguement since some OSTs might not have the required support. This is turned off by default, value of 1 will turn it ON. 
93 .PP
94 .B --add mds
95 Specify the MDS configuration:
96 .TP
97 --node <node name> 
98 Name of the node on which the MDS resides.
99 .TP
100 --mds <mds_name> 
101 Common name of the MDS.
102 .TP
103 --mdsuuid <uuid>
104 Specify MDS uuid.
105 .TP
106 --failover
107 Enable failover support on MDS.
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 extN|ext3 
122 Optional argument used to specify the file system type. Default is ext3.
123 .TP
124 --backfstype ext3|tmpfs 
125 Specify the backing filesystem type.
126 .TP
127 --nspath 
128 Local mount point of server namespace.
129 .TP
130 --inode_size <size> 
131 Specify new inode size for underlying ext3 file system.
132 .TP
133 --mkfsoptions <options> 
134 Optional argument to mkfs.
135 .TP
136 --mountfsoptions <options> 
137 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.
138 .TP
139 --journal_size <size> 
140 Optional arguement to specify the journal size for the ext2/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 ext2/ext3 filesystem will be configured with the default journal size.
141 .PP
142 .B --add lov 
143 Creates an LOV with the specified parameters. The mds_name must already exist in the descriptor.
144 .TP
145 --lov <name>
146 Common name for the LOV
147 .TP
148 --mds <name>
149 Common name for the MDS
150 .TP
151 --stripe_sz <size>
152 Stripe size
153 .TP
154 --stripe_cnt <count> 
155 A value of 0 for this means to stripe on all available OSTs. Default is 0.
156 .TP
157 --stripe_pattern <pattern> 
158 Only Pattern 0 (RAID 0) is supported currently.
159 .PP
160 .B --add ost 
161 Creates an OBD, OST, and OSC. The OST and OBD are created on the specified node.
162 .TP
163 --ost <name> 
164 Assign a name to the OST device.
165 .TP
166 --node <nodename> 
167 Node on which the OST service is run, can not be a profile node.
168 .TP
169 --failover 
170 Enable failover support on OST.
171 .TP
172 --dev <pathname> 
173 Path of device on local system. If this is a file, then a loop device is created and used as the block device.
174 .TP
175 --backdev <pathname> 
176 Path of the device for backing storage on local system.
177 .TP
178 --size [size] 
179 Optional argument indicating the size (in KB) of the device to be created (used typically for loop devices).
180 .TP
181 --obdtype 
182 obdfilter|obdecho 
183 .TP
184 --lov <name> 
185 Optional arguement. Name of LOV to which this OSC will be attached. 
186 .TP
187 --ostuuid UUID 
188 Specify the UUID of the OST device. 
189 .TP
190 --fstype 
191 extN|ext3 Optional arguement used to specify the file system type. Default is ext3.
192 .TP
193 --backfstype ext3|tmpfs 
194 Optional argument to specify the backing filesystem type.
195 .TP
196 --inode_size <size> 
197 Specify new inode size for underlying ext3 file system.
198 .TP
199 --nspath 
200 Local mount point of server namespace.
201 .TP
202 --mkfsoptions <options> 
203 Optional argument to mkfs.
204 .TP
205 --mountfsoptions <options> 
206 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.
207 .TP
208 --journal_size <size> 
209 Optional arguement to specify the journal size for the ext2/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 ext2/ext3 filesystem will be configured with the default journal size.
210 .PP
211 .B --add mtpt 
212 Creates a mount-point on the specified node. Either an LOV or OSC name can be used.
213 .TP
214 --node node 
215 Node that will use the mtpt.
216 .TP
217 --path /mnt/path 
218 The mount-point to use to mount Lustre filesystem
219 .TP
220 --mds mds_name 
221 MDS name
222 .TP
223 --ost ost_name | --lov lov_name
224 OST or LOV name as specified earlier in the configuration
225 .TP
226 --clientoptions options
227 Specify the options for Lustre, such as async.
228 .PP
229 .B --add route 
230 Creates a static route through a gateway to a specific nid or a range of nid's.
231 .TP
232 --node node 
233 Node to add the route to.
234 .TP
235 --router 
236 Optional flag to mark a node as router.
237 .TP
238 --gw nid 
239 The nid of the gateway (must be a local interface or a peer).
240 .TP
241 --gateway_cluster_id id 
242 Specify the id of the cluster, to which the gateway belongs.
243 .TP
244 --target_cluster_id id 
245 Specify the id of the cluster, to which the target of the route belongs.
246 .TP
247 --lo nid 
248 For a range route, this is the lo value nid.
249 .TP
250 --hi nid 
251 For a range route, this is the hi value nid.
252 .PP
253 .B --add echo-client 
254 Used for testing purpose only. 
255 .TP
256 --node node 
257 Name of the node that echo client should run on,
258 .TP
259 --obd obd_name 
260 .PP
261 .B --add mgmt 
262 Management/monitoring service.
263 .TP
264 --node nodename 
265 Node on which the mgmt service resides.
266 .TP
267 --mgmt <mgmt_service_name> 
268 Specify management/monitoring service name.
269 .PP
270 .B --add cobd 
271 Create the cobd on the specified node.
272 .TP
273 --node nodename 
274 Node on which the cobd resides.
275 .TP
276 --cache_obd obd_name 
277 Specify the cache device for the cache obd system.
278 .TP
279 --real_obd obd_name 
280 Specify the real device for the cache obd system.
281 .SH OPTIONS
282 One of the following options should be specified.
283 .TP 12
284 --output filename 
285 Send output to the file. If the file exists, it will be overwritten.
286 .TP
287 --merge filename 
288 Add the new element to an existing file. 
289 .TP
290 --reference 
291 Print short reference for commands.
292 .TP
293 --verbose 
294 Print system commands as they are run.
295 .TP
296 --batch filename 
297 Used to execute lmc commands in batch mode.
298 .SH EXAMPLES
299 .TP
300 .B lmc --node adev3 --add net --nid adev3 --cluster_id 0x1000 --nettype tcp --hostaddr adev3-eth0 --port 988
301 .TP
302 .B lmc --node adev3 --add net --nid adev3 --cluster_id 0x2000 --nettype tcp --hostaddr adev3-eth1 --port 989
303 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.
304 .TP
305 .B lmc --node adev3 --add route --nettype tcp --gw 5 --gateway_cluster_id 0x1000 --target_cluster_id 0x1000 --lo 4 --hi 7
306 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.
307 .SH BUGS
308 None are known.