Serviceguard NFS Toolkit A.11.11.06, A.11.23.05 and A.11.31.05 Administrator's Guide
defaults), the package will switch to the next adoptive node or to a standby network interface
in the event 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 71)
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
Configuring a Serviceguard NFS Legacy Package 31