Managing Serviceguard Fifteenth Edition, reprinted May 2008
Understanding Serviceguard Software Components
How Packages Run
Chapter 392
Service Startup with cmrunserv
Within the package control script, the cmrunserv command starts up the
individual services. This command is executed once for each service that
is coded in the file. You can configure a number of restarts for each
service. The cmrunserv command passes this number to the package
manager, which will restart the service the appropriate number of times
if the service should fail. The following are some typical settings in a
legacy package; for more information about configuring services in
modular packages, see the discussion starting on page 297, and the
comments in the package configuration template file.
SERVICE_RESTART[0]=" " ; do not restart
SERVICE_RESTART[0]="-r <n>" ; restart as many as <n> times
SERVICE_RESTART[0]="-R" ; restart indefinitely
NOTE If you set <n> restarts and also set service_fail_fast_enabled to yes,
the failfast will take place after <n> restart attempts have failed. It does
not make sense to set service_restart to “-R” for a service and also set
service_fail_fast_enabled to yes.
While Services are Running
During the normal operation of cluster services, the package manager
continuously monitors the following:
• Process IDs of the services
• Subnets configured for monitoring in the package configuration file
• Configured resources on which the package depends
Some failures can result in a local switch. For example, if there is a
failure on a specific LAN card and there is a standby LAN configured for
that subnet, then the Network Manager will switch to the healthy LAN
card. If a service fails but the restart parameter for that service is set to
a value greater than 0, the service will restart, up to the configured
number of restarts, without halting the package.
If there is a configured EMS resource dependency and there is a trigger
that causes an event, the package will be halted.