Using Serviceguard Extension for RAC, 7th Edition, September 2008
Use the following procedure to create a control scripts for the sample package pkg1.
First, generate a control script template:
# cmmakepkg -s /etc/cmcluster/pkg1/control.sh
You may customize the script, as described in the section, ““Customizing the Package Control
Script”.”
Customizing the Package Control Script
Check the definitions and declarations at the beginning of the control script using the information
in the Package Configuration worksheet. You need to customize as follows:
• Update the PATH statement to reflect any required paths needed to start your services.
• If you are using LVM, enter the names of volume groups to be activated using the VG[]
array parameters, and select the appropriate options for the storage activation command,
including options for mounting and unmounting filesystems, if desired. Do not use the
VXVM_DG[] or CVM_DG[] parameters for LVM volume groups.
• If you are using CVM, enter the names of disk groups to be activated using the CVM_DG[]
array parameters, and select the appropriate storage activation command,
CVM_ACTIVATION_CMD. Do not use the VG[] or VXVM_DG[] parameters for CVM disk
groups.
• If you are using VxVM disk groups without CVM, enter the names of VxVM disk groups
that will be imported using the VXVM_DG[] array parameters. Enter one disk group per
array element. Do not use theCVM_DG[] or VG[] parameters for VxVM disk groups
without CVM. Also, do not specify an activation command.
• Add the names of logical volumes and file systems that will be mounted on them.
• If you are using mirrored VxVM disks, specify the mirror recovery option VXVOL.
• Select the appropriate options for the storage activation command (not applicable for basic
VxVM disk groups), and also include options for mounting and unmounting filesystems,
if desired.
• Specify the filesystem mount retry and unmount count options.
• Define IP subnet and IP address pairs for your package.
• Add service name(s).
• Add service command(s)
• Add a service restart parameter, if desired.
NOTE: Use care in defining service run commands. Each run command is executed by the
control script in the following way:
• The cmrunserv command executes each run command and then monitors the process id
of the process created by the run command.
• When the command started by cmrunserv exits, Serviceguard determines that a failure
has occurred and takes appropriate action, which may include transferring the package to
an adoptive node.
• If a run command is a shell script that runs some other command and then exits, Serviceguard
will consider this normal exit as a failure.
To avoid problems in the execution of control scripts, ensure that each run command is the name
of an actual service and that its process remains alive until the actual service stops.
If you need to define a set of run and halt operations in addition to the defaults, create functions
for them in the sections under the heading CUSTOMER DEFINED FUNCTIONS.
104 Serviceguard Configuration for Oracle 9i RAC