.\" nss_cctl.4: auto-generated, DO NOT EDIT .\" .\" Copyright 2009-2024. Quantum Corporation. All Rights Reserved. .\" StorNext is either a trademark or registered trademark of .\" Quantum Corporation in the US and/or other countries. .\" .\" Code start macro .de Cs .sp .ft C .in +0.3i .nf .. .\" Code end macro .de Ce .fi .in -0.3i .ft R .. .TH NSS_CCTL 4 "September 2024" "Xsan File System" .SH NAME nss_cctl \- Xsan Cluster-Wide Central Control File .SH SYNOPSIS .na .nh .HP .B /Library/Preferences/Xsan/nss_cctl.xml .ad .hy .SH DESCRIPTION The \fBXsan File System\fP supports cluster-wide central control to restrict the behavior of Xsan cluster nodes (fsm server, volume client and administrative commands such as cvadmin) from a central place. A central control file .I nss_cctl.xml is used to specify the desired controls on the cluster nodes. This file resides under .I /Library/Preferences/Xsan on an .B nss coordinator server. The filename of the nss_cctl file follows the format: .IP .IR nss_cctl.xml .PP \fINOTE\fP: The recommended way to get started with the central control facility is to first use the .BR nss_cctl_template (8) commmand to generate a file that can then be edited to form your .I nss_cctl.xml file. The addresses of hosts and names of filesystems will be those that are currently in use and mounted in the cluster in which you are running the template command. .PP This control file is in \fBxml\fP format and has hierarchical structure. The top level element is \fBsnfsControl\fP. It contains control element \fBsecurityControl\fP for certain volumes. If you have different controls for different volumes, then each volume should have its own control definition. A special virtual volume \fB#SNFS_ALL#\fP is used as the default control for volumes not defined in this control file. It is also the required file system name when configuring the \fBsnfsAdmin\fP and \fBsnfsAdminControl\fP options. \fINOTE\fP: You cannot have a real volume named as \fB#SNFS_ALL#\fP. .PP Each volume related control element (i.e. \fBsecurityControl\fP) has a list of \fBcontrolEntry\fP. Each \fBcontrolEntry\fP defines the client and the intended controls. The simplest and preferred way of defining a client within the \fBcontrolEntry\fP is in the following manner: .IP .PD 0 .B .RS .IP "" 0.4i .B
.RE .IP .B .PD .PP where \fIvalue\fP can either be an IP address (or hostname) by itself, or followed by a netmask length separated by a slash (e.g "192.0.2.0/24") if one would like to specify a subnet. An IP address by itself is equivalent to the same IP address followed by the maximum netmask length of the IP version in use (e.g. "192.0.2.10" is equivalent to "192.0.2.10/32"). Both IPv4 and IPv6 are supported. There may be multiple \fBaddress\fP entries within the \fBclient\fP element if the specified addresses will be sharing the same controls within the \fBcontrolEntry\fP. .PP A value which matches any client can be specified by using a zero length netmask, for example "0.0.0.0/0". .PP Another way of defining a client is supported for backwards compatibility, wherein its type is explicitly defined: \fBhost\fP or \fBnetgrp\fP. For type \fBhost\fP, the client is defined in the following format below, where \fIvalue\fP may be either an IP address or hostname: .IP .PD 0 .B .RS .IP "" 0.4i .B .RE .IP .B .PD .PP For type \fBnetgrp\fP, two sub-elements \fBnetwork\fP, which defines the IP address of the subnet, and \fBmaskbits\fP, which defines the netmask length of the subnet, need to be included as follows: .IP .PD 0 .nf .B .RS .IP "" 0.4i .B .B .RE .IP .B .fi .PD .PP \fINOTE\fP: When there is overlap between client IP addresses, the controls which correspond to the IP address with the longest netmask length will take precedence. .PP .SS Controls Currently eight controls are supported. Each control has this format: .IP .B <\fIcontrol\fP value="\fIvalue\fP"/> .PP The \fIvalue\fP can be either \fBtrue\fP or \fBfalse\fP. The \fIcontrol\fP is one of the following controls: .PP .IP \fBmountReadOnly\fP Controls whether the client should mount the given volume as readonly. Value \fBtrue\fP(\fBfalse\fP) means the volume is mounted as readonly (read/write). If this control is not specified, the default is read/write. .IP \fBmountDlanClient\fP Controls whether the client can mount the given volume via proxy client. Value \fBtrue\fP(\fBfalse\fP) means the volume is (not) allowed to mount via proxy client. The default is "mount via proxy client not allowed". .IP \fBtakeOwnership\fP Controls whether users on a windows client are allowed to take ownership of file or directory of a stornext volume. Value \fBtrue\fP(\fBfalse\fP) means that taking ownership is (not) allowed. The default is that "take ownership is not allowed". \fINote\fP: this control only applies to the clients running on Windows platforms. .IP \fBsnfsAdmin\fP Controls whether .BR cvadmin (8), .BR sgmanage (8), and .BR snquota (1) running on a host are allowed to have \fBsuper-admin\fP privilege to run \fBprivileged\fP commands such as start/stop a volume, manipulate storage pools or change quota settings. Value \fBtrue\fP(\fBfalse\fP) means users with \fBsuperadmin\fP privilege is (not) allowed to run privileged commands. The default value is "false". This option can only be defined under the \fB#SNFS_ALL#\fP file system name. .IP \fBsnfsAdminConnect\fP Controls whether .BR cvadmin (8) running on a client is allowed to connect to other fsm host via \fB-H\fP option. Value \fBtrue\fP(\fBfalse\fP) means .BR cvadmin (8) is (not) allowed to connect to other fsm host via \fB-H\fP option. The default value is \fBfalse\fP. This option can only be defined under the \fB#SNFS_ALL#\fP file system name. .IP \fBexec\fP Controls whether binary executable files on the volume are allowed to be executed. Value \fBtrue\fP(\fBfalse\fP) means binary executable files are (not) allowed to be executed. The default value is \fBfalse\fP, i.e. the execution is not allowed. Note: the StorNext upgrade process may rely on the ability to run binary executables residing on the HA file system. Therefore, setting exec to "true" for this file system is required, at least during upgrades. .IP \fBsuid\fP Controls whether setuid bit is allowed to take effect. Value \fBtrue\fP(\fBfalse\fP) means setuid bit is (not) allowed to take effect. The default value is \fBfalse\fP. .IP \fBdenyRetrieves\fP Controls whether a client is permitted to retrieve offline files by reading them. This only applies to managed file systems. When a file is offline, storage manager is responsible for retrieving its contents, this can usually be triggered by a file read. If read based retrieve is disabled then an fsretrieve command must be used, either directly, or via a web services call. Value \fBtrue\fP(\fBfalse\fP) means that the client cannot (can) initiate retrieves. The default value is \fBfalse\fP. .IP \fBglobalSuperUser\fP Controls whether a client can override the file system configuration for global super user. This nss_cctl variable only has meaning when the file system configuration variable \fBglobalSuperUser\fP has been set to \fBfalse\fP, disabling global super user for clients. When this nss_cctl variable is set to \fBtrue\fP for a set of clients, these clients behave as if the configuration variable had been set to \fBtrue\fP. See the .BR snfs_config (5) man page for a complete description of this privilege. The default value is \fBfalse\fP. Apple Xsan clients do not honor the setting of \fBglobalSuperUser\fP. .PP \fINOTE\fP: If no match is found for a given client's IP address, then the client has no privilege to access a Xsan cluster. If a volume has been defined but the client is not defined in that volume's control (securityControl), then the client has no access privilege to the specified volume. .PP .SS Non-voting and Voting client configuration .PP The element \fBnonVotingCluster\fP can be included (on the same level as the \fBsecurityControl\fP element) to set the default client behavior (voting or non-voting) within the cluster during the election that will choose the host on which a specific file system manager will run. The cluster to which this control is applied will be the one specified by the nss_cctl filename. \fINOTE\fP: If no cluster is specified in the filename, please refer to the beginning of this man page's \fBDESCRIPTION\fP section for more information on which cluster this control will take effect. .PP The element \fBnonVotingCluster\fP has the following format: .IP .B .PP where \fIvalue\fP can either be \fBtrue\fP or \fBfalse\fP. If \fIvalue\fP is \fBtrue\fP, the default behavior of all clients within the cluster will be to abstain from voting in the election. In effect, unnecessary NSS message traffic may be greatly reduced. If the \fBnonVotingCluster\fP is not included in the xml file, client behavior will be the same as if its value were set to \fBfalse\fP (i.e. all clients within the cluster will be voting in the election). .PP Note that clients running versions of StorNext prior to StorNext 6.0 use an older version of the NSS protocol (NSS1), which does not honor the non-voting cluster configuration options specified in this file. .PP \fINOTE\fP: There always needs to be voting clients within the cluster so that a decision can be derived from the election. Therefore, when the \fBnonVotingCluster\fP element is set to \fBtrue\fP, it should be used in conjunction with the \fBvotingClients\fP element (described in the following paragraphs) which allows one to specify an explicit list of voting clients. .PP It is also possible to specify a group of non-voting clients within a cluster by creating a list of client addresses with the \fBnonVotingClients\fP element (also used on the same level as that of the \fBsecurityControl\fP element). The \fBnonVotingClients\fP element has the following format: .IP .PD 0 .nf .B .RS .IP "" 0.4i .B
.B
. . . .B
.RE .IP .B .fi .PD .PP where each \fBaddress\fP element is the same element used when specifying a client within a \fBcontrolEntry\fP, and there must be at least one \fBaddress\fP element. To specify a group of voting clients, the same format is used but replacing \fBnonVotingClients\fP with \fBvotingClients\fP. .PP \fINOTE\fP: For more information on the \fBaddress\fP element and its allowed values, please refer to the beginning of this man page's \fBDESCRIPTION\fP section. .PP \fINOTE\fP: All three elements (i.e. \fBnonVotingCluster\fP, \fBnonVotingClients\fP and \fBvotingClients\fP) may be in the \fInss_cctl.xml\fP file at the same time. The \fBvotingClients\fP and \fBnonVotingClients\fP elements will take precedence over the \fBnonVotingCluster\fP element. When a client IP address matches elements in both \fBnonVotingClients\fP and \fBvotingClients\fP, the element with the longest netmask will take precedence; if there is a tie, the \fBvotingClients\fP element will be used. .PP .SH LIMITATIONS Only the \fBLinux\fP platform is supported to be a nss coordinator server capable of parsing this xml file. .SH EXAMPLE The following is an example of .I nss_cctl.xml file. It defines the control of volume \fBxsan1\fP, and also the special virtual volume \fB#SNFS_ALL#\fP. .PP \fINOTE\fP: As stated earlier, instead of using this example, you can generate a starting point .I nss_cctl.xml file using the .BR nss_cctl_template (8) command. .PP .Cs
.Ce .SH FILES .I /Library/Preferences/Xsan/nss_cctl.xml .br .I /System/Library/Filesystems/acfs.fs/Contents/examples/nss_cctl.example .SH SEE ALSO .BR cvadmin (8), .BR fsnameservers (4), .BR nss_cctl_template (8), .BR sgmanage (8), .BR snfs_config (5), .BR snquota (1)