sun.com | docs.sun.com |  | How To Buy | My Sun | Worldwide Sites |

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

File Formats | nhfs.conf(4)

- NAME
- SYNOPSIS
- DESCRIPTION
- COMMON PARAMETERS
- DIRECT LINK PARAMETERS
- CMM PARAMETERS
- RELIABLE NFS PARAMETERS
- NODE STATE MANAGER PARAMETERS
- WATCHDOG TIMER PARAMETERS
- EXAMPLES
- ATTRIBUTES
- SEE ALSO

## NAME

> nhfs.conf - Foundation Services configuration file

## SYNOPSIS

> `/etc/opt/SUNWcgha/nhfs.conf`

## DESCRIPTION

> The `nhfs.conf` file contains configuration information for the Foundation Services such as the Cluster Membership Manager, Reliable NFS, and the Node State Manager. This file also provides cluster addressing and interface configuration information.

> Configure this file on each node if you plan to install the Foundation Services manually. To manually configure the parameters in the `nhfs.conf` file, uncomment the parameters, that is, delete the comment mark (#) at the beginning of the line, and modify the value of the parameter. A description of each parameter is provided in the following sections.

> When you have manually install the Foundation Services packages, copy the template file `/etc/opt/SUNWcgha/nhfs.conf.template` to the default location `/etc/opt/SUNWcgha` as `nhfs.conf` on each peer node. For each file, make the necessary modifications in a text editor.

> Do not re-edit the `nhfs.conf` file when the cluster is running.

> The `nhfs.conf` file format is ASCII. Parameters consist of a keyword followed by an equals (=) sign followed by the parameter value, of the form:

> >     Keyword=Value

> The following Keyword and Value parameters are supported.

## COMMON PARAMETERS

> `Cluster.DataManagementPolicy`

>   Define how the cluster behaves when the vice-master node starts up while the master node is down. You can select one of three data management policies. Values are `Integrity`, `Availability`, and `Adaptability`. The default value is `Integrity`.

>   >     Cluster.DataManagementPolicy=Integrity | Availability | Adaptability

>   `Integrity`

>     If there is a vice-master but no master in the cluster, the vice-master waits for the old master to rejoin the cluster before it takes the master role. This ensures that the cluster has the most up-to-date data. Choosing this value might reduce the availability of the cluster, but it prioritizes data integrity.

>   `Availability`

>     If there is a vice-master in the cluster but no master, the vice-master does not wait for the old master to rejoin the cluster before taking on the master role. The previous master is still off-line. Any data that is written to the new master while there is no vice-master will be lost. When the old master node comes back on line as the vice-master node, a full synchronization occurs between the two master-eligible nodes.

>   `Adaptability`

>     If there is a vice-master in the cluster but no master, the vice-master checks the disk synchronization state. If the state is not synchronized, that is the state returned by `nhcmmstat` is `synchro:NEEDED`, the vice-master waits for the master to come up. This is equivalent to the `Integrity` data management policy. If the state is synchronized, that is the state returned by `nhcmmstat` is `synchro:READY`, the vice-master is elected the new master. This is equivalent to the `Availability` data management policy.

> `Cluster.Master.ID`

>   Specify the host part of the master node's floating IP address in decimal form. The floating address triplet for the node with the master role is calculated from the local network interface addresses, the netmask, and the value of this parameter. These addresses are IPv4 address.

>   The default value is `1`.

>   >     Cluster.Master.ID=1

>   If the `Cluster.Master.ID` is `1` and the cluster network is set up as follows:

>   - Netmask: `255.255.255.0`

>   - NIC0 subnet: `192.200.168.0`

>   - NIC1 subnet: `10.250.2.0`

>   - `cgtp0` subnet: `192.200.175.0`

>   The floating address triplet is as follows:

>   - NIC0 floating address: `192.200.168.1`

>   - NIC1 floating address: `10.250.2.1`

>   - `cgtp0` floating address: `192.200.175.1`

>   This address is calculated similarly if you have IP addresses of any other class.

> `CMM.MasterLoss.Detection`

>   Determine if the absense of a master node in the cluster must be detected by diskless and dataless nodes. Values are `True` and `False`. The default is `False`.

>   If `CMM.MasterLoss.Detection` is set to `False`, the diskless and dataless nodes are rebooted when they detect that there is no master node in the cluster for a period of more then 4-5 minutes. If `CMM.MasterLoss.Detection` is set to `True`, the diskless and dataless nodes do not reboot if there is no master node in the cluster. However, the diskless and dataless nodes cannot access directories that would be exported by the master node if such a node existed. You must ensure that diskless and dataless nodes can adapt to this situation.

> `Node.Domainid`

>   Specify the domainid of the cluster. You must modify this parameter. There is no default value.

>   >     Node.Domainid=250

> `Node.NodeId`

>   This parameter specifies the node ID of the current node. There is no default value.

> `Node.NIC0`

>   The name of the first network interface, NIC0, used for CGTP. The default value is `hme0`.

>   >     Node.NIC0=hme0

>   This parameter could be a logical network interface, for example, `hme0:2`.

>   If you have not installed the CGTP patches and packages and you want to configure a single network link for your cluster, configure this parameter.

> `Node.NIC1`

>   The name of the second network interface, NIC1, used for CGTP. The default value is `hme1`.

>   >     Node.NIC1=hme1

>   This parameter could be a logical network interface, for example, `hme1:2`.

>   If you have not installed the CGTP patches and packages and you want to configure a single network link for your cluster, do not configure this parameter.

> `Node.NICCGTP`

>   The virtual interface used by CGTP. The default value is `cgtp0`.

>   >     Node.NICCGTP=cgtp0

>   If you have not installed the CGTP patches and packages and you want to configure a single network link for your cluster, do not configure this parameter.

> `Node.UseCGTP`

>   Specify whether the CGTP is to be used or not. Values are `True` or `False`. The default value is `True`.

>   >     Node.UseCGTP=True

>   If you have not installed the CGTP patches and packages and you want to configure a single network link for your cluster, set this parameter to `False`.

> `Node.Type`

>   Specify the type of node. Defining this parameter is mandatory. When you create the `nhfs.conf` file on each peer node, specify the type of node in this parameter. The `Node.Type` parameter can have one of the following values:

>   - `Diskfull`--A master-eligible node

>   - `Dataless`--A dataless node

>   - `Diskless`--A diskless node

>   There is no default value. For more information on types of nodes, see the Netra High Availability Suite Foundation Services 2.1 6/03 Overview.

> `Node.RNFS.Installed`

>   Specify whether Reliable NFS is installed on a node. Values are `True` or `False`. The default value is `False`.

>   >     Node.RNFS.Installed=True

>   Both master-eligible nodes must have the same value for this parameter.

## DIRECT LINK PARAMETERS

> To prevent a split brain situation, you can connect the serial ports of the master-eligible nodes and configure the following parameters. Split brain is a situation where the network fails and two master nodes are elected in the same cluster. Configure the following parameters if you have connected the serial ports of the master-eligible nodes.

> `Node.Direct-Link.Serial.Device`

>   Specify the serial device, that is, the system's serial ports. There is no default value.

>   >     Node.Direct-Link.serial.Device=/dev/term/b

> `Node.Direct-Link.Serial.Speed`

>   Specify the serial line speed. Valid values are 38400, 57600, 76800, or 115200. The higher the value, the better the link.

>   There is no default value.

>   >     Node.Direct-Link.serial.Speed=115200

> `Cluster.Direct-Link.Backend`

>   This parameter enables the direct link. If this parameter is not present in the `nhfs.conf` file, the direct link will not be used even if you have connected the serial ports of the master-eligible nodes.

>   The only value accepted by this parameter is `serial`:

>   >     Cluster.Direct-Link.Backend=serial

> `Cluster.Direct-Link.Heartbeat`

>   Specify the number of seconds between two checks to detect a failure. Therefore, if one master-eligible node receives no heartbeat during the specified period of seconds, the node is alerted that there may be a problem.

>   There is no default value. For example, specify an interval of 20 seconds as follows:

>   >     Cluster.Direct-Link.Heartbeat=20

## CMM PARAMETERS

> `CMM.IsEligible`

>   Specify whether the node is master eligible. Values are `True` or `False`. The default value is `False`.

>   >     CMM.IsEligible=True

> `CMM.LocalConfig.Dir`

>   Specify the directory where the configuration file, `cluster_nodes_table`, is located on each master-eligible node. There is no default value.

>   >     CMM.LocalConfig.Dir=/etc/opt/SUNWcgha

> `CMM.Miniconfig.Dir`

>   Specify the directory where the configuration file, `target.conf`, is located on each master-eligible node. There is no default value.

>   >     CMM.Miniconfig.Dir=/etc/opt/SUNWcgha

> `CMM.Miniconfig.File`

>   Specify the name of the local configuration file, `target.conf`. There is no default value.

>   >     CMM.Miniconfig.File=target.conf

> For more information on the CMM parameters, see the `nhcmmd`(1m) man page.

## RELIABLE NFS PARAMETERS

> `RNFS.StatdAlternatePath`

>   Specify the alternate `statd` repository. For information about `statd`, see the `statd`(1m) man page.

>   You must modify this parameter. There is no default value.

>   >     RNFS.StatdAlternatePath=directory-path

>   where directory-path is the path to the `statd` directory. This directory must be on a replicated disk partition.

>   >     RNFS.StatdAlternatePath=/SUNWcgha/local

> `RNFS.Slice`

>   Define the disk partitions that must be replicated by Reliable NFS. You must modify this parameter. The format for this parameter is:

>   >     RNFS.Slice.x=local-disk-partition local-bitmap-partition \
>   >     remote-disk-partition remote-bitmap-partition mount-flag

>   - x is an integer (0, 1, 2) that distinguishes each partition to be replicated.

>   - local-disk-partition and remote-disk-partition are the paths to the raw disk partitions on the local and remote nodes.

>   - local-bitmap-partition and remote-bitmap-partition are the paths to the scoreboard bitmaps associated to local-disk-partition and remote-disk-partition respectively.

>   - mount-flag is 0, 1 or 2:

>     0

>       Do not mount the partition.

>     1

>       Mandatory mount. If the partition is not mountable, stop with error.

>     2

>       Best effort mount. Try to mount the partition. If this is not possible, log an error and continue.

>   There is no default value.

>   >     RNFS.Slice.0=/dev/rdsk/c0t0d0s3 /dev/rdsk/c0t0d0s5 \
>   >     /dev/rdsk/c0t0d0s3 /dev/rdsk/c0t0d0s5 1

> `RNFS.Share`

>   Describes the file systems to be shared. You must modify this parameter.

>   - This parameter uses the same syntax as the `share` command. For more information, see the `share`(1m) man page.

>   - Each share command must be on its own line. The first string of an `RNFS.Share` line must be either `share` or `/usr/sbin/share`.

>   - Each `RNFS.Share` line must contain one share command line per partition to be exported by NFS.

>   - Each `RNFS.Share.x` represents a partition to be shared and x is an integer (0, 1, 2) that distinguishes each partition to be replicated.

>   To ensure that the CMM behaves correctly, you must:

>   - Grant superuser access for all the master-eligible nodes on the exported file system where the `cluster_nodes_table` file resides.

>   - Use the addresses for the CGTP interface for the master-eligible nodes. If CGTP is not installed, use the NIC0 addresses.

>   There is no default value. In the following example, `cgtp6` and `cgtp7` represent the static CGTP addresses of the master-eligible nodes.

>   >     RNFS.Share.0=share -F nfs -o rw,root=cgtp6:cgtp7 \
>   >     -d "SUNWcgha" /SUNWcgha/local/export

>   >     RNFS.Share.1=share -F nfs -o rw -d "diskless1" -o \
>   >     rw,root=diskless1:diskless1-b:cgtp-diskless1 \
>   >     /export/root/netraDISKLESS1

>   If you have diskless nodes in the cluster, add the `cgtp0` address of the diskless nodes.

>   >     RNFS.Share.0=share -F nfs \
>   >     -o rw,root=cgtp6:cgtp7:cgtp8 \
>   >     -d "SUNWcgha" /SUNWcgha/local/export

> `RNFS.CheckReplicatedSlices`

>   Check the status of replicated slices by continuously scanning them. This property is disabled by default. To enable this property, set `RNFS.CheckReplicatedSlices` to True:

>   >     RNFS.CheckReplicatedSlices=True

>   This check is only performed when the cluster is in the `synchro:READY` state. To determine the synchronization state of the cluster, run the `nhcmmstat` command. If you enable this property and the cluster is not in the `synchro:READY` state the following action occurs:

>   - An error message is displayed on the master node.

>   - The cluster is put in the `synchro:NEEDED` state to prevent a switchover occurring. If a switchover occurs, the master might not have access to the most up to date data.

> `RNFS.CheckReplicatedSlicesInterval`

>   Set the time between two successive reads of the replicated slices. Values are a number of milliseconds. The default value is 10 milliseconds. The `RNFS.CheckReplicatedSlicesInterval` property is ignored if the `RNFS.CheckReplicatedSlices` property is not set to `True`.

>   >     RNFS.CheckReplicatedSlicesInterval=time in milliseconds

> `RNFS.EnableSync`

>   Determine when disk synchronization occurs. Values are `True` and `False`. The default is `True`.

>   If `RNFS.EnableSync` is set to `True`, disk synchronization is triggered at startup.

>   If `RNFS.EnableSync` is set to `False`, you delay the start of disk synchronization until you use the `nhenablesync` command. For more information on this command, see the `nhenablesync`(1m) man page.

>   >     RNFS.EnableSync=False

> `RNFS.SyncType`

>   Specify the method used for synchronization between slices on master-eligible nodes. Values are `FS` or `RAW`. The default value is `FS`.

>   If `RNFS.SyncType` is set to `FS`, this feature is enabled. The time taken for a full slice synchronization is reduced because only the blocks used by the slice's file-system are replicated. If `RNFS.SyncType` is set to `RAW`, this property is disabled.

>   Both master-eligible nodes must have the same value for the `RNFS.SyncType` parameter. If you change the value of the `RNFS.SyncType` property, reboot the master-eligible nodes one at a time. For information on rebooting cluster nodes, see "Shutting Down and Restarting a Cluster" in the Netra High Availability Suite Foundation Services 2.1 6/03 Cluster Administration Guide. The `RNFS.SyncType` property is only valid for master-eligible nodes.

> `RNFS.SerializeSync`

>   Determine how disk synchronization is performed. Values are `TRUE` and `FALSE`. The default value is `FALSE`.

>   Synchronization is necessary following a switchover or the vice-master booting, or when you request a full replication. In these circumstances, if `RNFS.SerializeSync` is set to `FALSE`, Reliable NFS starts the synchonization of all slices at the same time. If `RNFS.SerializeSync` is set to `TRUE`, slices are synchronized one slice at a time. This reduces the network and disk overhead but increases the time it takes for the vice-master to synchronize with the master. During this time, the vice-master is not eligible to take on the role of master.

> For more information on the Reliable NFS parameters, see the `nhcrfsd`(1m) man page.

> Note – Some parameters in this file require a single value while others require multiple values.

> >     RNFS.StatdAlternatePath=/SUNWcgha/local

> >     RNFS.Slice.0=/dev/rdsk/c0t0d0s3 /dev/rdsk/c0t0d0s5 /dev/rdsk/c0t0d0s3 \
> >     /dev/rdsk/c0t0d0s5 1

> >     RNFS.Slice.1=/dev/rdsk/c0t0d0s4 /dev/rdsk/c0t0d0s6 /dev/rdsk/c0t0d0s4 \
> >     /dev/rdsk/c0t0d0s6 1

> >     RNFS.Share.0=share -F nfs -o rw,root=b14-ct400-10-cgtp:b14-ct400-20-cgtp \
> >     -d "SUNWcgha" /SUNWcgha/local/export

> >     RNFS.Share.1=share -F nfs -o rw -d "Export" /export

## NODE STATE MANAGER PARAMETERS

> Configure these parameters to specify the external floating address assigned to the master node. The following parameters must be configured when you use the Node State Manager.

> `NSM.Exec.MasterDir`

>   The directory containing the scripts for the master node. There is no default value.

>   >     NSM.Exec.MasterDir=/opt/SUNWcgha/actions/master

> `NSM.Exec.ViceMasterDir`

>   The directory containing the scripts for the vice-master node. There is no default value.

>   >     NSM.Exec.ViceMasterDir=/opt/SUNWcgha/actions/vicemaster

> `NSM.Log.MasterDir`

>   The log file directory for the master node. There is no default value.

>   >     NSM.Log.MasterDir=/var/run/SUNWcgha/actions/master

> `NSM.Log.ViceMasterDir`

>   The log file directory for the vice-master node. There is no default value.

>   >     NSM.Log.ViceMasterDir=/var/run/SUNWcgha/actions/vicemaster

> `NSM.External.Master.Address`

>   The external floating address that is always assigned to the master node.

>   >     NSM.External.Master.Address=IP-address/netmask-size

>   The netmask-size value is optional. There is no default value.

>   >     NSM.External.Master.Address=192.168.12.39

> `NSM.External.Master.Broadcast`

>   The broadcast address. This parameter is optional. If not configured, the broadcast address is automatically determined based on the IP address and netmask. There is no default value.

>   >     NSM.External.Master.Broadcast=192.168.255.255

> `NSM.External.Master.NIC`

>   The physical or logical network interface for the external floating address of the master node. There is no default value.

>   >     NSM.External.Master.NIC=hme0:3

> `NSM.External.Master.RouteAdd`

>   Set the arguments to be passed to the `route add` command when a master-eligible node becomes a master node. This parameter is optional. If not defined, no routes are defined. There is no default value.

>   >     NSM.External.Master.RouteAdd=default 192.168.12.250

>   The preceding example generates the following command:

>   >     route add default 192.168.12.250

> `NSM.External.Master.RouteDelete`

>   Set the arguments to be passed to the `route delete` command when a node loses the master role. This parameter is optional. There is no default value.

>   >     NSM.External.Master.RouteDelete=default 192.168.12.250

>   The preceding example generates the following command:

>   >     route delete default 192.168.12.250

## WATCHDOG TIMER PARAMETERS

> The following parameters are optional and must be configured only if you have installed the Watchdog Timer on the nodes of your cluster.

> `WATCHDOG.NhasWatchdog`

>   If this parameter is set to `true`, the product enables the watchdog and initiates the patting of the watchdog.

>   Options are `true` or `false`. The default is `false`.

>   >     WATCHDOG.NhasWatchdog=false

> `WATCHDOG.ShutDownTimeout`

>   The maximum number of milliseconds to wait for the system to reach `init` run level 6 during a shutdown. See the `init`(1m) man page.

>   The value must be provided in milliseconds. The default value is `5000`.

>   >     WATCHDOG.ShutDownTimeout=6000

> `WATCHDOG.OsTimeout`

>   The maximum number of milliseconds to wait between the system boot at `init` run level 2 and `init` run level 6. See the `init`(1m) man page.

>   The value must be provided in milliseconds. The default value is `3000`.

>   >     WATCHDOG.OsTimeout=5000

> `WATCHDOG.PattingIntvl`

>   The interval after which the hardware watchdog is re-enabled by the Watchdog Timer daemon, `nhwdtd`. The value must be provided in milliseconds and must be at least 1000 milliseconds less than the values of the `WATCHDOG.OsTimeout` and `WATCHDOG.ShutDownTimeout` parameters. The default value is `2000`.

>   >     patting_intvl=5000

## EXAMPLES

> Example 1. Example of the `nhfs.conf` File on a Master-Eligible Node

> > >     ### Common part
> > >     Node.DomainId=69
> > >     Node.NIC0=hme0:1
> > >     Node.NIC1=hme1
> > >     Node.NICCGTP=cgtp0
> > >     Node.UseCGTP=True
> > >     Node.type=Diskfull

> > >     ### Cluster part
> > >     Cluster.Master.Id=1

> > >     ### CMM part
> > >     CMM.IsEligible=True
> > >     CMM.LocalConfig.Dir=/etc/opt/SUNWcgha

> > >     ### RNFS part
> > >     RNFS.StatdAlternatePath=/SUNWcgha/local

> > >     RNFS.Slice.0=/dev/rdsk/c0t0d0s3 /dev/rdsk/c0t0d0s5 /dev/rdsk/c0t0d0s3 \
> > >     /dev/rdsk/c0t0d0s5 1
> > >     RNFS.Slice.1=/dev/rdsk/c0t0d0s4 /dev/rdsk/c0t0d0s6 /dev/rdsk/c0t0d0s4 \
> > >     /dev/rdsk/c0t0d0s6 1

> > >     RNFS.Share.0=share -F nfs -o rw,root=b14-ct400-10-cgtp:b14-ct400-20-cgtp \
> > >     -d "SUNWcgha" /SUNWcgha/local/export
> > >     RNFS.Share.1=share -F nfs -o rw -d "Export" /export

> > >     RNFS.Installed=True

> > >     ### NSM Part
> > >     NSM.Exec.MasterDir=/opt/SUNWcgha/actions/master
> > >     NSM.Exec.ViceMasterDir=/opt/SUNWcgha/actions/vicemaster

> > >     NSM.Log.MasterDir=/var/run/SUNWcgha/actions/master
> > >     NSM.Log.ViceMasterDir=/var/run/SUNWcgha/actions/vicemaster

> > >     NSM.External.Master.Address=192.168.12.39
> > >     NSM.External.Master.NIC=hme0:3
> > >     NSM.External.Master.Broadcast=192.168.255.255

> > >     NSM.External.Master.RouteAdd=default 192.168.12.250
> > >     NSM.External.Master.RouteDelete=default 192.168.12.250

> Example 2. Example of the `nhfs.conf` File on a Diskless Node

> > >     ### Common part
> > >     Node.DomainId=250
> > >     Node.NIC0=hme0:1
> > >     Node.NIC1=hme1
> > >     Node.NICCGTP=cgtp0
> > >     Node.UseCGTP=True
> > >     Node.type=Diskless

> > >     ### CMM part
> > >     CMM.IsEligible=False
> > >     CMM.LocalConfig.Dir=/etc/opt/SUNWcgha
> > >     CMM.CurrentNodeName=netraDISKLESS1

> Example 3. Example of the `nhfs.conf` File on a Dataless Node

> > >     Node.NICCGTP=cgtp0
> > >     Node.UseCGTP=True
> > >     Node.NIC1=eri1
> > >     Node.NIC0=eri0
> > >     Node.DomainId=250
> > >     Node.Type=Dataless

> > >     CMM.IsEligible=False
> > >     CMM.LocalConfig.Dir=/etc/opt/SUNWcgha
> > >     CMM.CurrentNodeName=netraDATALESS1

## ATTRIBUTES

> See `attributes`(5) for descriptions of the following attributes:

> ATTRIBUTE TYPE | ATTRIBUTE VALUE
> --- | ---
> Architecture | SPARC
> Availability | SUNWnhcdt
> Interface Stability | Evolving

## SEE ALSO

> `init`(1m), `nhcrfsd`(1M), `nhcmmd`(1M), `share`(1m), `nhenablesync`(1m), `nhpmd`(1M), `nhnsmd`(1M), `cluster_nodes_table`(4)

Netra HAS FS 2.1 | Go To Top | Last Changed September 2004

Company Info | Contact | Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.