Managing Serviceguard Extension for SAP on Linux (IA64 Integrity and x86_64), April 2009

Serviceguard Extension for SAP on Linux File Structure
The Linux distribution of Serviceguard uses a special file, /etc/cmcluster.config, to define the path
locations for configuration and log files within the Linux file system. These paths differ depending on the
Linux distribution.
NOTE: In this document, references to ${SGCONF} can be replaced by the definition of the variable that
is found in this file /etc/cmcluster.config. The default values are:
SGCONF=/opt/cmcluster/conf for SUSE Linux
SGCONF=/usr/local/cmcluster/conf for Redhat Linux
The contents of this directory and any sub-directories must be synchronized manually on all nodes of the
cluster.
Serviceguard and SGeSAP/LX Specific Package Files
Serviceguard package files are of two different file types - package configuration files and package control
script files:
xxx.config - Serviceguard package configuration file. This file contains configuration data for a specific
Serviceguard package such as package name and the Serviceguard xxx.sh script to execute in the start
or stop case.
xxx.control.script - Serviceguard package control script. This file contains more configuration data
such as storage volumes to mount or unmount for this package and the SGeSAP/LX sapwas.sh script to
execute in the start or stop case.
The cmapplyconf(1m)command together with the above two files (xxx.config and
xxx.control.script) is used to create a Serviceguard package "xxx". The cmapplyconf command
generates or updates the data that is stored in the binary configuration file ${SGCONF}/cmclconf and
distributes it to all cluster nodes. The following are examples for a one package and two package
SGeSAP configuration:
SAP in one-package:
dbci<SID>.config, dbci<SID>.control.script
SAP in two-package ssh:
db<SID>.config: db<SID>.control.script
ci<SID>.config, ci<SID>.control.script
NOTE:
A package control script file is a Linux bash script.
The files xxx.config and xxx.control.script mentioned above are specific to Serviceguard
and the Serviceguard packages and not related to SGeSAP/LX. So the files xxx.config and
xxx.control.script basically just define a Serviceguard package. The SGeSAP/LX specific scripts
will be executed by adding these to the functions customer_defined_run_cmds and
customer_defined_halt_cmds in file xxx.control.script.
Some SGeSAP/LX specific files are sap.config, sap.functions, customer.functions and
sapwas.sh. The entry into the SGeSAP/LX specific part begins with the execution of the sapwas.sh script
as mentioned in the "xxx.control.script" section above. The script sapwas.sh just provides a set of
basic function calls to start or stop a SAP instance or a database instance. The actual logic of these basic
functions resides in file sap.functions, a bash script. The script sap.functions itself requires a
configuration file sap.config for determining the SAP instance number, or the SAP instance type or the
database used for this SAP instance. Finally the SGeSAP/LX script file customer functions can be used to
implement customer / site specific start and stop of commands.
Enqueue Replication 25