Whamcloud - gitweb
LU-4687 obdclass: unified flow control interfaces
[fs/lustre-release.git] / lustre / doc / lctl.8
index e56331a..b50a1f6 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
@@ -106,6 +272,77 @@ communication with the failed OST.
 .BI abort_recovery 
 Abort the recovery process on a restarting MDT or OST device
 .PP
+.SS Virtual Block Device Operation
+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.
+.TP
+.BI blockdev_attach " <file name> <device node>"
+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.
+.TP
+.BI blockdev_detach " <device node>"
+Detach the virtual block device.
+.TP
+.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_device>
+     \fR[-e | --error <error_handle>]
+     \fR[-h | --help]
+     \fR[-n | --dryrun <switch>]
+     \fR[-r | --reset]
+     \fR[-s | --speed <speed_limit>]
+     \fR[-t | --type <lfsck_type[,lfsck_type...]>]
+.br
+Start LFSCK on the specified MDT device with specified parameters.
+.TP
+  -M, --device <MDT_device>
+The MDT device to check.
+.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 rapair is impossible.
+.TP
+  -h, --help
+Show this help.
+.TP
+  -n, --dryrun <on|off>
+Perform a trial run with no changes made.
+.TP
+  -r, --reset
+Set the current position of LFSCK progress to the beginning of the specified
+MDT.
+.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...]>
+Specify the type of LFSCK to execute. By default, OI Scrub is executed.
+Alternative types include FID-in-dirent and linkEA (namespace).
+.TP
+.B lfsck_stop  \fR<-M | --device MDT_device> [-h | --help]
+Stop LFSCK on the specified MDT device.
+.TP
+  -M, --device <MDT_device>
+The MDT device.
+.TP
+  -h, --help
+Show this help.
 .SS Debug
 .TP 
 .BI debug_daemon 
@@ -145,7 +382,7 @@ number. See
 .TP
 .B --ignore_errors | ignore_errors 
 Ignore errors during script processing
-.TP
+
 .SH EXAMPLES
 # lctl
 .br
@@ -158,18 +395,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),