Managing Serviceguard NFS for Linux, March 2009
Also, add cmmodpkg command with package control option (-e ) in the
customer_defined_halt_cmds for enabling the package pkg02 when the package pkg01
is halted. For example:
function customer_defined_halt_cmds
{
cmmodpkg -e -n `hostname` pkg02 &
}
This package control function 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, disabling of pkg02 would prevent the
host that is running pkg01 from adopting pkg02, and once the package pkg01 is halted in the
node the pkg02 is enabled by the command cmmodpkg –e in the
customer_defined_halt_cmds. The ampersand (&) causes the cmmodpkg command to run
in the background.
The cmmodpkg command in the background allows the control script to complete and finish
bringing up the package. There is a small window of time, during which if one package has
begun to fail over but the cmmodpkg command has not executed, 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. If you omit the cmmodpkg -d
command from the NFS control script, host sage can adopt both pkg01 and pkg02 if their
primary nodes fail.
NOTE: The above changes in the customer_defined_halt_cmds and
customer_defined_run_cmds must be done only in the package control scripts of the adoptive
node and not on the package control script of the primary node.
If there are more than two packages, repeat the cmmodpkg command as many times required
with other package names. User may consider making FAILBACK_POLICY as AUTOMATIC to
free the adoptive node as early as possible so that adoptive node is ready to accept pkg02 in
case it fails.
NFS Toolkit Configuration File for pkg01
This section shows the NFS Toolkit configuration file (hanfs.conf) for the package pkg01 on
this sample configuration:
XFS[0]="-o rw *:/hanfs/nfsu011"
QUOTA_MON=YES
LOCK_MIGRATION=NO
Package Configuration File for pkg02
This section shows the package configuration file (pkg02.conf) for the package pkg02 in this
sample configuration. The comments are not shown.
PACKAGE_NAME pkg02
PACKAGE_TYPE FAILOVER
FAILOVER_POLICY CONFIGURED_NODE
FAILBACK_POLICY MANUAL
NODE_NAME basil
NODE_NAME sage
AUTO_RUN YES
NODE_FAIL_FAST_ENABLED NO
RUN_SCRIPT /usr/local/cmcluster/pkg02/pkg02.cntl
RUN_SCRIPT_TIMEOUT NO_TIMEOUT
HALT_SCRIPT /usr/local/cmcluster/pkg02/pkg02.cntl
HALT_SCRIPT_TIMEOUT NO_TIMEOUT
SERVICE_NAME nfs2.monitor
Configuring One Adoptive Node to Support Failover of Multiple Packages 43