-.TH lctl 1 "2003 Oct 8" Lustre "configuration utilities"
+.TH lctl 8 "2017 Jan 12" Lustre "configuration utilities"
.SH NAME
lctl \- Low level Lustre filesystem configuration utility
.SH SYNOPSIS
.br
.B lctl --device <devno> <command [args]>
.br
+.B lctl --version
+.br
+.B lctl --list-commands
+.br
.SH DESCRIPTION
.B lctl
is used to directly control Lustre via an ioctl interface, allowing
various configuration, maintenance, and debugging features to be accessed.
-
+
.B lctl
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
-.I <up/down>
-,
-.B list_nids
-,
+.BR dl ,
+.BR dk ,
+.BR device ,
+.B network
+.IR <up/down> ,
+.BR list_nids ,
.B ping
-.I nid
-,
-.B help
-,
-.B quit.
+.IR nid ,
+.BR help ,
+.BR quit .
To get a complete listing of available commands, type
-.B help
+.B --list-commands
at the lctl prompt. To get basic help on the meaning and syntax of a
-command, type
-.B help
+command, type
+.B help
.I command
-. Command completion is activated with the TAB key, and command history is available via the up- and down-arrow keys.
+. Command completion is activated with the TAB key, and command history is available via the up- and down-arrow keys.
-For non-interactive use, one uses the second invocation, which runs command after connecting to the device.
+For non-interactive use, one uses the second invocation, which runs command after connecting to the device.
+
+.SS System Configuration
+The on-line tool set for backup or removal of Lustre system configuration. For detail, please see:
+.PP
+\fBlctl-lcfg\fR(8)
+.RS 4
.SS Network Configuration
.TP
-.BI network " <up/down>|<tcp/elan/myrinet>"
+.BR network " <" up / down >|< tcp / o2ib >
Start or stop LNET, or select a network type for other
.I lctl
LNET commands
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> "
+.BI ping " <nid> timeout"
Check LNET connectivity via an LNET ping. This will use the fabric
-appropriate to the specified NID.
+appropriate to the specified NID. By default lctl will attempt to
+reach the remote node up to 120 seconds and then timeout. To disable
+the timeout just specify an negative timeout value.
.TP
-.BI interface_list
-Print the network interface information for a given
+.BI interface_list
+Print the network interface information for a given
.B network
type.
.TP
-.BI peer_list
-Print the known peers for a given
+.BI peer_list
+Print the known peers for a given
.B network
type.
.TP
-.BI conn_list
+.BI conn_list
Print all the connected remote NIDs for a given
.B network
type.
-.TP
-.BI route_list
+.TP
+.BI route_list
Print the complete routing table.
.PP
.SS Device Selection
-.TP
-.BI device " <devname> "
-This will select the specified OBD device. All other commands depend on the device being set.
-.TP
-.BI device_list
-Show all the local Lustre OBDs. AKA
+.TP
+.BI device " <devname> "
+This will select the specified OBD device. All other commands depend on the device being set.
+.TP
+.BI device_list
+Show all the local Lustre OBDs. AKA
.B dl
.PP
.SS Device Operations
-.TP
+.TP
.BI list_param " [-F|-R] <param_search ...>"
List the Lustre or LNet parameter name
.B -F
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.
+Delete a parameter setting (use the default value at the next restart).
+A null value for <value> also deletes the parameter setting. This is
+useful if an incorrect or obsolete parameter is in the configuration.
.br
.B Parameters:
.br
-All of the writable parameters under
+All of the writable parameters under
.B lctl list_param
-(e.g.
+(e.g.
.I lctl list_param -F osc.*.* | grep =
) can be permanently set using
.B lctl conf_param
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
+.br
# lctl conf_param testfs.sys.at_max=1200
.br
-# lctl conf_param testfs.llite.max_read_ahead_mb=16
+# 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
+# lctl conf_param lustre-OST0001.osc.active=0
.br
-# lctl conf_param testfs-OST0000.osc.max_dirty_mb=29.15
+# lctl conf_param testfs-OST0000.osc.max_dirty_mb=29.15
.br
-# lctl conf_param testfs-OST0000.ost.client_cache_seconds=15
+# 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. This setting is only effective until the next restart (see
+.br
+# lctl conf_param -d testfs-OST0000.bad_param
+.TP
+.BI activate
+Reactivate an import after deactivating, below. This setting is only effective until the next restart (see
.B conf_param
).
-.TP
-.BI deactivate
+.TP
+.BI deactivate
Deactivate an import, in particular meaning do not assign new file stripes
to an OSC. This command should be used on the OSC in the MDT LOV
corresponding to a failed OST device, to prevent further attempts at
communication with the failed OST.
-.TP
-.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.
+.BI abort_recovery
+Abort the recovery process on a restarting MDT or OST device
.PP
.SS Changelogs
.TP
.RS 4
Get the LFSCK global status via the specified MDT device.
.RE
+
+.SS BARRIER
+The tools set for write (modify) barrier on all MDTs. For detail, please see:
+.PP
+\fBlctl-barrier\fR(8)
+.RS 4
+
+.SS SNAPSHOT
+ZFS backend based snapshot tools set. The tool loads system configuration
+from the file
+.B /etc/ldev.conf
+on the MGS, and call related ZFS commands to
+maintain Lustre snapshot pieces on all targets (MGS/MDT/OST).
+The configuration file
+.B /etc/ldev.conf
+is not only for snapshot, but also
+for other purpose. The format is:
+ <host> foreign/- <label> <device> [journal-path]/- [raidtab]
+
+The format of
+.I <label>
+is:
+ fsname-<role><index> or <role><index>
+
+The format of
+.I <device>
+is:
+ [md|zfs:][pool_dir/]<pool>/<filesystem>
+
+Snapshot only uses the fields <host>, <label> and <device>.
+
+.br
+.B Example:
+.br
+.B
+# cat /etc/ldev.conf
+.br
+ host-mdt1 - myfs-MDT0000 zfs:/tmp/myfs-mdt1/mdt1
+ host-mdt2 - myfs-MDT0001 zfs:myfs-mdt2/mdt2
+ host-ost1 - OST0000 zfs:/tmp/myfs-ost1/ost1
+ host-ost2 - OST0001 zfs:myfs-ost2/ost2
+
+See also:
+
+.PP
+\fBlctl-snapshot-create\fR(8)
+.RS 4
+Create snapshot with the given name.
+.RE
+.PP
+\fBlctl-snapshot-destroy\fR(8)
+.RS 4
+Destroy the specified snapshot.
+.RE
+.PP
+\fBlctl-snapshot-modify\fR(8)
+.RS 4
+Modify the specified snapshot.
+.RE
+.PP
+\fBlctl-snapshot-list\fR(8)
+.RS 4
+Query the snapshot information.
+.RE
+.PP
+\fBlctl-snapshot-mount\fR(8)
+.RS 4
+Mount the specified snapshot.
+.RE
+.PP
+\fBlctl-snapshot-umount\fR(8)
+.RS 4
+Umount the specified snapshot.
+.RE
+
.SS Debug
-.TP
-.BI debug_daemon
+.TP
+.BI debug_daemon
Start and stop the debug daemon, and control the output filename and size.
-.TP
-.BI debug_kernel " [file] [raw]"
+.TP
+.BI debug_kernel " [file] [raw]"
Dump the kernel debug buffer to stdout or file.
-.TP
+.TP
.BI debug_file " <input> [output]"
Convert kernel-dumped debug log from binary to plain text format.
-.TP
-.BI clear
+.TP
+.BI clear
Clear the kernel debug buffer.
-.TP
-.BI mark " <text>"
+.TP
+.BI mark " <text>"
Insert marker text in the kernel debug buffer.
-.TP
-.BI filter " <subsystem id/debug mask>"
+.TP
+.BI filter " <subsystem id/debug mask>"
Filter kernel debug messages by subsystem or mask.
-.TP
-.BI show " <subsystem id/debug mask>"
+.TP
+.BI show " <subsystem id/debug mask>"
Show specific type of messages.
-.TP
-.BI debug_list " <subs/types>"
+.TP
+.BI debug_list " <subs/types>"
List all the subsystem and debug types.
.TP
-.BI modules " <path>"
+.BI modules " <path>"
Provide gdb-friendly module information.
.SH OPTIONS
-The following options can be used to invoke lctl.
+The following options can be used to invoke lctl.
.TP
-.B --device
+.B --device
The device to be used for the operation. This can be specified by name or
-number. See
+number. See
.B device_list
.TP
-.B --ignore_errors | ignore_errors
+.B --ignore_errors | ignore_errors
Ignore errors during script processing
.TP
.B lustre_build_version
.B --version
Output the build version of the lctl utility
.TP
+.B --list-commands
+Output a list of the commands supported by the lctl utility
+.TP
.B help
Provides brief help on the various arguments
.TP
.SH AVAILABILITY
.B lctl
-is part of the
-.BR Lustre (7)
+is part of the
+.BR lustre (7)
filesystem package.
.SH SEE ALSO
.BR lustre (7),
.BR mkfs.lustre (8),
.BR mount.lustre (8),
.BR lctl (8),
+.BR lctl-lfsck-start (8),
+.BR lctl-lfsck-stop (8),
+.BR lctl-lfsck-query (8),
+.BR lctl-lcfg (8),
+.BR lctl-barrier (8),
+.BR lctl-snapshot-create (8),
+.BR lctl-snapshot-destroy (8),
+.BR lctl-snapshot-modify (8),
+.BR lctl-snapshot-list (8),
+.BR lctl-snapshot-mount (8),
+.BR lctl-snapshot-umount (8),
+.BR lctl-llog_catlist (8),
+.BR lctl-llog_info (8),
+.BR lctl-llog_print (8),
+.BR lctl-network (8),
+.BR lctl-nodemap-activate (8),
+.BR lctl-nodemap-add-idmap (8),
+.BR lctl-nodemap-add-range (8),
+.BR lctl-nodemap-add (8),
+.BR lctl-nodemap-del-idmap (8),
+.BR lctl-nodemap-del-range (8),
+.BR lctl-nodemap-del (8),
+.BR lctl-nodemap-modify (8),
.BR lfs (1)