-.TH l_getidentity 1 "Dec 7, 2016" Lustre "utilities"
+.TH L_GETIDENTITY 8 2024-08-29 Lustre "Lustre Configuration Utilities"
.SH NAME
l_getidentity \- Handle Lustre user/group cache upcall
.SH SYNOPSIS
-.B "l_getidentity {-d | mdtname} uid"
+.SY l_getidentity
+.RB { -d | mdtname }
+.I UID
+.YS
.SH DESCRIPTION
The identity upcall command specifies the path to an executable that,
when properly installed, is invoked to resolve the numeric
-.I uid
+.I UID
to a group membership list.
-.LP
+.PP
.B l_getidentity
is the reference implementation of the user/group cache upcall.
This command is normally run directly by the Lustre MDS service
and specifies the
-.I mdtname
+.B mdtname
argument for the MDT that should be updated.
-.br
.SS "The permissions file"
-.PP
-.I /etc/lustre/perm.conf
-supports a flat file database of permissions in the format
-.br
- UID<space>NID<space>perm1,perm2,...,permN
-.br
-
-.br
+.B /etc/lustre/perm.conf
+supports a flat file database of permissions in the format:
+.EX
+.IB UID <space> NID <space> PERM1 , PERM2 ,..., PERMN
+.EE
where
-.B perm
+.I PERM
is one of:
-.I [no]setuid
-.I [no]setgid
-.I [no]setgrp
-.I [no]rmtacl
-.I [no]rmtown
-.br
-
-.br
+.B [no]setuid
+.B [no]setgid
+.B [no]setgrp
+.B [no]rmtacl
+.B [no]rmtown
+.PP
.BR nss (5)
modules can be enabled for auth handling by adding a
.B lookup
command with a list of nss modules to the first line of
.BR perm.conf
-.br
+.PP
At the time of writing, known
.BR nss (5)
modules include:
additional modules may be documented in
.BR nsswitch.conf (5)
or installed separately.
-.br
-
-.br
+.PP
.BR nss (5)
modules are searched in order. Once an entry is found in
the module no further modules are searched.
-.br
-
-.br
+.PP
A special
.B lustre
module is used to enable lustre specific password and group
.B /etc/lustre/passwd
and
.B /etc/lustre/group
-.br
-
-.br
+.PP
For historical reasons
.B nss_files
was needed to use the
.TP
.B -d
Run in debug mode and print supplementary groups information for
-.I uid
+.I UID
to
.B stdout
instead of updating Lustre.
+.SH FILES
+.EX
+.RI /{proc,sys}/fs/lustre/mdt/ mdt-service /identity_upcall
+.RI /etc/lustre/perm.conf
+.RI /etc/lustre/passwd
+.RI /etc/lustre/group
+.EE
+.SH LIMITS
+A maximum of 8 nss modules can be enabled.
.SH EXAMPLES
The identity upcall command can be specified via:
-.br
-.RI "lctl set_param mdt." mdtname .identity_upcall= path_to_upcall
-.br
-
-.br
-Enable lustre auth and ldap
-.br
- [/etc/lustre/perm.conf]
-.br
-.B lookup lustre ldap
-.br
-
-.br
- [/etc/lustre/passwd]
-.br
- root:x:0:0:root:/root:/bin/bash
-.br
- ...
-.br
- [/etc/lustre/group]
-.br
- root:x:0:root
-.br
- ...
-.br
-Lustre passwd and group files use the same format as the system
+.RS
+.EX
+.BI "lctl set_param mdt." MDTNAME .identity_upcall= PATH_TO_UPCALL
+.EE
+.RE
+.PP
+Enable lustre auth and ldap:
+.RS
+.EX
+[/etc/lustre/perm.conf]
+.B # lookup lustre ldap
+\&
+[/etc/lustre/passwd]
+root:x:0:0:root:/root:/bin/bash
+\&...
+[/etc/lustre/group]
+root:x:0:root
+\&...
+.EE
+.RE
+Lustre passwd and group files use the same format as the system
.BR passwd (5)
and
.BR group (5)
files.
-.br
-In this configuration root is local to the cluster and all other perms are delegated to ldap.
-.br
-.SH LIMITS
-A maximum of 8 nss modules can be enabled.
-.b4
-.SH FILES
-.RI /{proc,sys}/fs/lustre/mdt/ mdt-service /identity_upcall
-.br
-.RI /etc/lustre/perm.conf
-.br
-.RI /etc/lustre/passwd
-.br
-.RI /etc/lustre/group
+.P
+In this configuration root is local to the cluster
+and all other perms are delegated to ldap.
+.EE
+.SH AVAILABILITY
+.B l_getidentity
+is part of the
+.BR lustre (7)
+filesystem package since release 1.7.0
+.\" Added in commit 1.6.0.1-152-gd2d56f38da
.SH SEE ALSO
+.BR group (5),
.BR nss (5),
-.BR passwd (5),
-.BR group (5)
-.br
+.BR passwd (5)
+.PP
Lustre Programming Interfaces section of Lustre Operations Manual.
-.TH l_getsepol 8 "2019 Feb 5" Lustre "configuration utilities"
+.TH L_GETSEPOL 8 2024-08-29 Lustre "Lustre Configuration Utilities"
.SH NAME
l_getsepol \- Lustre SELinux policy info
-
.SH SYNOPSIS
-.br
-.B l_getsepol
-.br
+.SY l_getsepol
+.YS
.SH DESCRIPTION
.B l_getsepol
generates the Lustre SELinux policy info to set as reference on a nodemap with
-.BR lctl
-.BR nodemap_set_sepol (8).
-
-.br
+.BR lctl-nodemap_set_sepol (8).
The info string describing the SELinux policy has the following syntax:
-
-<mode>:<name>:<version>:<hash>
-
+.EX
+.IB MODE : NAME : VERSION : HASH
+.EE
where:
-.RS 4
-- <mode> is a digit telling if SELinux is in Permissive mode (0) or Enforcing
-mode (1)
-
-- <name> is the name of the SELinux policy
-
-- <version> is the version of the SELinux policy
-
-- <hash> is the computed hash of the binary representation of the policy, as
+.TP 8
+.B MODE
+is a digit telling if SELinux is in Permissive mode (0) or Enforcing mode (1)
+.TP
+.B NAME
+is the name of the SELinux policy
+.TP
+.B VERSION
+is the version of the SELinux policy
+.TP
+.B HASH
+is the computed hash of the binary representation of the policy, as
exported in /etc/selinux/<name>/policy/policy.<version>
-.RE
-
+.PP
.B l_getsepol
should be run on a client node known to enforce the right SELinux policy.
-
.SH EXAMPLES
-.nf
-# l_getsepol
+.EX
+.B # l_getsepol
SELinux status info: 1:mls:31:c79984bb42c0151cb0d8cc34a196a6ca95c2791190c403804efb3e9d81b6109c
-.fi
-
+.EE
.SH AVAILABILITY
.B l_getsepol
is part of the
-.BR Lustre (7)
-filesystem package.
+.BR lustre (7)
+filesystem package since release 2.13.0
+.\" Added in commit v2_12_50-90-gc61168239e
.SH SEE ALSO
.BR lustre (7),
.BR lctl-nodemap-set-sepol (8)
-.TH LCTL 8 "2019-06-16" Lustre "configuration utilities"
+.TH LCTL 8 2024-08-29 Lustre "Lustre Configuration Utilities"
.SH NAME
lctl \- Lustre filesystem administrator configuration tool
.SH SYNOPSIS
-.br
-.B lctl
-.br
-.B lctl --device <devno> <command [args]>
-.br
-.B lctl --version
-.br
-.B lctl --list-commands
-.br
+.SY lctl
+.SY lctl
+.B --device
+.I DEVNO
+.I COMMAND
+.RI [ ARGS ]
+.SY lctl
+.B --version
+.SY lctl
+.B --list-commands
+.YS
.SH DESCRIPTION
.B lctl
is used to directly control Lustre via an ioctl interface, allowing
various configuration, maintenance, and debugging features to be accessed.
-
+.PP
.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
+can be invoked in interactive mode by issuing lctl command.
+After that, commands are issued as below. The most common commands in lctl are
.BR dl ,
.BR dk ,
.BR device ,
.B network
-.IR <up/down> ,
+.RB { up | down },
.BR list_nids ,
.B ping
.IR nid ,
.BR help ,
.BR quit .
-
+.PP
To get a complete listing of available commands, type
.B --list-commands
-at the lctl prompt. To get basic help on the meaning and syntax of a
+at the lctl prompt. To get basic help on the meaning and syntax of a
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.
-
-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:
+Command completion is activated with the TAB key,
+and command history is available via the up- and down-arrow keys.
.PP
-\fBlctl-lcfg\fR(8)
-.RS 4
-
+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:
+.br
+.BR lctl-lcfg (8)
.SS Network Configuration
.TP
-.BR network " <" up / down >|< tcp / o2ib >
+.BR network { up | down }|{ tcp | o2ib }
Start or stop LNET, or select a network type for other
-.I lctl
+.B lctl
LNET commands
.TP
.BI list_nids
Print all Network Identifiers on the local node. LNET must be running.
.TP
-.BI which_nid " <nidlist>"
+.BI which_nid " NIDLIST"
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:nid4,nid5:nid6 ...]"
+.BI replace_nids " DEVICENAME NID1"\fR[, NID2 \fR, NID3 : NID4 \fR, NID5 : NID6 \fR...]
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:
+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.
+Note the replace_nids command skips
+any invalidated records in the configuration log.
The previous log is backed up with the suffix '.bak'.
-Failover NID must be passed after ':' symbol. More than
-one failover NID can be specified (every failover NID after ':' symbol).
+Failover nids must be passed after ':' symbol.
+More than one failover can be set (every failover NID after ':' symbol).
.TP
-.BI ping " <nid> timeout"
+.BI ping " NID TIMEOUT"
Check LNET connectivity via an LNET ping. This will use the fabric
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
+.B interface_list
Print the network interface information for a given
.B network
type.
.TP
-.BI peer_list
+.B peer_list
Print the known peers for a given
.B network
type.
.TP
-.BI conn_list
+.B conn_list
Print all the connected remote NIDs for a given
.B network
type.
.TP
-.BI route_list
+.B 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.
+.BI device " DEVNAME"
+This will select the specified OBD device.
+All other commands depend on the device being set.
.TP
-.BI device_list " [--target|-t] [--yaml|-y] "
+.BR device_list " [" --target | -t "] [ "--yaml | -y ]
Show all the local Lustre OBDs.
.B dl
is the same command. The
.B -t
-option additonally will report the server's export NID linked to the local OBD. The
+option additonally will report the server's export NID linked to the local OBD.
+The
.B -y
option will display the OBD device information in YAML format.
.SS Device Operations
.TP
-.BI conf_param " [-d] <device|fsname>.<parameter>=<value>"
-Set a permanent configuration parameter for any device via the MGS. This
+.BI conf_param " \fR[" "-d\fR] " DEVICE \fR| 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 <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. This is
-useful if an incorrect or obsolete parameter is in the configuration.
-.br
+.IP
+The
+.B -d
+option deletes a parameter setting (use the default value at the next restart).
+A null value for
+.I VALUE
+also deletes the parameter setting.
+This is useful if an incorrect or obsolete parameter is in the configuration.
+.RS 2
+.TP
.B Parameters:
-.br
All of the writable parameters under
.B lctl list_param
(e.g.
-.I lctl list_param -F osc.*.* | grep =
+.B lctl list_param -w osc.*.*
+or
+.B 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.
+, 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.)
+.I DEVICE
+is ignored for system wide parameters.
+.TP
.B Examples:
-.br
+.EX
# 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
-.br
# lctl conf_param -d testfs-OST0000.bad_param
+.EE
+.RE
.TP
-.BI activate
-Reactivate an import after deactivating, below. This setting is only effective until the next restart (see
-.B conf_param
-).
+.B activate
+Reactivate an import after deactivating, below.
+This setting is only effective until the next restart (see
+.BR conf_param).
.TP
-.BI deactivate
+.B 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
+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
+.B abort_recovery
Abort the recovery process on a restarting MDT or OST device
-.PP
.SS Changelogs
Changelog user can be registered and deregistered on particular device.
Changelog starts logging when any user is registered.
-
-For more details see:
-
.PP
-\fBlctl-changelog_register\fR(8)
-.RS 4
+For more details see:
+.TP
+.BR lctl-changelog_register (8)
Register a new changelog user on specified MDT device with specified parameters.
-.RE
-.PP
-\fBlctl-changelog_deregister\fR(8)
-.RS 4
+.TP
+.BR lctl-changelog_deregister (8)
Deregister an existing changelog user on the specified MDT.
-
-.PP
-.SS Nodemap
+.SS NODEMAP
An identity mapping feature that facilitates mapping of client UIDs and GIDs to
local file system UIDs and GIDs, while maintaining POSIX ownership, permissions,
and quota.
-
+.P
While the nodemap feature is enabled, all client file system access is subject
to the nodemap identity mapping policy, which consists of the 'default' catchall
nodemap, and any user-defined nodemaps. The 'default' nodemap maps all client
range of client NIDs which map identities, and these nodemaps can be flagged as
'trusted' so identities are accepted without translation, as well as flagged
as 'admin' meaning that root is not squashed for these nodes.
-
+.P
Note: In the current phase of implementation, to use the nodemap functionality
you only need to enable and define nodemaps on the MDS. The MDSes must also be
in a nodemap with the admin and trusted flags set. To use quotas with nodemaps,
what is defined on the MDS). Nodemaps do not currently persist, unless you
define them with set_param and use the -P flag. Note that there is a hard limit
to the number of changes you can persist over the lifetime of the file system.
-
+.P
See also:
-
-.PP
-\fBlctl-nodemap-activate\fR(8)
-.RS 4
+.TP
+.BR lctl-nodemap-activate (8)
Activate/deactivate the nodemap feature.
-.RE
-.PP
-\fBlctl-nodemap-add\fR(8)
-.RS 4
+.TP
+.BR lctl-nodemap-add (8)
Add a new nodemap, to which NID ranges, identities, and properties can be added.
-.RE
-.PP
-\fBlctl-nodemap-del\fR(8)
-.RS 4
+.TP
+.BR lctl-nodemap-del (8)
Delete an existing nodemap.
-.RE
-.PP
-\fBlctl-nodemap-add-range\fR(8)
-.RS 4
+.TP
+.BR lctl-nodemap-add-range (8)
Define a range of NIDs for a nodemap.
-.RE
-.PP
-\fBlctl-nodemap-del-range\fR(8)
-.RS 4
+.TP
+.BR lctl-nodemap-del-range (8)
Delete an existing NID range from a nodemap.
-.RE
-.PP
-\fBlctl-nodemap-add-idmap\fR(8)
-.RS 4
+.TP
+.BR lctl-nodemap-add-idmap (8)
Add a UID or GID mapping to a nodemap.
-.RE
-.PP
-\fBlctl-nodemap-del-idmap\fR(8)
-.RS 4
+.TP
+.BR lctl-nodemap-del-idmap (8)
Delete an existing UID or GID mapping from a nodemap.
-.RE
-.PP
-\fBlctl-nodemap-modify\fR(8)
-.RS 4
+.TP
+.BR lctl-nodemap-modify (8)
Modify a nodemap property.
-.RE
-.PP
-\fBlctl-nodemap-set-fileset\fR(8)
-.RS 4
+.TP
+.BR lctl-nodemap-set-fileset(8)
Add a fileset to a nodemap.
-.RE
-.PP
-\fBlctl-nodemap-set-sepol\fR(8)
-.RS 4
+.TP
+.BR lctl-nodemap-set-sepol (8)
Set SELinux policy info on a nodemap.
-.RE
.SS Configuration logs
.TP
-.BI clear_conf " <device|fsname>"
-This command runs on MGS node having MGS device mounted with -o
-nosvc. It cleans up configuration files stored in the CONFIGS/ directory
+.BI clear_conf " DEVICE" \fR| FSNAME
+This command runs on MGS node having MGS device mounted with -o nosvc.
+It cleans up configuration files stored in the CONFIGS/ directory
of any records marked SKIP. If the device name is given, then the
specific logs for that filesystem (e.g. testfs-MDT0000) is processed.
Otherwise, if a filesystem name is given then all configuration files for the
specified filesystem are cleared.
-.PP
.SS LFSCK
An on-line Lustre consistency check and repair tool. It is used for totally
replacing the old lfsck tool for kinds of Lustre inconsistency verification,
MDT-object links count, corrupted namespace, corrupted or lost LOV EA, lost
OST-object, multiple referenced OST-object, unmatched MDT-object and OST-object
pairs, orphan OST-object, and so on.
-
+.P
See also:
-
-.PP
-\fBlctl-lfsck-start\fR(8)
-.RS 4
+.TP
+.BR lctl-lfsck-start (8)
Start LFSCK on the specified MDT or OST device with specified parameters.
-.RE
-.PP
-\fBlctl-lfsck-stop\fR(8)
-.RS 4
+.TP
+.BR lctl-lfsck-stop (8)
Stop LFSCK on the specified MDT or OST device.
-.RE
-.PP
-\fBlctl-lfsck-query\fR(8)
-.RS 4
+.TP
+.BR lctl-lfsck-query (8)
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
-
+.TP
+.BR lctl-barrier (8)
.SS SNAPSHOT
ZFS backend based snapshot tools set. The tool loads system configuration
from the file
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]
-
+for other purpose.
+.P
+The format is:
+.EX
+.IB "HOST " foreign/- "LABEL DEVICE"\c
+.RI [ JOURNAL_PATH "]\c
+.B /- \c
+.RI [ RAIDTAB ]
+.EE
+.P
The format of
-.I <label>
+.I LABEL
is:
- fsname-<role><index> or <role><index>
-
+.EX
+.IB FSNAME -\c
+.RI { ROLE }{ INDEX "} or {" ROLE }{ INDEX }
+.EE
+.P
The format of
-.I <device>
+.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
+.EX
+.RB [ md | zfs: ]\c
+.RI [ POOL_DIR\c
+.BR / ]\c
+.IB POOL / FILESYSTEM
+.EE
+.P
+Snapshot only uses the fields
+.IR HOST ,
+.I LABEL
+and
+.IR DEVICE .
+.TP Example:
+.EX
+.B # cat /etc/ldev.conf
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
-
+.P
See also:
-
-.PP
-\fBlctl-snapshot-create\fR(8)
-.RS 4
+.TP
+.BR lctl-snapshot-create (8)
Create snapshot with the given name.
-.RE
-.PP
-\fBlctl-snapshot-destroy\fR(8)
-.RS 4
+.TP
+.BR lctl-snapshot-destroy (8)
Destroy the specified snapshot.
-.RE
-.PP
-\fBlctl-snapshot-modify\fR(8)
-.RS 4
+.TP
+.BR lctl-snapshot-modify (8)
Modify the specified snapshot.
-.RE
-.PP
-\fBlctl-snapshot-list\fR(8)
-.RS 4
+.TP
+.BR lctl-snapshot-list (8)
Query the snapshot information.
-.RE
-.PP
-\fBlctl-snapshot-mount\fR(8)
-.RS 4
+.TP
+.BR lctl-snapshot-mount (8)
Mount the specified snapshot.
-.RE
-.PP
-\fBlctl-snapshot-umount\fR(8)
-.RS 4
+.TP
+.BR lctl-snapshot-umount (8)
Umount the specified snapshot.
-.RE
-
.SS Debug
.TP
-.BI debug_daemon
+.B debug_daemon
Start and stop the debug daemon, and control the output filename and size.
.TP
-.BI debug_kernel " [file] [raw]"
+.BR debug_kernel " [" \fIFILE "] [" \fIRAW ]
Dump the kernel debug buffer to stdout or file.
.TP
-.BI debug_file " <input> [output]"
+.BI debug_file " INPUT " \fR[ OUTPUT \fR]
Convert kernel-dumped debug log from binary to plain text format.
.TP
.BI clear
Clear the kernel debug buffer.
.TP
-.BI mark " <text>"
+.BI mark " TEXT"
Insert marker text in the kernel debug buffer.
.TP
-.BI filter " <subsystem id/debug mask>"
+.BI filter " SUBSYSTEM_ID" \fR| DEBUG_MASK
Filter kernel debug messages by subsystem or mask.
.TP
-.BI show " <subsystem id/debug mask>"
+.BI show " SUBSYSTEM_ID" \fR| DEBUG_MASK
Show specific type of messages.
.TP
-.BI debug_list " <subs/types>"
+.BI debug_list " SUBS" \fR| 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.
.TP
number. See
.B device_list
.TP
-.B --ignore_errors | ignore_errors
+.BR --ignore_errors ", " ignore_errors
Ignore errors during script processing
.TP
.B lustre_build_version
.B help
Provides brief help on the various arguments
.TP
-.B exit/quit
+.BR exit ", " quit
Quit the interactive lctl session
-
.SH EXAMPLES
-# lctl
-.br
-lctl > dl
+.EX
+.B # lctl
+.B lctl > dl
0 UP mgc MGC192.168.0.20@tcp bfbb24e3-7deb-2ffa-eab0-44dffe00f692 5
1 UP ost OSS OSS_uuid 3
2 UP obdfilter testfs-OST0000 testfs-OST0000_UUID 3
-.br
-lctl > dk /tmp/log
+.B lctl > dk /tmp/log
Debug log: 87 lines, 87 kept, 0 dropped.
-.br
-lctl > quit
-
+.B lctl > quit
+.EE
.SH AVAILABILITY
.B lctl
is part of the
.BR lustre (7)
-filesystem package.
+filesystem package since release 0.5.0
+.\" Added in commit 0.4.2-6-gbefd9c343f
.SH SEE ALSO
-.BR lfs (1)
+.BR lfs (1),
.BR lustre (7),
.BR lctl (8),
.BR lctl-barrier (8),
.BR lctl-changelog_register (8),
.BR lctl-get_param (8),
.BR lctl-lcfg (8),
+.BR lctl-lfsck-query (8),
.BR lctl-lfsck-start (8),
.BR lctl-lfsck-stop (8),
-.BR lctl-lfsck-query (8),
.BR lctl-list_param (8),
-.BR lctl-set_param (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-nodemap-del-range (8),
.BR lctl-nodemap-modify (8),
.BR lctl-pcc (8),
+.BR lctl-set_param (8),
+.BR lctl-snapshot-create (8),
+.BR lctl-snapshot-destroy (8),
+.BR lctl-snapshot-list (8),
+.BR lctl-snapshot-modify (8),
+.BR lctl-snapshot-mount (8),
+.BR lctl-snapshot-umount (8),
.BR mkfs.lustre (8),
-.BR mount.lustre (8),
+.BR mount.lustre (8)
-.TH ldev 8 Lustre ldev ldev
+.TH LDEV 8 2024-08-29 Lustre "Lustre Configuration Utilities"
.SH NAME
ldev \- lustre device utility
.SH SYNOPSIS
-.B "ldev [OPTIONS]"
-.br
+.SY ldev
+.RI [ OPTIONS ]
+.YS
.SH DESCRIPTION
.B ldev
can be used to query information about lustre devices configured in
-/etc/ldev.conf. It is used by the lustre init script.
+/etc/ldev.conf. It is used by the lustre init script.
.SH OPTIONS
.B ldev
accepts the following options:
.TP
-.I "-h, --help"
+.BR -h ", " --help
Display help message.
.TP
-.I "-c, --config FILE"
+.BR -c ", " --config \ \fIFILE
Set path to config file.
.TP
-.I "-H, --hostname NAME"
+.BR -H ", " --hostname \ \fINAME
Use NAME instead of local hostname for queries.
.TP
-.I "-p, --partner"
+.BR -p ", " --partner
Print hostname of failover partner.
.TP
-.I "-l, --local"
+.BR -l ", " --local
Print labels for local devices.
.TP
-.I "-f, --foreign"
+.BR -f ", " --foreign
Print labels for foreign devices.
.TP
-.I "-a, --all"
+.BR -a ", " --all
Print labels for local and foreign devices.
.TP
-.I "-F, --filesys NAME"
+.BR -F ", " --filesys \ \fINAME
Print labels for file system NAME.
.TP
-.I "-s, --sanity"
+.BR -s ", " --sanity
Sanity check config on this node.
If any expected local or foreign devices are not present, print an error.
If devices do not contain the expected labels, print an error.
.TP
-.I "-d, --device LABEL"
+.BR -d ", " --device \ \fILABEL
Print storage device of label.
.TP
-.I "-j, --journal LABEL"
+.BR -j ", " --journal \ \fILABEL
Print journal device corresponding to label if defined.
.TP
-.I "-r, --raidtab LABEL"
+.BR -r ", " --raidtab \ \fILABEL
Print Linux software raid configuration file or ZFS cache file associated with
-LABEL, if any. Using non-default names for these files may help prevent arrays
-from being automatically started by the system. This is important in failover
+LABEL, if any. Using non-default names for these files may help prevent arrays
+from being automatically started by the system. This is important in failover
configurations where the timing of device initialization must be strictly
controlled.
.TP
-.I "-t, --type LABEL"
+.BR -t ", " --type \ \fILABEL
Print device type of LABEL, i.e. "zfs" or "md".
.TP
-.I "-z, --zpool LABEL"
+.BR -z ", " --zpool \ \fILABEL
Print zpool containing LABEL.
.TP
-.I "-R, --role ROLE"
+.BR -R ", " --role \ \fIROLE
Filter output based on role, i.e. mdt, ost, mgs.
.TP
-.I "CMD [ARGS...]"
-Run one instance of \fICMD [ARGS]\fR for each label in parallel.
+.IR CMD " [" ARGS ...]
+Run one instance of
+.IR CMD " [" ARGS ]
+for each label in parallel.
Only the local labels are used by default, but foreign, all, or file system
-labels may be selected by adding the \fI--foreign\fR, \fI--all\fR, or
-\fI--filesys\fR options.
+labels may be selected by adding the
+.BR --foreign ,
+.BR --all ,
+or
+.B --filesys
+options.
The following substitutions are made:
%f=fsname, %d=device, %j=journal, %i=index, %I=hex-index, %t=type, %l=label,
-%n=nid, %N=failnid, %m=mgsnid, %H=hostname, %b=backing-fs. On failure of
-any child processes, \fBldev\fR will return a non-zero exit code.
-.LP
+%n=nid, %N=failnid, %m=mgsnid, %H=hostname, %b=backing-fs. On failure of
+any child processes,
+.B ldev
+will return a non-zero exit code.
+.PP
It is an error if %n, %N, or %m is used in a command and /etc/nids does not
contain appropriate host to NID mappings.
+.SH FILES
+.EX
+/etc/ldev.conf
+/etc/nids
+.EE
.SH EXAMPLES
To run a preen check on all devices in a cluster in parallel:
-.IP
-.nf
+.RS
+.EX
pdsh -S -g ost ldev fsck.ldiskfs -p %d
-.fi
-.LP
+.EE
+.RE
+.PP
To re-format an entire file system:
-.IP
-.nf
-#!/bin/bash -xe
+.RS
+.EX
+\&#!/bin/bash -xe
export FANOUT=64
-
-# MDTs
-pdsh -S -g mds service lustre stop
-pdsh -S -g mds ldev "yes \\| mkfs.ldiskfs -q -b4096 \\
- -Ojournal_dev %j"
-pdsh -S -g mds ldev dd if=/dev/zero of=%d count=8
-pdsh -S -g mds ldev mkfs.lustre --mdt --mgs --fsname=%f \\
- --index=%i --mkfsoptions=-Jdevice=%j \\
- --mkfsoptions=-i2048 \\
- --mountfsoptions=errors=panic,iopen_nopriv,user_xattr,\\
- maxdirsize=20000000 %d
-pdsh -S -g mds ldev tune.ldiskfs -i0 -m0 -c0 %d
-
-# OSTs
+\&
+\&# MDTs
+.B # pdsh -S -g mds service lustre stop
+.B # pdsh -S -g mds ldev "yes \e| mkfs.ldiskfs -q -b4096 -Ojournal_dev %j"
+.B # pdsh -S -g mds ldev dd if=/dev/zero of=%d count=8
+.B # pdsh -S -g mds ldev mkfs.lustre --mdt --mgs --fsname=%f \e
+.B " --index=%i" --mkfsoptions=-Jdevice=%j --mkfsoptions=-i2048 \e
+.B " --mountfsoptions=errors=panic,iopen_nopriv,user_xattr,\e"
+.B " maxdirsize=20000000 %d"
+.B # pdsh -S -g mds ldev tune.ldiskfs -i0 -m0 -c0 %d
+\&
+\&# OSTs
mgs=172.16.2.200@tcp0
-pdsh -S -g ost service heartbeat stop
-pdsh -S -g ost service lustre stop
-pdsh -S -g ost ldev dd if=/dev/zero of=%d count=8
-pdsh -S -g ost ldev mkfs.lustre --ost --mgsnode=$mgs --fsname=%f \\
- --index=%i --param=lov.stripecount=2 --failnode=%N \\
- --mountfsoptions=errors=panic,extents,mballoc %d
-pdsh -S -g ost ldev tune.ldiskfs -epanic -i0 -m0 -c0 %d
-.fi
-.SH FILES
-/etc/ldev.conf
-.br
-/etc/nids
-.SH "SEE ALSO"
-.BR ldev.conf (5)
+.B # pdsh -S -g ost service heartbeat stop
+.B # pdsh -S -g ost service lustre stop
+.B # pdsh -S -g ost ldev dd if=/dev/zero of=%d count=8
+.B # pdsh -S -g ost ldev mkfs.lustre --ost --mgsnode=$mgs --fsname=%f \e
+.B " --index=%i" --param=lov.stripecount=2 --failnode=%N \e
+.B " --mountfsoptions=errors=panic,extents,mballoc %d"
+.B # pdsh -S -g ost ldev tune.ldiskfs -epanic -i0 -m0 -c0 %d
+.EE
+.RE
+.SH AVAILABILITY
+.B ldev
+is part of the
+.BR lustre (7)
+filesystem package since release 0.8.0
+.\" Added in commit 0.7.3
+.SH SEE ALSO
+.BR ldev.conf (5),
.BR nids (5)
-.TH ldev.conf 5 Lustre ldev.conf /etc/ldev.conf
+.TH LDEV.CONF 5 2024-08-29 Lustre "Lustre File Formats"
.SH NAME
/etc/ldev.conf \- lustre device configuration file
.SH DESCRIPTION
The ldev.conf file contains a list of Lustre devices used by the
-\fBldev\fR utility.
+.B ldev
+utility.
.SH FORMAT
-Comments beginning with a hash (#) are ignored. Each line represents one
-device and includes the following information separated by white space:
+Comments beginning with a hash (#) are ignored. Each line represents one
+device and includes the following information separated by a white space:
.TP
-.I "local hostname"
+.I lOCAL_HOSTNAME
The name of the host where the device normally runs.
.TP
-.I "foreign hostname"
+.I FOREIGN_HOSTNAME
The name of the host where the device runs when failed over.
If failover is not used, insert a hyphen as a placeholder.
.TP
-.I "label"
-The Lustre label associated with the device in the form \fIfsname-SRVnnnn\fR
-where \fIfsname\fR is the file system name, \fISRV\fR is \fBOST\fR or
-\fBMDT\fR, and \fInnnn\fR is the four-digit hex index of the device.
+.I LABEL
+The Lustre label associated with the device in the form
+.IB FSNAME -\c
+.RB { OST|MDT }\c
+.I NNNN
+where
+.I FSNAME
+is the file system name,
+followed by either
+.B OST
+or
+.BR MDT ,
+and
+.I NNNN
+is the four-digit hex index of the device.
.TP
-.I "path"
-The path name of the device. In failover configurations it should be available
+.I DEVICE_PATH
+The path name of the device. In failover configurations it should be available
on both local and foreign hosts, e.g. use the symlinks maintained by udev
-in \fI/dev/disk/by-id\fR.
+in
+.IR /dev/disk/by-id .
.TP
-.I "journal-path"
-The path name of the journal device, if any. This field may be omitted unless
-the raidtab field is present. If a journal device is not used a hyphen may be
+.I JOURNAL_PATH
+The path name of the journal device, if any. This field may be omitted unless
+the raidtab field is present. If a journal device is not used a hyphen may be
inserted as a placeholder.
.TP
-.I "raidtab"
+.I RAIDTAB
The path name of a Linux software raid configuration file or ZFS cache file.
Using non-default names for these files may help prevent arrays from being
-automatically started by the system. This is important in failover
+automatically started by the system. This is important in failover
configurations where the timing of device initialization must be strictly
-controlled. This field may be omitted.
+controlled. This field may be omitted.
.SH EXAMPLES
-.nf
-
-#local foreign/- label [md:|zfs:]device-path [journal-path]/- [raidtab]
-
-# ldiskfs on block device example
+.EX
+\&# ldiskfs on block device example
+.BI # " LOCAL FOREIGN" /- " LABEL " [md:|zfs:] "DEVICE_PATH " \
+[ JOURNAL_PATH "]/- [" RAIDTAB ]
tycho-mds1 - lc1-MDT0000 /dev/sda /dev/sdc
tycho1 tycho5 lc1-OST0000 /dev/disk/by-id/scsi-10103a262891d340100
tycho1 tycho5 lc1-OST0008 /dev/disk/by-id/scsi-10103a262681d340200
tycho5 tycho1 lc1-OST0004 /dev/disk/by-id/scsi-101046e6b401d341100
tycho5 tycho1 lc1-OST000c /dev/disk/by-id/scsi-101046e6b591d341200
tycho5 tycho1 lc1-OST0014 /dev/disk/by-id/scsi-101046e6bb41d341300
-
-# ldiskfs on Linux software RAID example
-#local foreign/- label [md:|zfs:]device-path [journal-path]/- [raidtab]
+\&
+\&# ldiskfs on Linux software RAID example
+.BI # " LOCAL FOREIGN" /- " LABEL " [md:|zfs:] "DEVICE_PATH " \
+[ JOURNAL_PATH "]/- [" RAIDTAB ]
zwicky-mds1 - zwicky-MDT0000 md:/dev/md0 - /etc/mdadm.conf.mds
zwicky1 zwicky2 zwicky-OST0000 md:/dev/md0 /dev/md10 /etc/mdadm.conf.oss
zwicky2 zwicky1 zwicky-OST0001 md:/dev/md1 /dev/md20 /etc/mdadm.conf.oss
-
-# ZFS example
-#local foreign/- label [md:|zfs:]device-path [journal-path]/- [raidtab]
+\&
+\&# ZFS example
+.BI # " LOCAL FOREIGN" /- " LABEL " [md:|zfs:] "DEVICE_PATH " \
+[ JOURNAL_PATH "]/- [" RAIDTAB ]
zeno-mds1 - zeno-MDT0000 zfs:lustre-zeno-mds1/mdt1 - /etc/zfs/zpool.cache.zeno
zeno1 zeno5 zeno-OST0000 zfs:lustre-zeno1/ost1 - /etc/zfs/zpool.cache.zeno
zeno5 zeno1 zeno-OST0001 zfs:lustre-zeno5/ost1 - /etc/zfs/zpool.cache.zeno
-
-.fi
-.SH "SEE ALSO"
+.EE
+.SH AVAILABILITY
+.B /etc/ldev.conf
+is part of the
+.BR lustre (7)
+filesystem package since release 2.3.0
+.\" Added in commit 2.2.90-9-g04a38ba7cd
+.SH SEE ALSO
.BR ldev (8)
-.TH lfs 1 "2018-01-24" Lustre "user utilities"
+.TH LFS 1 2024-08-29 Lustre "Lustre User Utilities"
.SH NAME
lfs \- client utility for Lustre-specific file layout and other attributes
.SH SYNOPSIS
-.br
-.B lfs changelog \fR[\fB--follow\fR] <\fImdtname\fR> [\fIstartrec \fR[\fIendrec\fR]]
-.br
-.B lfs changelog_clear <\fImdtname\fR> <\fIid\fR> <\fIendrec\fR>
-.br
-.B lfs check \fR<\fBmgts\fR|\fBmdts\fR|\fBosts\fR|\fBall\fR> [\fIpath\fR]
-.br
-.B lfs data_version \fR[\fB-nrws\fR] \fB<\fIfilename\fR>
-.br
-.B lfs df \fR[\fB-ihlv\fR] [\fB--pool\fR|\fB-p \fR<\fIfsname\fR>[.<\fIpool\fR>]] [\fIpath\fR]
-.br
-.B lfs fid2path \fR[\fB--link \fR<\fIlinkno\fR>] <\fIfsname\fR|\fIrootpath\fR> <fid\fR> ...
-.br
-.B lfs find \fR<\fIdirectory\fR|\fIfilename \fR...>
- [[\fB!\fR] \fB--atime\fR|\fB-A\fR [\fB-+\fR]\fIn\fR]
-[[\fB!\fR] \fB--ctime\fR|\fB-C\fR [\fB+-\fR]\fIn\fR]
- [[\fB!\fR] \fB--mtime\fR|\fB-M\fR [\fB-+\fR]\fIn\fR]
- [[\fB!\fR] \fB--component-count\fR|\fB--comp-count\fR [\fB+-\fR]\fIn\fR]
- [[\fB!\fR] \fB--component-flags\fR|\fB--comp-flags\fR <[\fB^\fR]\fIflag\fB,\fR...>]
- [[\fB!\fR] \fB--component-end\fR|\fB--comp-end\fR|\fB-E\fR [\fB+-\fR]\fIn\fR[\fBKMGTPE\fR]]
- [[\fB!\fR] \fB--component-start\fR|\fB--comp-start\fR [\fB+-\fR]\fIn\fR[\fBKMGTPE\fR]]
- [[\fB!\fR] \fB--mirror-count\fR|\fB-N\fR [\fB+-\fR]\fIn\fR]
- [[\fB!\fR] \fB--mirror-state\fR <[^]\fIstate\fR>]
- [[\fB!\fR] \fB--gid\fR|\fB-g\fR|\fB--group\fR|\fB-G\fR <\fIgname\fR>|<\fIgid\fR>]
- [[\fB!\fR] \fB--layout\fR|\fB-L mdt\fR,\fBraid0\fR,\fBreleased\fR]
-[\fB--maxdepth\fR|\fB-D\fI n\fR] [\fB--mindepth\fR|\fB-d\fI n\fR]
- [[\fB!\fR] \fB--mdt\fR|\fB--mdt-index\fR|\fB-m\fR <\fIuuid\fR|\fIindex\fR,...>]
- [[\fB!\fR] \fB--mdt-count\fR|\fB-T\fR [\fB+-\fR]\fIn\fR]
-[[\fB!\fR] \fB--mdt-hash\fR|\fB-H \fI<hashtype>\fR]
- [[\fB!\fR] \fB--name\fR|\fB-n \fI<pattern>\fR]
-[[\fB!\fR] \fB--ost\fR|\fB-O\fR <\fIuuid\fR|\fIindex\fR,...>]
- [[\fB!\fR] \fB--pool\fR <\fIpool\fR>]
-[\fB--print\fR|\fB-P\fR] [\fB--print0\fR|\fB-0\fR]
- [[\fB!\fR] \fB--projid\fR |<\fIprojid\fR>]
-[[\fB!\fR] \fB--size|\fB-s\fR [\fB-+\fR]\fIn\fR[\fBKMGTPE\fR]]
- [\fB--skip\fR|\fB-k]\fR \fIn\fR]
- [[\fB!\fR] \fB--stripe-count\fR|\fB-c\fR [\fB+-\fR]\fIn\fR]
- [[\fB!\fR] \fB--stripe-index\fR|\fB-i\fR \fIn\fR,...]
- [[\fB!\fR] \fB--extension-size\fR|\fB-ext-size\fR|\fB-z\fR [\fB+-\fR]\fIn\fR[\fBKMG\fR]]
- [[\fB!\fR] \fB--stripe-size\fR|\fB-S\fR [\fB+-\fR]\fIn\fR[\fBKMG\fR]]
-[[\fB!\fR] \fB--type\fR|\fB-t\fR {\fBbcdflps\fR}]
- [[\fB!\fR] \fB--uid\fR|\fB-u\fR|\fB--user\fR|\fB-U
-\fR<\fIuname\fR>|<\fIuid\fR>]
-.br
-.B lfs flushctx
-.RB [ --help | -h "] [" -k "] [" -r "] [" \fIrootpath\fR "]"
-.br
-.B lfs getname
-.RB [ --help | -h "] [" --instance | -i "] [" --fsname | -n "] ["
-.IR path ...]
-.br
-.B lfs getstripe
-[\fB--component-count\fR|\fB--comp-count\fR]
- [\fB--component-end\fR|\fB-E\fR[=[\fB+-\fR]\fIN\fR[\fBKMGTPE\fR]]
- [\fB--component-flags\fR[=[\fB^\fR]\fIflag\fB,\fR...]]
- [\fB--component-id\fR|\fB-I \fR[=\fIcomp_id\fR]]
- [\fB--component-start\fR[=[\fB+-\fR]\fIN\fR[\fBKMGTPE\fR]]]
- [\fB--directory\fR|\fB-d\fR]
-[\fB--fid\fR|\fB-F\fR]
-[\fB--generation\fR|\fB-g\fR]
- [\fB--layout\fR|\fB-L\fR]
-[\fB--mdt\fR|\fB--mdt-index\fR|\fB-m\fR]
-[\fB--ost\fR|\fB-O\fR <\fIuuid\fR>]
- [\fB--pool\fR|\fB-p\fR]
-[\fB--quiet\fR|\fB-q\fR]
-[\fB--recursive\fR|\fB-r\fR]
- [\fB--raw\fR|\fB-R\fR]
-[\fB--stripe-count\fR|\fB-c\fR]
-[\fB--stripe-index\fR|\fB-i\fR]
- [\fB--stripe-size\fR|\fB-S\fR]
-[\fB--extension-size\fR|\fB--ext-size\fR|\fB-z\fR]
- [\fB--verbose\fR|\fB-v\fR]
-[\fB--yaml\fR|\fB-y\fR]
- <\fIdirname\fR|\fIfilename\fR> ...
-.br
-.B lfs migrate \fR{\fB--mdt-index\fR|\fB-m\fR} <\fImdt_index\fR> \fIdirectory\fR
-.br
-.B lfs migrate \fR[\fB--stripe-count\fR|\fB-c\fR \fR<\fIstripe_count\fR>]
- [\fB--stripe-index\fR|\fB-i\fR \fR<\fIstart_ost_idx\fR>]
- [\fB--stripe-size\fR|\fB-S\fR \fR<\fIstripe_size\fR>]
-[\fB--pool\fR|\fB-p\fR \fR<\fIpool_name\fR>]
- [\fB-o\fR|\fB--ost-list \fR<\fIost_indices\fR>]
-[\fB--block\fR|\fB-b\fR]
- [\fB--non-block\fR|\fB-n\fR] <\fIfile\fR|\fIdirectory\fR>
-.br
-.B lfs migrate \fR<\fB--component-end\fR|\fB-E\fR \fIcomp_end1\fR>
-[\fISTRIPE_OPTIONS\fR]
- <\fB--component-end\fR|\fB-E\fR \fIcomp_end2\fR>
-[\fISTRIPE_OPTIONS\fR]
- ... \fIfilename\fR
-.br
-.B lfs mkdir \fR[\fB-c\fR|\fB--count \fR<\fIstripe_count\fR>]
-[\fB-i\fR|\fB--index \fR<\fImdt_idx\fR>]
- [\fB-h\fR|\fB--hash-type \fR<\fIhash_name\fR>]
-[\fB-m\fR|\fB--mode \fR<\fImode\fR>]
- [\fB-D\fR|\fB--default\fR] \fIdirectory\fR
-.br
-.B lfs osts \fR[<\fIpath\fR>]
-.br
-.B lfs mdts \fR[<\fIpath\fR>]
-.br
-.B lfs path2fid \fR[\fB--parents\fR] <\fIpath\fR> ...
-.br
-.B lfs pool_list \fR<\fIfilesystem\fR>[\fB.\fR<\fIpool\fR>] | <\fIpathname\fR>
-.br
-.B lfs setstripe \fR[\fB--stripe-size\fR|\fB-S <\fIsize\fR>] [\fB--stripe-count\fR|-c <\fIcount\fR>]
- [\fB--stripe-index\fR|\fB-i <\fIstart_ost_index\fR>] [\fB--pool\fR|\fB-p \fR<\fIpoolname\fR>]
- [\fB--extension-size\fR|\fB--ext-size\fR|\fB-z <\fIext_size\fR>]
- [\fB--ost-list\fR|\fB-o <\fIost_indices\fR>] <\fIdirectory\fR|\fIfilename\fR>
-.br
-.B lfs setstripe -d \fR<\fIdir\fR>
-.br
-.B lfs setstripe --component-end\fR|\fB-E <\fIend1> [\fISTRIPE_OPTIONS\fR]
- [\fB--component-end\fR|\fB-E \fR<\fIend2\fR> [\fISTRIPE_OPTIONS\fR]]
- ... <\fIfilename>\fR
-.br
-.B lfs setstripe --component-add \fB-E\fR <\fIend1> [\fISTRIPE_OPTIONS]
- [\fB--component-end\fR|\fB-E \fR<\fIend2\fR> [\fISTRIPE_OPTIONS\fR]]
- ... <\fIfilename\fR>
-.br
-.B lfs setstripe --component-del \fR{\fB--component-id\fR|\fB-I \fR<\fIid\fR> |
- \fB--component-flags \fR<\fIflags\fR>}
-<\fIfilename\fR>
-.br
-.B lfs setstripe --yaml=\fR<\fIyaml_template_file\fR> <\fIfilename\fR>
-.br
-.B lfs unlink_foreign
-.IR path \fR[\fIpath\fR ...]
-.br
-.B lfs --version
-.br
-.B lfs --list-commands
-.br
-.B lfs help
+.SY lfs
+.SY lfs
+.B --version
+.SY lfs
+.B --list-commands
+.SY lfs
+.B help
+.YS
.SH DESCRIPTION
.B lfs
can be used to create a new file with a specific striping pattern, determine
and location) for a specific file. It can be invoked interactively without any
arguments or in a non-interactive mode with one of the arguments supported.
.SH COMMANDS
-A number of sub-commands supported by lfs are listed below. Other commands
+A number of sub-commands supported by lfs are listed below. Other commands
are described in separate man pages of the form
-.BI lfs- command
+.BI lfs- COMMAND
as listed in the
.B SEE ALSO
section at the end.
.TP
-.B check <mgts|mdts|osts|all> [path]
-Display the status of the MGTs, MDTs or OSTs (as specified in the command) or
-all the servers (MGTs, MDTs and OSTs). If \fBpath\fR is provided, display
-the status of the lustre file system mounted at specified \fBpath\fR only.
+.BR check { mgts | mdts | osts | all "} [" \fIPATH ]
+Display the status of the MGTs, MDTs or OSTs (as specified in the command)
+or all the servers (MGTs, MDTs and OSTs). If
+.I PATH
+is provided, display the status of the lustre file system mounted at specified
+.I PATH
+only.
.TP
-.B data_version [-nrws] <filename>
+.BR data_version " [" -nrw "] " \fIFILENAME
Display the current version of file data and optionally set the data version
stored in the HSM xattr. If -n is specified, the data version is read without
taking a lock. As a consequence, the data version could be outdated if there are
Even with -r or -w, race conditions are possible and the data version should be
checked before and after an operation to be confident the data did not change
during it.
-
+.IP
The data version is the sum of the last committed transaction numbers of all
data objects of a file. It is used by HSM policy engines for verifying that file
data has not been changed during an archive operation or before a release
.B flushctx
See lfs-flushctx(1).
.TP
-.B osts
-.RB [ path ]
-List all the OSTs for all mounted filesystems. If a \fBpath\fR is provided
-that is located on a lustre mounted file system then only the OSTs belonging
-to that filesystem are displayed.
+.BR osts " [" PATH ]
+List all the OSTs for all mounted filesystems. If a
+.I PATH
+is provided that is located on a lustre mounted file system
+then only the OSTs belonging to that filesystem are displayed.
.TP
-.B pool_list
-.RI { filesystem }[ .poolname "] | {" pathname }
+.BR pool_list " {" \fIFILESYSTEM }[ .\fIPOOLNAME "] | {" \fIPATHNAME }
List the pools in
-.I filesystem
+.I FILESYSTEM
or
-.IR pathname ,
+.IR PATHNAME ,
or the OSTs in
-.IR filesystem.pool .
+.IR FILESYSTEM.POOL .
.TP
-.B swap_layouts <filename1> <filename2>
+.BI swap_layouts "FILENAME1 FILENAME2"
Swap the data (layout and OST objects) of two regular files. The
two files have to be in the same filesystem, owned by the same user,
reside on the same MDT and writable by the user.
-
+.P
Swapping the layout of two directories is not permitted.
.TP
.B mkdir
See lfs-setstripe(1).
.TP
.B unlink_foreign
-Remove the foreign files/dirs that are prevented to be using regular unlink/rmdir commands/syscalls. Works also for regular files/dirs.
+Remove the foreign files/dirs that are prevented to be using
+regular unlink/rmdir commands/syscalls. Works also for regular files/dirs.
.TP
.B --version
-Output the build version of the lfs utility. Use "lctl lustre_build_version" to get the version of the Lustre kernel modules
+Output the build version of the lfs utility.
+Use "lctl lustre_build_version" to get the version of the Lustre kernel modules
.TP
.B --list-commands
Output a list of the commands supported by the lfs utility
.TP
.B exit/quit
Quit the interactive lfs session
-.SH EXAMPLES
-.TP
-.B $ lfs check all
-Check the status of all servers (MGT, MDT, OST)
-.TP
-.B $ lfs osts
-List all the OSTs
-.TP
-.B $ lfs mdts
-List all the MDTs
-.TP
-.B $ lfs quotaoff -ug /mnt/lustre
-Turn quotas of user and group off
.SH NOTES
-The usage of \fBlfs find\fR, \fBlfs getstripe\fR, \fBlfs hsm_*\fR,
-\fBlfs setstripe\fR, \fBlfs migrate\fR, \fBlfs getdirstripe\fR,
-\fBlfs setdirstripe\fR, \fBlfs mkdir\fR, \fBlfs flushctx\fR,
-\fBlfs changelog\fR, \fBlfs changelog_clear\fR
-and \fBlfs project\fR are explained in separate man pages.
-.SH AUTHOR
-The lfs command is part of the Lustre filesystem.
+The usage of
+.BR "lfs find" ,
+.BR "lfs getstripe" ,
+.BR "lfs hsm_*" ,
+.BR "lfs setstripe" ,
+.BR "lfs migrate" ,
+.BR "lfs getdirstripe" ,
+.BR "lfs setdirstripe" ,
+.BR "lfs mkdir" ,
+.BR "lfs flushctx" ,
+.BR "lfs changelog" ,
+.B "lfs changelog_clear"
+and
+.B "lfs project"
+are explained in separate man pages.
+.SH EXAMPLES
+Check the status of all servers (MGT, MDT, OST):
+.RS
+.EX
+.B # lfs check all
+.EE
+.RE
+.PP
+List all the OSTs:
+.RS
+.EX
+.B # lfs osts
+.EE
+.RE
+.PP
+List all the MDTs:
+.RS
+.EX
+.B # lfs mdts
+.EE
+.RE
+.PP
+Turn quotas of user and group off:
+.RS
+.EX
+.B # lfs quotaoff -ug /mnt/lustre
+.EE
+.RE
+.SH AVAILABILITY
+The
+.B lfs
+command is part of the
+.BR lustre (7)
+filesystem package since release 0.10.0
+.\" Added in commit 0.9.1
.SH SEE ALSO
-.BR lctl (8),
.BR lfs-changelog (1),
.BR lfs-changelog_clear (1),
.BR lfs-df (1),
.BR lfs-setdirstripe (1),
.BR lfs-setquota (1),
.BR lfs-setstripe (1),
-.BR lustre (7)
+.BR lustre (7),
+.BR lctl (8)
-.TH lgss_sk 8 "2016 Jan 12" Lustre "configuration utilities"
+.TH LGSS_SK 8 2024-08-29 Lustre "Lustre Configuration Utilities"
.SH NAME
lgss_sk \- Lustre GSS Shared-Key tool
.SH SYNOPSIS
-.B "lgss_sk [OPTIONS] {-r|-w|-m|-l} <keyfile>"
-.br
+.SY lgss_sk
+.RI [ OPTIONS ]
+.RB { -r | -w | -m | -l }
+.I KEYFILE
.SH DESCRIPTION
.B lgss_sk
can be used to read, write, modify, and load the contents of a shared-key keyfile.
.B lgss_sk
accepts the following options:
.TP
-.I "-l, --load <keyfile>"
+.BR -l ", " --load \ \fIKEYFILE
Load key from file into user's session keyring.
.TP
-.I "-m, --modify <keyfile>"
+.BR -m ", " --modify \ \fIKEYFILE
Modify a file's key attributes.
.TP
-.I "-r, --read <keyfile>"
+.BR -r ", " --read \ \fIKEYFILE
Show file's key attributes.
.TP
-.I "-w, --write <keyfile>"
+.BR -w ", " --write \ \fIKEYFILE
Generate key file.
-.HP
-Modify/Write Options:
+.SS
+.B MODIFY/WRITE OPTIONS
.TP
-.I "-c, --crypt <num>"
+.BR -c ", " --crypt \ \fINUM
Cipher for encryption (Default: AES-256-CTR)
.RS
AES-256-CTR
.RE
.TP
-.I "-i, --hmac <num>"
+.BR -i ", " --hmac \ \fINUM
Hash algorithm for integrity (Default: SHA256)
-.RS
+.EX
SHA256
-.br
SHA512
-.RE
+.EE
.TP
-.I "-e, --expire <num>"
+.BR -e ", " --expire \ \fINUM
Seconds before session contexts generated from key expire and are regenerated
(Default: 604800 seconds (7 days)).
.TP
-.I "-f, --fsname <name>"
+.BR -f ", " --fsname \ \fINAME
File system name for key.
.TP
-.I "-g, --mgsnids <nids>"
-Comma-separated list of MGS NIDs. Only required when mgssec is used (Default: "").
+.BR -g ", " --mgsnids \ \fINIDS
+Comma-seperated list of MGS NIDs. Only required when mgssec is used (Default: "").
.TP
-.I "-n, --nodemap <name>"
+.BR -n ", " --nodemap \ \fINAME
Nodemap name for key (Default: "default").
.TP
-.I "-p, --prime-bits <len>"
+.BR -p ", " --prime-bits \ \fILEN
Length of prime (p) in bits used for the DHKE (Default: 2048). This is
generated only for client keys and can take a while to generate. For server
and MGS keys this value also sets the minimum acceptable prime length from a
-client. If a client attempts to connect with a smaller prime it will reject
-the connection. In this way servers can "guarantee" the minimum encryption
+client. If a client attempts to connect with a smaller prime it will reject
+the connection. In this way servers can "guarantee" the minimum encryption
level acceptable.
.TP
-.I "-t, --type <type>"
+.BR -t ", " --type \ \fITYPE
The type is a mandatory parameter for writing a key and optional for modifying.
Valid key types:
-.nf
-mgs - is used for the MGS where --mgssec is used
-server - for MDS or OSS servers
-client - For clients as well as servers who communicate with other servers in a
- client context (e.g. MDS communication with OSTs)
-.fi
+.TP 10
+.B mgs
+is used for the MGS where --mgssec is used
+.TP
+.B server
+for MDS or OSS servers
.TP
-.I "-k, --shared <len>"
+.B client
+For clients as well as servers who communicate with other servers in a
+client context (e.g. MDS communication with OSTs)
+.TP
+.BR -k ", " --shared \ \fILEN
Shared key length in bits (Default: 256).
.TP
-.I "-d, --data <file>"
-Shared key entopy data source (default: /dev/random). It is possible to
+.BR -d ", " --data \ \fIFILE
+Shared key entopy data source (default: /dev/random). It is possible to
use /dev/urandom for testing, but this may provide less security in some
-cases. You may need to press keys on the keyboard or move the mouse
+cases. You may need to press keys on the keyboard or move the mouse
(if directly attached to the system) or cause disk IO (if system is remote),
in order to generate entropy for the key if there is not a hardware random
number generator on the system.
-.HP
-Other Options:
+.SS
+OTHER OPTIONS
.TP
-.I "-v, --verbose"
+.BR -v ", " --verbose
Increase verbosity for errors.
.SH NOTES
The key file is generally the same for client and servers with a few exceptions:
.B mgs
key can be distributed to a client but the clients
must change the type to generate a prime.
-.HP
.SH EXAMPLES
Create a key for file system
.B tank
with type server.
Once on the client the file should be modified to reflect that it is of type
.B client
-and will also generate a prime for the key.
-.IP
-.nf
-[root@server ~]# lgss_sk -f tank -n biology -t server -w tank.server.biology.key
-[root@server ~]# scp tank.server.biology.key user@client:tank.client.biology.key
-
-[root@client ~]# lgss_sk -t client -m tank.client.biology.key
-.fi
-.LP
+and will also generate a prime for the key:
+.RS
+.EX
+.B [root@server ~]# lgss_sk -f tank -n biology -t server -w tank.server.biology.key
+.B [root@server ~]# scp tank.server.biology.key user@client:tank.client.biology.key
+.B [root@client ~]# lgss_sk -t client -m tank.client.biology.key
+.EE
+.RE
+.PP
Add MGS NIDs to existing key:
-.IP
-.nf
+.RS
+.EX
[root@server ~]# lgss_sk -g 192.168.1.101@tcp,10.10.0.101@o2ib \\
-m tank.server.biology.key
-
+\&
[root@client ~]# lgss_sk -g 192.168.1.101@tcp,10.10.0.101@o2ib \\
-m tank.client.biology.key
-.fi
-.LP
+.EE
+.RE
+.PP
Show key attributes:
-.IP
-.nf
+.RS
+.EX
[root@server ~]# lgss_sk -r tank.server.biology.key
Version: 1
Type: server
Shared key:
0000: c160 00c6 e5ba 11df 50cb c420 ae61 c1b3 .`......P.. .a..
0010: c76e 5a82 ce48 fde9 d319 ce26 cfc4 b91e .nZ..H.....&....
-
+\&
[root@client ~]# lgss_sk -r tank.client.biology.key
Version: 1
Type: client
00d0: 7fc6 e77d 1220 b807 6c7c 5660 b703 39d2 ...}. ..l|V`..9.
00e0: 1d99 bd89 e2f1 3e40 74a1 709c 6e6c 6624 ......>@t.p.nlf$
00f0: fad6 97bf c3e0 b0d4 cefc 3596 dd69 5223 ..........5..iR#
-
-.fi
-.br
-.SH "SEE ALSO"
+.EE
+.RE
+.SH AVAILABILITY
+.B lgss_sk
+is part of the
+.BR lustre (7)
+filesystem package since release 2.9.0
+.\" Added in commit v2_8_54_0-7-g3565394baa
+.SH SEE ALSO
.BR nids (5)
-.TH lhbadm 8 "2009 Apr 29" Lustre "System Administration Utilities"
+.TH LHBADM 8 2024-08-29 Lustre "Lustre Configuration Utilities"
.SH NAME
lhbadm \- Lustre failover utility
.SH SYNOPSIS
-.B lhbadm {failover|failback} reason ...
-.br
-.B pdsh -g lustre lhbadm status | dshbak -c
-.br
+.SY lhbadm
+.RB { failover | failback }
+.IR REASON " ..."
+.SY pdsh
+.B -g lustre lhbadm status | dshbak -c
+.YS
.SH DESCRIPTION
.B lhbadm
simplifies heartbeat administration on Lustre clusters.
.B status
Print a single line status message consisting of the heartbeat resource
status a hyphen, and lustre status.
-Under normal circumstances, server status should be \fIlocal-local\fR.
+Under normal circumstances, server status should be
+.BR local-local .
.TP
-.B failover \fIreason ...\fR
+.BI failover " REASON " ...
Initiate failover of local services (and foreign if active) to the
failover partner.
The command blocks until the transition is complete, which includes
starting lustre on the partner node.
Initiation and completion of failover is logged to the syslog
-\fRuser.err\fI facility.
+.B user.err
+.IR facility .
.TP
-.B failback \fIreason ...\fR
+.BI failback " REASON " ...
Initiate failback of the local services from the failover
partner. The command blocks until the transition is complete, which
includes starting lustre.
Initiation and completion of failback is logged to the syslog
-\fRuser.err\fI facility.
-.SH "HEARTBEAT STATUS VALUES"
-The heartbeat resource status values returned by \fBlhbadm status\fR
+.B user.err
+.IR facility .
+.SS HEARTBEAT STATUS VALUES
+The heartbeat resource status values returned by
+.B lhbadm status
may be one of the following:
.TP
.B local
.TP
.B transition
Resources are in transition.
-.SH "LUSTRE STATUS VALUES"
-The lustre status values returned by \fBlhbadm status\fR
+.SS LUSTRE STATUS VALUES
+The lustre status values returned by
+.B lhbadm status
may be one of the following:
.TP
.B loaded
.B partial
Lustre is partially started and may be running one or more services,
but not exactly the local, foreign, or all sets.
+.SH AVAILABILITY
+.B lhbadm
+is part of the
+.BR lustre (7)
+filesystem package since release 2.3.0
+.\" Added in commit 2.2.90-9-g04a38ba7cd
.SH SEE ALSO
-.BR cl_status (1)
+.BR cl_status (1),
+.BR hb_standby (1),
.BR hb_takeover (1)
-.BR hb_standby (1)