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.