1 .TH lctl 1 "2003 Oct 8" Lustre "configuration utilities"
3 lctl \- Low level Lustre filesystem configuration utility
8 .B lctl --device <devno> <command [args]>
12 is used to directly control Lustre via an ioctl interface, allowing
13 various configuration, maintenance, and debugging features to be accessed.
16 can be invoked in interactive mode by issuing lctl command. After that, commands are issued as below. The most common commands in lctl are
35 To get a complete listing of available commands, type
37 at the lctl prompt. To get basic help on the meaning and syntax of a
41 . Command completion is activated with the TAB key, and command history is available via the up- and down-arrow keys.
43 For non-interactive use, one uses the second invocation, which runs command after connecting to the device.
45 .SS Network Configuration
47 .BI network " <up/down>|<tcp/elan/myrinet>"
48 Start or stop LNET, or select a network type for other
53 Print all Network Identifiers on the local node. LNET must be running.
55 .BI which_nid " <nidlist>"
56 From a list of nids for a remote node, show which interface communication
60 Check LNET connectivity via an LNET ping. This will use the fabric
61 appropriate to the specified NID.
64 Print the network interface information for a given
69 Print the known peers for a given
74 Print all the connected remote NIDs for a given
79 This command should print active transmits, and it is only used for elan network type.
82 Print the complete routing table.
86 .BI device " <devname> "
87 This will select the specified OBD device. All other commands depend on the device being set.
90 Show all the local Lustre OBDs. AKA
95 .BI list_param " [-F|-R] <param_search ...>"
96 List the Lustre or LNet parameter name
98 Add '/', '@' or '=' for dirs, symlinks and writeable files, respectively.
101 Recursively list all parameters under the specified parameter search string. If
103 is unspecified, all the parameters will be shown.
108 # lctl list_param ost.*
115 # lctl list_param -F ost.* debug
124 # lctl list_param -R mdt
130 mdt.lustre-MDT0000.capa
132 mdt.lustre-MDT0000.capa_count
134 mdt.lustre-MDT0000.capa_key_timeout
136 mdt.lustre-MDT0000.capa_timeout
138 mdt.lustre-MDT0000.commit_on_sharing
140 mdt.lustre-MDT0000.evict_client
144 .BI get_param " [-n|-N|-F] <parameter ...>"
145 Get the value of Lustre or LNET parameter.
148 Print only the value and not parameter name.
151 Print only matched parameter names and not the values. (Especially useful when using patterns.)
154 When -N specified, add '/', '@' or '=' for directories, symlinks and writeable files, respectively.
159 # lctl get_param ost.*
166 # lctl get_param -n debug timeout
168 super warning dlmtrace error emerg ha rpctrace vfstrace config console
173 # lctl get_param -N ost.* debug
181 lctl "get_param -NF" is equivalent to "list_param -F".
183 .BI set_param " [-n] <parameter=value ...>"
184 Set the value of Lustre or LNET parameter.
187 Disable printing of the key name when printing values.
192 # lctl set_param fail_loc=0 timeout=20
199 # lctl set_param -n fail_loc=0 timeout=20
205 .BI conf_param " [-d] <device|fsname>.<parameter>=<value>"
206 Set a permanent configuration parameter for any device via the MGS. This
207 command must be run on the MGS node.
209 .B -d <device|fsname>.<parameter>
210 Delete a parameter setting (use the default value at the next restart). A null value for <value> also deletes the parameter setting.
214 All of the writable parameters under
217 .I lctl list_param -F osc.*.* | grep =
218 ) can be permanently set using
220 , but the format is slightly different. For conf_param, the device is specified first, then the obdtype. (See examples below.) Wildcards are not supported.
222 Additionally, failover nodes may be added (or removed), and some system-wide parameters may be set as well (sys.at_max, sys.at_min, sys.at_extra, sys.at_early_margin, sys.at_history, sys.timeout, sys.ldlm_timeout.) <device> is ignored for system wide parameters.
226 # lctl conf_param testfs.sys.at_max=1200
228 # lctl conf_param testfs.llite.max_read_ahead_mb=16
230 # lctl conf_param testfs-MDT0000.lov.stripesize=2M
232 # lctl conf_param lustre-OST0001.osc.active=0
234 # lctl conf_param testfs-OST0000.osc.max_dirty_mb=29.15
236 # lctl conf_param testfs-OST0000.ost.client_cache_seconds=15
238 # lctl conf_param testfs-OST0000.failover.node=1.2.3.4@tcp1
241 Reactivate an import after deactivating, below. This setting is only effective until the next restart (see
246 Deactivate an import, in particular meaning do not assign new file stripes
247 to an OSC. This command should be used on the OSC in the MDT LOV
248 corresponding to a failed OST device, to prevent further attempts at
249 communication with the failed OST.
252 Abort the recovery process on a restarting MDT or OST device
254 .SS Virtual Block Device Operation
255 Lustre is able to emulate a virtual block device upon regular file. It is necessary to be used when you are trying to setup a swap space via file.
257 .BI blockdev_attach " <file name> <device node>"
258 Attach the lustre regular file to a block device. If the device node is not existent, lctl will create it \- it is recommended to create it by lctl since the emulator uses a dynamical major number.
260 .BI blockdev_detach " <device node>"
261 Detach the virtual block device.
263 .BI blockdev_info " <device node>"
264 Acquire which lustre file was attached to the device node.
268 .BI changelog_register
269 Register a new changelog user for a particular device. Changelog entries
270 will not be purged beyond any registered users' set point. (See lfs changelog_clear.)
272 .BI changelog_deregister " <id>"
273 Unregister an existing changelog user. If the user's "clear" record number
274 is the minimum for the device, changelog records will be purged until the
280 Start and stop the debug daemon, and control the output filename and size.
282 .BI debug_kernel " [file] [raw]"
283 Dump the kernel debug buffer to stdout or file.
285 .BI debug_file " <input> [output]"
286 Convert kernel-dumped debug log from binary to plain text format.
289 Clear the kernel debug buffer.
292 Insert marker text in the kernel debug buffer.
294 .BI filter " <subsystem id/debug mask>"
295 Filter kernel debug messages by subsystem or mask.
297 .BI show " <subsystem id/debug mask>"
298 Show specific type of messages.
300 .BI debug_list " <subs/types>"
301 List all the subsystem and debug types.
303 .BI modules " <path>"
304 Provide gdb-friendly module information.
307 The following options can be used to invoke lctl.
310 The device to be used for the operation. This can be specified by name or
314 .B --ignore_errors | ignore_errors
315 Ignore errors during script processing
321 0 UP mgc MGC192.168.0.20@tcp bfbb24e3-7deb-2ffa-eab0-44dffe00f692 5
322 1 UP ost OSS OSS_uuid 3
323 2 UP obdfilter testfs-OST0000 testfs-OST0000_UUID 3
326 Debug log: 87 lines, 87 kept, 0 dropped.
331 Please report all bugs to Sun Microsystems, Inc. http://bugzilla.lustre.org/
336 filesystem package and is available from Sun Microsystems, Inc.
338 http://www.sun.com/software/products/lustre/index.xml
342 .BR mount.lustre (8),