Whamcloud - gitweb
LU-4647 lctl: add nodemap man pages to lctl 78/13478/3
authorKit Westneat <kit.westneat@gmail.com>
Wed, 21 Jan 2015 02:55:13 +0000 (21:55 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 10 Feb 2015 20:34:50 +0000 (20:34 +0000)
This patch adds separate man pages for the 8 lctl nodemap commands,
and updates the lctl man page to point to them.

Signed-off-by: Kit Westneat <kit.westneat@gmail.com>
Change-Id: Ia1350471a2878a8f4057d66a91141ad8dd132bc2
Reviewed-on: http://review.whamcloud.com/13478
Tested-by: Jenkins
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Tested-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
12 files changed:
lustre/doc/lctl-nodemap-activate.8 [new file with mode: 0644]
lustre/doc/lctl-nodemap-add-idmap.8 [new file with mode: 0644]
lustre/doc/lctl-nodemap-add-range.8 [new file with mode: 0644]
lustre/doc/lctl-nodemap-add.8 [new file with mode: 0644]
lustre/doc/lctl-nodemap-del-idmap.8 [new file with mode: 0644]
lustre/doc/lctl-nodemap-del-range.8 [new file with mode: 0644]
lustre/doc/lctl-nodemap-del.8 [new file with mode: 0644]
lustre/doc/lctl-nodemap-modify.8 [new file with mode: 0644]
lustre/doc/lctl.8
lustre/doc/lnetctl.8
lustre/doc/lustre_rsync.8
lustre/doc/mount.lustre.8

diff --git a/lustre/doc/lctl-nodemap-activate.8 b/lustre/doc/lctl-nodemap-activate.8
new file mode 100644 (file)
index 0000000..bbbd0fe
--- /dev/null
@@ -0,0 +1,35 @@
+.TH lctl-nodemap-activate 8 "2015 Jan 20" Lustre "configuration utilities"
+.SH NAME
+lctl-nodemap-activate \- Activate or deactivate the nodemap feature.
+.SH SYNOPSIS
+.br
+.B lctl nodemap_activate "<0|1>"
+.br
+.SH DESCRIPTION
+.B nodemap_activate
+is used to activate or deactivate the nodemap feature. When nodemap is
+active, all client operations are mapped based on rules created by the
+administrator.
+
+.SH OPTIONS
+Passing 0 disables the nodemap feature, while 1 activates the feature.
+
+.SH EXAMPLES
+.nf
+# lctl nodemap_activate 1
+.fi
+
+.SH AVAILABILITY
+.B lctl
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-nodemap-add (8),
+.BR lctl-nodemap-del (8),
+.BR lctl-nodemap-add-range (8),
+.BR lctl-nodemap-del-range (8),
+.BR lctl-nodemap-add-idmap (8),
+.BR lctl-nodemap-del-idmap (8),
+.BR lctl-nodemap-modify (8)
diff --git a/lustre/doc/lctl-nodemap-add-idmap.8 b/lustre/doc/lctl-nodemap-add-idmap.8
new file mode 100644 (file)
index 0000000..a2b9f8c
--- /dev/null
@@ -0,0 +1,47 @@
+.TH lctl-nodemap-add-idmap 8 "2015 Jan 20" Lustre "configuration utilities"
+.SH NAME
+lctl-nodemap-add-idmap \- Define a range of NIDs for a nodemap.
+
+.SH SYNOPSIS
+.br
+.B lctl nodemap_add_idmap <--name name> <--idtype {uid|gid}>
+<--idmap clientid:fsid>
+.br
+.SH DESCRIPTION
+.B nodemap_add_idmap adds an identity mapping to a nodemap. Clients that are
+members of the given nodemap will have the identities of their users mapped
+accordingly.
+
+.SH OPTIONS
+.I name
+is the name of the nodemap that this idmap should be added to.
+
+.I idtype
+is either "uid" or "gid" depending on if it is a user ID or group ID that is to
+be mapped.
+
+.I idmap
+is the identity to map, and what it should be mapped to. The first digit is the
+ID of the user or group as it is on the client, and the second number is the ID
+that it should map to on the Lustre filesystem.
+
+.SH EXAMPLES
+.nf
+# lctl nodemap_add_idmap --name remotesite --idtype uid --idmap 2001:1001
+# lctl nodemap_add_idmap --name remotesite --idtype gid --idmap 2002:1002
+.fi
+
+.SH AVAILABILITY
+.B lctl
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-nodemap-activate (8),
+.BR lctl-nodemap-add (8),
+.BR lctl-nodemap-del (8),
+.BR lctl-nodemap-add-range (8),
+.BR lctl-nodemap-del-range (8),
+.BR lctl-nodemap-del-idmap (8),
+.BR lctl-nodemap-modify (8)
diff --git a/lustre/doc/lctl-nodemap-add-range.8 b/lustre/doc/lctl-nodemap-add-range.8
new file mode 100644 (file)
index 0000000..ee2e26e
--- /dev/null
@@ -0,0 +1,64 @@
+.TH lctl-nodemap-add-range 8 "2015 Jan 20" Lustre "configuration utilities"
+.SH NAME
+lctl-nodemap-add-range \- Define a range of NIDs for a nodemap.
+
+.SH SYNOPSIS
+.br
+.B lctl nodemap_add_range <--name name> <--range range>
+.br
+.SH DESCRIPTION
+.B nodemap_add_range adds a range of NIDs to an existing nodemap. The NID range
+cannot overlap with an existing NID range. Clients with NIDs that fall into the
+new range will be moved into the given nodemap.
+
+.SH OPTIONS
+.I name
+is the name of the nodemap that this range should be added to.
+
+.I range
+is the NID range that should be added to the nodemap. The syntax for the range
+is the same as the rootsquash syntax, with the added constraint that the range
+must be contiguous.
+
+.SH Formal LNET Range Definition
+
+.nf
+<nidlist>      :== <nidrange> [ ' ' <nidrange> ]
+<nidrange>     :== <addrrange> '@' <net>
+<addrrange>    :== '*' |
+                       <ipaddr_range> |
+                       <numaddr_range>
+<ipaddr_range> :==
+       <numaddr_range>.<numaddr_range>.<numaddr_range>.<numaddr_range>
+<numaddr_range>        :== <number> |
+                       <expr_list>
+<expr_list>    :== '[' <range_expr> [ ',' <range_expr>] ']'
+<range_expr>   :== <number> |
+                       <number> '-' <number> |
+                       <number> '-' <number> '/' <number>
+<net>          :== <netname> | <netname><number>
+<netname>      :== "lo" | "tcp" | "o2ib" | "cib" | "openib" | "iib" |
+                       "vib" | "ra" | "elan" | "gm" | "mx" | "ptl"
+<number>       :== <nonnegative decimal> | <hexadecimal>
+.fi
+
+.SH EXAMPLES
+.nf
+# lctl nodemap_add_range --name remotesite --range 192.168.1.[1-254]@tcp
+# lctl nodemap_add_range --name otherremotesite --range 192.168.2.[1-254]@tcp
+.fi
+
+.SH AVAILABILITY
+.B lctl
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-nodemap-activate (8),
+.BR lctl-nodemap-add (8),
+.BR lctl-nodemap-del (8),
+.BR lctl-nodemap-del-range (8),
+.BR lctl-nodemap-add-idmap (8),
+.BR lctl-nodemap-del-idmap (8),
+.BR lctl-nodemap-modify (8)
diff --git a/lustre/doc/lctl-nodemap-add.8 b/lustre/doc/lctl-nodemap-add.8
new file mode 100644 (file)
index 0000000..58d2e37
--- /dev/null
@@ -0,0 +1,38 @@
+.TH lctl-nodemap-add 8 "2015 Jan 20" Lustre "configuration utilities"
+.SH NAME
+lctl-nodemap-add \- Add a new nodemap, to which NID ranges, identities, and
+properties can be added.
+
+.SH SYNOPSIS
+.br
+.B lctl nodemap_add <name>
+.br
+.SH DESCRIPTION
+.B nodemap_add creates and names a new nodemap. The administrator can then add
+NID ranges and identity mappings to the nodemap, as well as modify its
+properties.
+
+.SH OPTIONS
+.I name
+is the name to give the new nodemap. It can be any string except "default".
+
+.SH EXAMPLES
+.nf
+# lctl nodemap_add remotesite
+# lctl nodemap_add otherremotesite
+.fi
+
+.SH AVAILABILITY
+.B lctl
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-nodemap-activate (8),
+.BR lctl-nodemap-del (8),
+.BR lctl-nodemap-add-range (8),
+.BR lctl-nodemap-del-range (8),
+.BR lctl-nodemap-add-idmap (8),
+.BR lctl-nodemap-del-idmap (8),
+.BR lctl-nodemap-modify (8)
diff --git a/lustre/doc/lctl-nodemap-del-idmap.8 b/lustre/doc/lctl-nodemap-del-idmap.8
new file mode 100644 (file)
index 0000000..d5af221
--- /dev/null
@@ -0,0 +1,46 @@
+.TH lctl-nodemap-del-idmap 8 "2015 Jan 20" Lustre "configuration utilities"
+.SH NAME
+lctl-nodemap-del-idmap \- Delete an existing idmap from a nodemap.
+
+.SH SYNOPSIS
+.br
+.B lctl nodemap_del_idmap <--name name> <--idtype [uid|gid]>
+<--idmap clientid:fsid>
+.br
+.SH DESCRIPTION
+.B nodemap_del_idmap
+deletes an idmap from a nodemap. Users or groups in the nodemap with that ID
+will be squashed, if the trusted flag is not enabled.
+
+.SH OPTIONS
+.I name
+is the name of the nodemap that this idmap should be deleted from.
+
+
+.I idtype
+is either "uid" or "gid" depending on if it is a user or group mapping that is
+to be removed.
+
+.I idmap
+is the identity map to delete.
+
+.SH EXAMPLES
+.nf
+# lctl nodemap_del_idmap --name remotesite --idtype uid --idmap 2001:1001
+# lctl nodemap_del_idmap --name remotesite --idtype gid --idmap 2002:1002
+.fi
+
+.SH AVAILABILITY
+.B lctl
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-nodemap-activate (8),
+.BR lctl-nodemap-add (8),
+.BR lctl-nodemap-del (8),
+.BR lctl-nodemap-add-range (8),
+.BR lctl-nodemap-del-range (8),
+.BR lctl-nodemap-add-idmap (8),
+.BR lctl-nodemap-modify (8)
diff --git a/lustre/doc/lctl-nodemap-del-range.8 b/lustre/doc/lctl-nodemap-del-range.8
new file mode 100644 (file)
index 0000000..1eec160
--- /dev/null
@@ -0,0 +1,40 @@
+.TH lctl-nodemap-del-range 8 "2015 Jan 20" Lustre "configuration utilities"
+.SH NAME
+lctl-nodemap-del-range \- Delete an existing NID range from a nodemap.
+
+.SH SYNOPSIS
+.br
+.B lctl nodemap_del_range "<--name name> <--range range>"
+.br
+.SH DESCRIPTION
+.B nodemap_del_range
+deletes a NID range from a nodemap. Clients will be moved to the default
+nodemap.
+
+.SH OPTIONS
+.I name
+is the name of the nodemap that this range should be deleted from.
+
+.I range
+is the NID range that should be deleted from the nodemap.
+
+.SH EXAMPLES
+.nf
+# lctl nodemap_del_range --name remotesite --range 192.168.1.[1-254]@tcp
+# lctl nodemap_del_range --name otherremotesite --range 192.168.2.[1-254]@tcp
+.fi
+
+.SH AVAILABILITY
+.B lctl
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-nodemap-activate (8),
+.BR lctl-nodemap-add (8),
+.BR lctl-nodemap-del (8),
+.BR lctl-nodemap-add-range (8),
+.BR lctl-nodemap-add-idmap (8),
+.BR lctl-nodemap-del-idmap (8),
+.BR lctl-nodemap-modify (8)
diff --git a/lustre/doc/lctl-nodemap-del.8 b/lustre/doc/lctl-nodemap-del.8
new file mode 100644 (file)
index 0000000..fe6c44b
--- /dev/null
@@ -0,0 +1,37 @@
+.TH lctl-nodemap-del 8 "2015 Jan 20" Lustre "configuration utilities"
+.SH NAME
+lctl-nodemap-del \- Delete an existing nodemap.
+
+.SH SYNOPSIS
+.br
+.B lctl nodemap_del "<name>"
+.br
+.SH DESCRIPTION
+.B nodemap_del deletes an existing nodemap. All of the associated mappings and
+NID ranges will be removed as well, and existing clients will be moved to the
+default nodemap.
+
+.SH OPTIONS
+.I name
+is the name of the nodemap to delete. The default nodemap cannot be deleted.
+
+.SH EXAMPLES
+.nf
+# lctl nodemap_del remotesite
+# lctl nodemap_del otherremotesite
+.fi
+
+.SH AVAILABILITY
+.B lctl
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-nodemap-activate (8),
+.BR lctl-nodemap-add (8),
+.BR lctl-nodemap-add-range (8),
+.BR lctl-nodemap-del-range (8),
+.BR lctl-nodemap-add-idmap (8),
+.BR lctl-nodemap-del-idmap (8),
+.BR lctl-nodemap-modify (8)
diff --git a/lustre/doc/lctl-nodemap-modify.8 b/lustre/doc/lctl-nodemap-modify.8
new file mode 100644 (file)
index 0000000..8e01dea
--- /dev/null
@@ -0,0 +1,69 @@
+.TH lctl-nodemap-modify 8 "2015 Jan 20" Lustre "configuration utilities"
+.SH NAME
+lctl-nodemap-modify \- Modify a nodemap property.
+
+.SH SYNOPSIS
+.br
+.B lctl nodemap_modify <--name nodemap_name> <--property property_name>
+<--value value>
+.br
+.SH DESCRIPTION
+.B nodemap_modify
+modifies a property of the given nodemap.
+
+.SH OPTIONS
+.I nodemap_name
+is the name of the nodemap to modify
+
+
+.I property_name
+is one of the following properties:
+.PP
+admin
+.RS 4
+Defaults to off. If set to on, then root will NOT be squashed. By default,
+the root user is mapped to the value of squash_uid.
+.RE
+.PP
+trusted
+.RS 4
+Defaults to off. If set to on, then user mapping will be disabled for all
+non-root users. This means that the identities provided by the client will be
+trusted to match the identities of the file system. By default, the client user
+identities are mapped to the file system identities based on the nodemap rules.
+.RE
+.PP
+squash_uid
+.RS 4
+Defaults to 99. The user ID that unknown users (if not trusted) and root (if not admin) should be mapped to.
+.RE
+.PP
+squash_gid
+.RS 4
+Defaults to 99. The group ID that unknown groups (if not trusted) and root (if not admin) should be mapped to.
+.RE
+
+.I value
+is the value to set for the property. Should be 0 or 1 for admin and trusted.
+
+.SH EXAMPLES
+.nf
+# lctl nodemap_modify --name remotesite --property trusted --value 1
+# lctl nodemap_modify --name remotesite --property admin --value 1
+# lctl nodemap_modify --name otherremotesite --property squash_uid --value 101
+.fi
+
+.SH AVAILABILITY
+.B lctl
+is part of the
+.BR Lustre (7)
+filesystem package.
+.SH SEE ALSO
+.BR lustre (7),
+.BR lctl-nodemap-activate (8),
+.BR lctl-nodemap-add (8),
+.BR lctl-nodemap-del (8),
+.BR lctl-nodemap-add-range (8),
+.BR lctl-nodemap-del-range (8),
+.BR lctl-nodemap-add-idmap (8),
+.BR lctl-nodemap-del-idmap (8),
index 4cd0e09..ed79e6a 100644 (file)
@@ -295,6 +295,70 @@ 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 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.
+
+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
+identities to 99:99 (nobody:nobody). Administrators can define nodemaps for a
+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.
+
+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,
+you must also use set_param to enable and define nodemaps on the OSS (matching
+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.
+
+See also:
+
+.PP
+\fBlctl-nodemap-activate\fR(8)
+.RS 4
+Activate/deactivate the nodemap feature.
+.RE
+.PP
+\fBlctl-nodemap-add\fR(8)
+.RS 4
+Add a new nodemap, to which NID ranges, identities, and properties can be added.
+.RE
+.PP
+\fBlctl-nodemap-del\fR(8)
+.RS 4
+Delete an existing nodemap.
+.RE
+.PP
+\fBlctl-nodemap-add-range\fR(8)
+.RS 4
+Define a range of NIDs for a nodemap.
+.RE
+.PP
+\fBlctl-nodemap-del-range\fR(8)
+.RS 4
+Delete an existing NID range from a nodemap.
+.RE
+.PP
+\fBlctl-nodemap-add-idmap\fR(8)
+.RS 4
+Add a UID or GID mapping to a nodemap.
+.RE
+.PP
+\fBlctl-nodemap-del-idmap\fR(8)
+.RS 4
+Delete an existing UID or GID mapping from a nodemap.
+.RE
+.PP
+\fBlctl-nodemap-modify\fR(8)
+.RS 4
+Modify a nodemap property.
+.RE
+
 .SS LFSCK
 An on-line Lustre consistency check and repair tool.
 .TP
@@ -452,7 +516,7 @@ is part of the
 .BR Lustre (7) 
 filesystem package.
 .SH SEE ALSO
-.BR Lustre (7),
+.BR lustre (7),
 .BR mkfs.lustre (8),
 .BR mount.lustre (8),
 .BR lctl (8),
index 902d7cc..2dba6e2 100644 (file)
@@ -622,5 +622,5 @@ peer:
 .br
 
 .SH SEE ALSO
-.BR Lustre (7)
+.BR lustre (7)
 
index 8e90e4d..ffcb26f 100644 (file)
@@ -176,6 +176,6 @@ $ lustre_rsync --source=/mnt/lustre \\
 The lustre_rsync command is part of the Lustre filesystem.
 
 .SH SEE ALSO
-.BR Lustre (7),
+.BR lustre (7),
 .BR lctl (8),
 .BR lfs (1)
index 4b613cb..c68a45d 100644 (file)
@@ -156,7 +156,7 @@ is part of the
 .BR Lustre (7) 
 filesystem package.
 .SH SEE ALSO
-.BR Lustre (7),
+.BR lustre (7),
 .BR mount (8),
 .BR mkfs.lustre (8),
 .BR tunefs.lustre (8),