This configuration has two packages, each owned by a different
server. The adoptive node for both packages is the same host. This
sample configuration uses the package control option, which prevents
the adoptive node from adopting another package if it has already
adopted one. Figure 3-3 “One Adoptive
Node for Two Packages” illustrates
this configuration. Figure 3-4 “One Adoptive
Node for Two Packages After One Server Fails”
shows the same configuration after one primary server has failed.
Figure 3-4 “One Adoptive
Node for Two Packages After One Server Fails” shows this sample
configuration after host basil
has failed. Host sage
has adopted pkg02.
The package control option prevents host sage
from adopting another package, so host sage
is no longer an adoptive node for pkg01.
Cluster Configuration File for Adoptive Node for Two
Packages |
 |
This section shows the cluster configuration file (cluster.conf)
for this configuration example. The comments are not shown.
CLUSTER_NAME PkgCtrl FIRST_CLUSTER_LOCK_VG /dev/nfsu01 NODE_NAME thyme NETWORK_INTERFACE lan0 HEARTBEAT_IP 15.13.119.146 NETWORK_INTERFACE lan1 FIRST_CLUSTER_LOCK_PV /dev/dsk/c0t1d0 NODE_NAME basil NETWORK_INTERFACE lan0 HEARTBEAT_IP 15.13.113.168 FIRST_CLUSTER_LOCK_PV /dev/dsk/c1t1d0 NODE_NAME sage NETWORK_INTERFACE lan0 HEARTBEAT_IP 15.13.115.184 NETWORK_INTERFACE lan1 NETWORK_INTERFACE lan2 NETWORK_INTERFACE lan3 FIRST_CLUSTER_LOCK_PV /dev/dsk/c0t1d0 HEARTBEAT_INTERVAL 1000000 NODE_TIMEOUT 2000000 AUTO_START_TIMEOUT 600000000 NETWORK_POLLING_INTERVAL 2000000 VOLUME_GROUP /dev/nfsu01 VOLUME_GROUP /dev/nfsu02 |
Package Configuration File for pkg01 |
 |
This section shows the package configuration file (nfs1.conf)
for the package pkg01
in this sample configuration. The comments are not shown.
PACKAGE_NAME pkg01 NODE_NAME thyme NODE_NAME sage RUN_SCRIPT /etc/cmcluster/nfs/nfs1.cntl RUN_SCRIPT_TIMEOUT NO_TIMEOUT HALT_SCRIPT /etc/cmcluster/nfs/nfs1.cntl HALT_SCRIPT_TIMEOUT NO_TIMEOUT SERVICE_NAME nfs1.monitor SERVICE_FAIL_FAST_ENABLED NO SERVICE_HALT_TIMEOUT 300 SUBNET 15.13.112.0 PKG_SWITCHING_ENABLED YES NET_SWITCHING_ENABLED YES NODE_FAIL_FAST_ENABLED NO |
NFS Control Script for pkg01 |
 |
This section shows the NFS control script (nfs1.cntl)
for the package pkg01
in this sample configuration. Only the user-configured part of the
script is shown; the executable part of the script and most of the
comments have been omitted.
PATH=/sbin:/usr/bin:/usr/sbin:/etc:/bin #VGCHANGE="vgchange -a e -q n" #VGCHANGE="vgchange -a y" VGCHANGE="vgchange -a e" # Default VG[0]=nfsu01 LV[0]=/dev/nfsu01/lvol1; FS[0]=/hanfs/nfsu011 XFS[0]=/hanfs/nfsu011 IP[0]=15.13.114.243 SUBNET[0]=15.13.112.0 NFS_SERVICE_NAME[0]="nfs1.monitor" NFS_SERVICE_CMD[0]="/etc/cmcluster/nfs/nfs.mon" #NFS_SERVICE_RESTART[0]= function customer_defined_run_cmds { cmmodpkg -d -n 'hostname' pkg02 & } |
The function customer_defined_run_cmds
calls the cmmodpkg
command with the package control option (-d).
This command prevents the host that is running pkg01
from adopting pkg02.
The ampersand (&) causes the cmmodpkg
command to run in the background.
It must run in the background
to allow the control script to complete.
There is a short time, after one primary node has failed but
before the cmmodpkg
command has executed, when the other primary node can fail and the
adoptive node will adopt its package. In other words, if both thyme
and basil fail
at approximately the same time, host sage
may adopt two 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.
Package Configuration File for pkg02 |
 |
This section shows the package configuration file (nfs2.conf)
for the package pkg02
in this sample configuration. The comments are not shown.
PACKAGE_NAME pkg02 NODE_NAME basil NODE_NAME sage RUN_SCRIPT /etc/cmcluster/nfs/nfs2.cntl RUN_SCRIPT_TIMEOUT NO_TIMEOUT HALT_SCRIPT /etc/cmcluster/nfs/nfs2.cntl HALT_SCRIPT_TIMEOUT NO_TIMEOUT SERVICE_NAME nfs2.monitor SERVICE_FAIL_FAST_ENABLED NO SERVICE_HALT_TIMEOUT 300 SUBNET 15.13.112.0 PKG_SWITCHING_ENABLED YES NET_SWITCHING_ENABLED YES NODE_FAIL_FAST_ENABLED NO |
NFS Control Script for pkg02 |
 |
This section shows the NFS control script (nfs2.cntl)
for the package pkg02
in this sample configuration. Only the user-configured part of the
script is shown; the executable part of the script and most of the
comments have been omitted.
PATH=/sbin:/usr/bin:/usr/sbin:/etc:/bin #VGCHANGE="vgchange -a e -q n" #VGCHANGE="vgchange -a y" VGCHANGE="vgchange -a e" # Default VG[0]=nfsu02 LV[0]=/dev/nfsu02/lvol1; FS[0]=/hanfs/nfsu021 XFS[0]=/hanfs/nfsu021 IP[0]=15.13.114.244 SUBNET[0]=15.13.112.0 NFS_SERVICE_NAME[0]="nfs2.monitor" NFS_SERVICE_CMD[0]="/etc/cmcluster/nfs/nfs.mon" #NFS_SERVICE_RESTART[0]= function customer_defined_run_cmds { cmmodpkg -d -n 'hostname' pkg01 & } |
The function customer_defined_run_cmds
calls the cmmodpkg
command with the package control option (-d).
This command prevents 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 complete.
There is a short time, after one primary node has failed but
before the cmmodpkg
command has executed, when the other primary node can fail and the
adoptive node will adopt its package. In other words, if both thyme
and basil fail
at approximately the same time, host sage
may adopt two 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.