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.
 |
 |  |
 |
 | NOTE: Setting the package control option (-d) of the cmmodpkg command, prevents host sage from adopting another package, so host sage is no longer an adoptive node for pkg01. This prevent the adoptive node (sage) from becomming overloaded when multiple packages
failover. |
 |
 |  |
 |
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 QS_HOST qs QS_POLLING_INTERVAL 300000000 NODE_NAME thyme NETWORK_INTERFACE eth0 HEARTBEAT_IP 192.100.112.146 NETWORK_INTERFACE eth1 NODE_NAME basil NETWORK_INTERFACE eth0 HEARTBEAT_IP 192.100.112.168 NODE_NAME sage NETWORK_INTERFACE eth0 HEARTBEAT_IP 192.100.112.184 NETWORK_INTERFACE eth1 NETWORK_INTERFACE eth2 HEARTBEAT_INTERVAL 1000000 NODE_TIMEOUT 5000000 AUTO_START_TIMEOUT 600000000 NETWORK_POLLING_INTERVAL 2000000 MAX_CONFIGURED_PACKAGES 4
|
Package
Configuration File for pkg01 |
 |
This section shows the package configuration file (pkg1.conf) for the package pkg01 in this sample configuration. The comments are
not shown.
PACKAGE_NAME pkg01 PACKAGE_TYPE FAILOVER FAILOVER_POLICY CONFIGURED_NODE FAILBACK_POLICY MANUAL NODE_NAME thyme NODE_NAME sage AUTO_RUN YES NODE_FAIL_FAST_ENABLED NO RUN_SCRIPT /usr/local/cmcluster/pkg1/pkg1.conf RUN_SCRIPT_TIMEOUT NO_TIMEOUT HALT_SCRIPT /usr/local/cmcluster/pgk1/pkg1.conf HALT_SCRIPT_TIMEOUT NO_TIMEOUT SERVICE_NAME nfs1.monitor SERVICE_FAIL_FAST_ENABLED NO SERVICE_HALT_TIMEOUT 300 SUBNET 192.100.112.0
|
Package
Control Script for pkg01 |
 |
This section shows the package control script (pkg1.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:usr/local/ cmcluster/bin RAIDTAB="/usr/local/cmcluster/conf/raidtab.sg" RAIDSTART="raidstart -c ${RAIDTAB}" RAIDSTOP="raidstop -c ${RAIDTAB}" VGCHANGE="vgchange -a y" # Default VG[0]="nfsu01" MD[0]="/dev/md0" LV[0]=/dev/nfsu01/lvol1; FS[0]=/hanfs/nfsu011; FS_TYPE[0]="ext2"; FS_MOUNT_OPT[0]="-o rw" # FS_UMOUNT_COUNT="" # FS_MOUNT_RETRY_COUNT="" IP[0]="192.100.112.243" SUBNET[0]="192.100.112.0" HA_APP_SERVER="pre-IP" #SERVICE_NAME[0]="" #SERVICE_CMD[0]="" #SERVICE_RESTART[0]=""
|
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.
NFS
Control Script for pkg01 |
 |
This section shows the NFS control script (hanfs.sh) for the package pkg03 on this sample configuration on the the user-configured
part of the script is shown:
XFS[0]="-o rw *:/hanfs/nfsu011" NFS_SERVICE_NAME[0]="nfs1.monitor" NFS_SERVICE_CMD[0]="/usr/local/cmcluster/pkg1/nfs.mon" NFS_SERVICE_RESTART[0]="-r 0"
|
Package
Configuration File for pkg02 |
 |
This section shows the package configuration file (pkg2.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/pkg2/pkg2.conf RUN_SCRIPT_TIMEOUT NO_TIMEOUT HALT_SCRIPT /usr/local/cmcluster/pgk2/pkg2.conf HALT_SCRIPT_TIMEOUT NO_TIMEOUT SERVICE_NAME nfs2.monitor SERVICE_FAIL_FAST_ENABLED NO SERVICE_HALT_TIMEOUT 300 SUBNET 192.100.112.0
|
Package
Control Script for pkg02 |
 |
This section shows the package control script (pkg2.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:usr/local/ cmcluster/bin RAIDTAB="/usr/local/cmcluster/conf/raidtab.sg" RAIDSTART="raidstart -c ${RAIDTAB}" RAIDSTOP="raidstop -c ${RAIDTAB}" VGCHANGE="vgchange -a y" # Default VG[0]="nfsu02" MD[0]="/dev/md1" LV[0]=/dev/nfsu02/lvol1; FS[0]=/hanfs/nfsu021; FS_TYPE[0]="ext2"; FS_MOUNT_OPT[0]="-o rw" # FS_UMOUNT_COUNT="" # FS_MOUNT_RETRY_COUNT="" IP[0]="192.100.112.244" SUBNET[0]="192.100.112.0" HA_APP_SERVER="pre-IP" #SERVICE_NAME[0]="" #SERVICE_CMD[0]="" #SERVICE_RESTART[0]=""
|
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.
NFS
Control Script for pkg02 |
 |
This section shows the NFS control script (hanfs.sh) for the package pkg02 on this sample configuration on the the user-configured
part of the script is shown:
XFS[0]="-o rw *:/hanfs/nfsu021" NFS_SERVICE_NAME[0]="nfs2.monitor" NFS_SERVICE_CMD[0]="/usr/local/cmcluster/pkg2/nfs.mon" NFS_SERVICE_RESTART[0]="-r 0" |