Managing HP Serviceguard for Linux, Tenth Edition, September 2012

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
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.
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 or Subnet Fails, or a Dependency is Not Met
What happens when something goes wrong? If a service fails and there are no more
restarts, or if a configured dependency on another 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 (page 217) 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 (page 206) 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.
NOTE: If a package is dependent on a subnet, and the subnet on the primary node
fails, the package will start to shut down. If the subnet recovers immediately (before the
package is restarted on an adoptive node), the package manager restarts the package
on the same node; no package switch occurs.
When a Package is Halted with a Command
The Serviceguard cmhaltpkg command has the effect of executing the package halt
script, which halts the services that are running for a specific package. This provides a
64 Understanding Serviceguard Software Components