From a list of nids for a remote node, show which interface communication
will take place on.
.TP
+.BI replace_nids " <devicename> <nid1>[,nid2,nid3 ...]"
+Replace the LNET Network Identifiers for a given device,
+as when the server's IP address has changed.
+This command must be run on the MGS node.
+Only MGS server should be started (command execution returns error
+in another cases). To start the MGS service only:
+mount -t lustre <MDT partition> -o nosvc <mount point>
+Note the replace_nids command skips any invalidated records in the configuration log.
+The previous log is backed up with the suffix '.bak'.
+.TP
.BI ping " <nid> "
Check LNET connectivity via an LNET ping. This will use the fabric
appropriate to the specified NID.
.PP
.SS Device Operations
.TP
-.BI list_param " [-F|-R] <param_path ...>"
+.BI list_param " [-F|-R] <param_search ...>"
List the Lustre or LNet parameter name
-.br
.B -F
Add '/', '@' or '=' for dirs, symlinks and writeable files, respectively.
.br
.B -R
-Recursively list all parameters under the specified path. If
-.I param_path
+Recursively list all parameters under the specified parameter search string. If
+.I param_search
is unspecified, all the parameters will be shown.
.br
.B Examples:
.br
debug=
.br
-.B
+.B
# lctl list_param -R mdt
.br
mdt
.br
...
.TP
-.BI get_param " [-n|-N|-F] <param_path ...>"
-Get the value of Lustre or LNET parameter from the specified path.
+.BI get_param " [-n|-N|-F] <parameter ...>"
+Get the value of Lustre or LNET parameter.
.br
.B -n
Print only the value and not parameter name.
.br
lctl "get_param -NF" is equivalent to "list_param -F".
.TP
-.BI set_param " [-n] <param_path=value ...>"
-Set the value of Lustre or LNET parameter from the specified path.
+.BI set_param " [-n] [-P] [-d] <parameter=value ...>"
+Set the value of Lustre or LNET parameter.
.br
.B -n
Disable printing of the key name when printing values.
.br
+.B -P
+Set the parameter permanently, filesystem-wide.
+This parameters are only visible to 2.5.0 and later clients, older clients will not see these parameters.
+.br
+.B -d
+Remove the permanent setting (only with -P option)
+.br
.B Examples:
.br
.B
0
.br
20
+.br
+.B
+# lctl set_param -P osc.*.max_dirty_mb=32
+.br
.TP
-.BI conf_param " [-d] <obd>.<device|fsname>.<parameter>=<value>"
+.BI conf_param " [-d] <device|fsname>.<parameter>=<value>"
Set a permanent configuration parameter for any device via the MGS. This
command must be run on the MGS node.
.br
-.B -d <obd>.<device|fsname>.<param>
+.B -d <device|fsname>.<parameter>
Delete a parameter setting (use the default value at the next restart). A null value for <value> also deletes the parameter setting.
.br
.B Parameters:
.I lctl list_param -F osc.*.* | grep =
) can be permanently set using
.B lctl conf_param
-. The format is similar to set_param, except a single device (or fsname) is specified. Wildcards are not supported. See examples below.
+, but the format is slightly different. For conf_param, the device is specified first, then the obdtype. (See examples below.) Wildcards are not supported.
.br
-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.) Note system wide parameters affect all devices running on a node.
+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.
.br
.B Examples:
.br
-# lctl conf_param sys.testfs.at_max=1200
+# lctl conf_param testfs.sys.at_max=1200
.br
-# lctl conf_param llite.testfs.max_read_ahead_mb=16
+# lctl conf_param testfs.llite.max_read_ahead_mb=16
.br
-# lctl conf_param lov.testfs-MDT0000.stripesize=2M
+# lctl conf_param testfs-MDT0000.lov.stripesize=2M
.br
-# lctl conf_param osc.testfs-OST0001.active=0
+# lctl conf_param lustre-OST0001.osc.active=0
.br
-# lctl conf_param osc.testfs-OST0000.max_dirty_mb=29.15
+# lctl conf_param testfs-OST0000.osc.max_dirty_mb=29.15
.br
-# lctl conf_param ost.testfs-OST0000.client_cache_seconds=15
+# lctl conf_param testfs-OST0000.ost.client_cache_seconds=15
.br
-# lctl conf_param osc.testfs-OST0000.failover.node=1.2.3.4@tcp1
+# lctl conf_param testfs-OST0000.failover.node=1.2.3.4@tcp1
.TP
.BI activate
Reactivate an import after deactivating, below. This setting is only effective until the next restart (see
.BI changelog_deregister " <id>"
Unregister an existing changelog user. If the user's "clear" record number
is the minimum for the device, changelog records will be purged until the
-next minimum.
+next minimum.
.PP
+.SS LFSCK
+An on-line Lustre consistency check and repair tool.
+.TP
+.B lfsck_start \fR<-M | --device [MDT,OST]_device>
+ \fR[-A | --all] [-c | --create_ostobj [on | off]]
+ \fR[-e | --error <continue | abort>] [-h | --help]
+ \fR[-n | --dryrun [on | off]] [-o | --orphan]
+ \fR[-r | --reset] [-s | --speed speed_limit]
+ \fR[-t | --type lfsck_type[,lfsck_type...]]
+ \fR[-w | --window_size size]
+.br
+Start LFSCK on the specified MDT or OST device with specified parameters.
+.TP
+ -M, --device <MDT,OST_device>
+The MDT or OST device to start LFSCK/scrub on.
+.TP
+ -A, --all
+Start LFSCK on all MDT devices.
+.TP
+ -c, --create_ostobj [on | off]
+Create the lost OST-object for dangling LOV EA: 'off'(default) or 'on'. Under
+default mode, when the LFSCK find some MDT-object with dangling reference, it
+will report the inconsistency but without repairing. Otherwise the LFSCK will
+re-create the missed OST-object.
+.TP
+ -e, --error <error_handle>
+With error_handle as 'abort' LFSCK will stop if a repair is impossible. If no
+value is specified, the saved value will be used if resuming from a checkpoint.
+Otherwise the default behavior is to 'continue' if a repair is impossible.
+.TP
+ -h, --help
+Show this help.
+.TP
+ -n, --dryrun [on | off]
+Perform a trial run with no changes made. Default is 'off'
+.TP
+ -o, --orphan
+Handle orphan objects, such as orphan OST-objects for layout LFSCK.
+.TP
+ -r, --reset
+Set the current position of object iteration to the beginning of the specified
+device. The non-specified parameters will also be reset as default. By default
+the iterator will resume the scanning from the last checkpoint (position), and
+other non-specified parameters will be the same as former non-completed run.
+.TP
+ -s, --speed <speed_limit>
+Set the upper limit of LFSCK processing in objects per second. If no value is
+specified the saved value is used (if resuming from a check point). Otherwise
+the default value of 0 is used. 0 means run as fast as possible.
+.TP
+ -t, --type <lfsck_type[,lfsck_type...]>
+The type of LFSCK checking/repair to execute. By default, the LFSCK
+component(s) which ran last time and did not finish or the component(s)
+corresponding to some known system inconsistency, will be started. Anytime
+LFSCK is triggered on an ldiskfs MDT or OST, the OI Scrub is executed.
+Alternative types include FID-in-dirent and linkEA (namespace) and MDT-OST
+inconsistency (layout).
+.TP
+ -w, --window_size <size>
+The window size for async requests pipeline.
+.TP
+.B lfsck_stop \fR<-M | --device [MDT,OST]_device> [-A | --all] [-h | --help]
+Stop LFSCK on the specified MDT or OST device.
+.TP
+ -M, --device <[MDT,OST]_device>
+The MDT or OST device to stop LFSCK/scrub on.
+.TP
+ -A, --all
+Stop LFSCK on all devices.
+.TP
+ -h, --help
+Show this help.
.SS Debug
.TP
.BI debug_daemon
.br
lctl > quit
-.SH BUGS
-Please report all bugs to Sun Microsystems, Inc. http://bugzilla.lustre.org/
.SH AVAILABILITY
.B lctl
is part of the
.BR Lustre (7)
-filesystem package and is available from Sun Microsystems, Inc.
-.br
-http://www.sun.com/software/products/lustre/index.xml
+filesystem package.
.SH SEE ALSO
.BR Lustre (7),
.BR mkfs.lustre (8),