Whamcloud - gitweb
LU-4862 doc: Update lctl man page for LFSCK phase 2
[fs/lustre-release.git] / lustre / doc / lctl.8
index 9243863..a9bc9a0 100644 (file)
@@ -16,6 +16,8 @@ various configuration, maintenance, and debugging features to be accessed.
 can be invoked in interactive mode by issuing lctl command. After that, commands are issued as below. The most common commands in lctl are
 .B dl
 ,
+.B dk
+,
 .B device 
 ,
 .B network 
@@ -54,6 +56,16 @@ Print all Network Identifiers on the local node. LNET must be running.
 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.
@@ -90,12 +102,166 @@ Show all the local Lustre OBDs. AKA
 .PP
 .SS Device Operations
 .TP 
-.BI conf_param " <device> <parameter>"
+.BI list_param " [-F|-R] <param_search ...>"
+List the Lustre or LNet parameter name
+.B -F
+Add '/', '@' or '=' for dirs, symlinks and writeable files, respectively.
+.br
+.B -R
+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
+.B
+# lctl list_param ost.*
+.br
+  ost.OSS
+.br
+  ost.num_refs
+.br
+.B
+# lctl list_param -F ost.* debug
+.br
+  ost.OSS/
+.br
+  ost.num_refs
+.br
+  debug=
+.br
+.B
+# lctl list_param -R mdt
+.br
+  mdt
+.br
+  mdt.lustre-MDT0000
+.br
+  mdt.lustre-MDT0000.capa
+.br
+  mdt.lustre-MDT0000.capa_count
+.br
+  mdt.lustre-MDT0000.capa_key_timeout
+.br
+  mdt.lustre-MDT0000.capa_timeout
+.br
+  mdt.lustre-MDT0000.commit_on_sharing
+.br
+  mdt.lustre-MDT0000.evict_client
+.br
+  ...
+.TP
+.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
+.B -N
+Print only matched parameter names and not the values. (Especially useful when using patterns.)
+.br
+.B -F
+When -N specified, add '/', '@' or '=' for directories, symlinks and writeable files, respectively.
+.br
+.B Examples:
+.br
+.B
+# lctl get_param ost.*
+.br
+  ost.OSS
+.br
+  ost.num_refs
+.br
+.B
+# lctl get_param -n debug timeout
+.br
+  super warning dlmtrace error emerg ha rpctrace vfstrace config console
+.br
+  20
+.br
+.B
+# lctl get_param -N ost.* debug
+.br
+  ost.OSS
+.br
+  ost.num_refs
+.br
+  debug
+.br
+lctl "get_param -NF" is equivalent to "list_param -F".
+.TP
+.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
+# lctl set_param fail_loc=0 timeout=20
+.br
+  fail_loc=0
+.br
+  timeout=20
+.br
+.B
+# lctl set_param -n fail_loc=0 timeout=20
+.br
+  0
+.br
+  20
+.br
+.B
+# lctl set_param -P osc.*.max_dirty_mb=32
+.br
+.TP
+.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. 
+command must be run on the MGS node.
+.br
+.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:
+.br
+All of the writable parameters under 
+.B lctl list_param
+(e.g. 
+.I lctl list_param -F osc.*.* | grep =
+) can be permanently set using
+.B lctl conf_param
+, 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.)  <device> is ignored for system wide parameters.
+.br
+.B Examples:
+.br 
+# lctl conf_param testfs.sys.at_max=1200
+.br
+# lctl conf_param testfs.llite.max_read_ahead_mb=16 
+.br
+# lctl conf_param testfs-MDT0000.lov.stripesize=2M
+.br
+# lctl conf_param lustre-OST0001.osc.active=0 
+.br
+# lctl conf_param testfs-OST0000.osc.max_dirty_mb=29.15 
+.br
+# lctl conf_param testfs-OST0000.ost.client_cache_seconds=15 
+.br
+# lctl conf_param testfs-OST0000.failover.node=1.2.3.4@tcp1
 .TP 
 .BI activate 
-Reactivate an import after deactivating, below.
+Reactivate an import after deactivating, below.  This setting is only effective until the next restart (see 
+.B conf_param
+).
 .TP 
 .BI deactivate 
 Deactivate an import, in particular meaning do not assign new file stripes
@@ -118,6 +284,87 @@ Detach the virtual block device.
 .BI blockdev_info " <device node>"
 Acquire which lustre file was attached to the device node.
 .PP
+.SS Changelogs
+.TP
+.BI changelog_register
+Register a new changelog user for a particular device.  Changelog entries
+will not be purged beyond any registered users' set point. (See lfs changelog_clear.)
+.TP
+.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.
+.PP
+.SS LFSCK
+An on-line Lustre consistency check and repair tool.
+.TP
+.B lfsck_start \fR<-M | --device [MDT,OST]_device>
+     \fR[-e | --error <error_handle>]
+     \fR[-h | --help]
+     \fR[-n | --dryrun <switch>]
+     \fR[-r | --reset]
+     \fR[-s | --speed <speed_limit>]
+     \fR[-A | --all]
+     \fR[-t | --type <lfsck_type[,lfsck_type...]>]
+     \fR[-w | --windows <win_size>]
+     \fR[-o | --orphan]
+.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
+  -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
+  -r, --reset
+Set the current position of object iteration to the beginning of the specified
+MDT. By default the iterator will resume scanning from the last checkpoint
+(saved periodically by LFSCK) provided it is available.
+.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
+  -A, --all
+Start LFSCK on all devices.
+.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, --windows
+The window size for async requests pipeline.
+.TP
+  -o, --orphan
+Handle orphan objects, such as orphan OST-objects for layout LFSCK.
+.TP
+.B lfsck_stop  \fR<-M | --device [MDT,OST]_device>
+     \fR[-A | --all]
+     \fR[-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 
@@ -157,7 +404,7 @@ number. See
 .TP
 .B --ignore_errors | ignore_errors 
 Ignore errors during script processing
-.TP
+
 .SH EXAMPLES
 # lctl
 .br
@@ -170,18 +417,12 @@ lctl > dk /tmp/log
 Debug log: 87 lines, 87 kept, 0 dropped.
 .br
 lctl > quit
-.PP
-# lctl conf_param testfs-MDT0000 sys.timeout=40
 
-.SH BUGS
-Please report all bugs to ClusterFileSystems, support@clusterfs.com
 .SH AVAILABILITY
 .B lctl
 is part of the 
 .BR Lustre (7) 
-filesystem package and is available from CFS
-.br
-http://clusterfs.com
+filesystem package.
 .SH SEE ALSO
 .BR Lustre (7),
 .BR mkfs.lustre (8),