Managing HP Serviceguard for Linux Ninth Edition, April 2009

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 208) 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 198) 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
How Packages Run 67