Serviceguard NFS Toolkit A.11.11.06, A.11.23.05 and A.11.31.03 Administrator's Guide
function customer_defined_run_cmds
{
cmmodpkg -d -n 'hostname' pkg02 &
}
The package control option can prevent an adoptive node from becoming overloaded when
multiple packages fail over. If an adoptive node becomes overloaded, it can fail.
In this example, if a host is an adoptive node for both pkg01 and pkg02, the above cmmodpkg
-d command, in the control script for pkg01, would prevent the host that is running pkg01
from adopting pkg02. A similar line in the control script for pkg02 could prevent the host that
is running pkg02 from adopting pkg01. The ampersand (&) causes the cmmodpkg command
to run in the background. It must run in the background to allow the control script to finish
bringing up the package. The cmmodpkg command will hang until the package is up, so it must
run in the background to allow the control script to complete.
There is a short time, after one package has failed over but before the cmmodpkg command has
executed, when the other package can fail over and the host will adopt it. In other words, if two
packages fail over at approximately the same time, a host may adopt both packages, even though
the package control option is specified.
See “Example Two - One Adoptive Node for Two Packages with File Lock Migration” (page 53)
for a sample configuration using the package control option.
Editing the NFS Control Script (hanfs.sh)
The hanfs.sh control script contains NFS specific control variables and functions. The sample
steps are as follows:
1. Create a separate XFS[n] variable for each NFS directory to be exported. Specify the directory
name and any export options. The directories must be defined in the above mounted file
system FS list.
XFS[0]="-o ro /pkg1a" XFS[1]="-o rw /pkg1b"
Do not configure these exported directories in the/etc/exports file. When an NFS server
boots up, it attempts to export all file systems in its /etc/exports file. If those file systems
are not currently present on the NFS server node, the node cannot boot properly. This
happens if the server is an adoptive node for a file system, and the file system is available
on the server only after failover of the primary node.
“-o fsid=<number>” must be used to force the file system ID portion of the file handle to be
<number> when clusters are composed of mixed architectures such as HP Integrity servers
and HP 9000 Series 800 computers over CFS. A value between 1 and 32767 may be used,
but must be unique among the shared file systems. See share_nfs(1m) for detailed information.
2. If you wish to monitor NFS services (by running the NFS monitor script), set the
NFS_SERVICE_NAME and NFS_SERVICE_CMD variables; see the following example:
NFS_SERVICE_NAME[0]=nfs1.monitor
NFS_SERVICE_CMD[0]=/etc/cmcluster/nfs/nfs.mon
If you enable the File Lock Migration feature, ensure that the monitor script name is unique
for each package (for example, nfs1.mon). If the File Lock Migration feature is disabled,
the monitor script name does not have to be unique to each package (for example, nfs.mon).
Multiple instances of the monitor script can run on the same node without any problem. If
a package fails over, only the instance associated with that package is killed.
3. You do not have to run the NFS monitor script. If your NFS package configuration file
specifies AUTO_RUN YES and LOCAL_LAN_FAILOVER_ALLOWED YES (the defaults), the
package switches to the next adoptive node or to a standby network interface in the event
30 Installing and Configuring Serviceguard NFS