Managing Serviceguard Eighteenth Edition, September 2010

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.
During normal operation, while all services are running, you can see the status of the
services in the “Script Parameters” section of the output of the cmviewcl command.
When a Service, Subnet, or Monitored Resource Fails, or a Dependency is Not Met
What happens when something goes wrong? If a service fails and there are no more
restarts, if a subnet fails and there are no standbys, if a configured resource fails, or if
a configured dependency on a special-purpose package is not met, then a failover
package will halt on its current node and, depending on the setting of the package
switching flags, may be restarted on another node. If a multi-node or system multi-node
package fails, all of the packages that have configured a dependency on it will also fail.
Package halting normally means that the package halt script executes (see the next
section). However, if a failover package’s configuration has the service_fail_fast_enabled
flag set to yes for the service that fails, then the node will halt as soon as the failure is
detected. If this flag is not set, the loss of a service will result in halting the package
gracefully by running the halt script.
If auto_run is set to yes, the package will start up on another eligible node, if it meets
all the requirements for startup. If auto_run is set to no, then the package simply halts
without starting up anywhere else.
How Packages Run 85