Serviceguard NFS Toolkit A.11.11.06, A.11.23.05 and A.11.31.08 Administrator's Guide (October 2011)
of a node or network failure. The NFS monitor script causes the package failover if any of the
monitored NFS services fails.
6. If you run the NFS monitor script, set the NFS_SERVICE_CMD variable to the full path name
of the NFS monitor script.
NFS_SERVICE_CMD[0]=/etc/cmcluster/nfs/nfs.mon
The path name for the executable script does not have to be unique to each package. Every
package can use the same script. Multiple instances of the monitor script can run on the same
node without any problems, and if a package fails over, only the instance associated with
that package is killed.
If you do not want to run the NFS monitor script, comment out the NFS_SERVICE_NAME and
NFS_SERVICE_CMD variables:
# NFS_SERVICE_NAME[0]=nfs.monitor
# NFS_SERVICE_CMD[0]=/etc/cmcluster/nfs/nfs.mon
By default, the NFS_SERVICE_NAME and NFS_SERVICE_CMD variables are commented out,
and the NFS monitor script is not run.
7. If two packages have the same adoptive node, and you want to prevent the adoptive node
from adopting both packages at once, specify the cmmodpkg command with the package
control option (-d) in the customer_defined_run_cmds.
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 69)
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.
Configuring a Serviceguard NFS Legacy Package 27