Managing Serviceguard Nineteenth Edition, Reprinted June 2011
NOTE: Be careful when defining service run commands. Each run command is executed in the
following way:
• The cmrunserv command executes the run command.
• Serviceguard monitors the process ID (PID) of the process the run command creates.
• When the command exits, Serviceguard determines that a failure has occurred and takes
appropriate action, which may include transferring the package to an adoptive node.
• If a run command is a shell script that runs some other command and then exits, Serviceguard
will consider this normal exit as a failure.
Make sure that each run command is the name of an actual service and that its process remains
alive until the actual service stops. One way to manage this is to configure a package such that
the service is actually a monitoring program that checks the health of the application that constitutes
the main function of the package, and exits if it finds the application has failed. The application
itself can be started by an external_script (page 239).
This parameter is in the package control script for legacy packages.
service_restart
The number of times Serviceguard will attempt to re-run the service_cmd. Valid values are
unlimited, none or any positive integer value. Default is none.
If the value is unlimited, the service will be restarted an infinite number of times. If the value is
none, the service will not be restarted.
This parameter is in the package control script for legacy packages.
service_fail_fast_enabled
Specifies whether or not Serviceguard will halt the node (system reset) on which the package is
running if the service identified by service_name fails. Valid values are yes and no. Default is
no, meaning that failure of this service will not cause the node to halt. yes is not meaningful if
service_restart is set to unlimited.
service_halt_timeout
The length of time, in seconds, Serviceguard will wait for the service to halt before forcing
termination of the service’s process. The maximum value is 4294.
The value should be large enough to allow any cleanup required by the service to complete.
If no value is specified, a zero timeout will be assumed, meaning that Serviceguard will not wait
any time before terminating the process.
resource_name
The name of a resource to be monitored.
resource_name, in conjunction with resource_polling_interval, resource_start
and resource_up_value, defines an Event Monitoring Service (EMS) dependency.
In legacy packages, RESOURCE_NAME in the package configuration file requires a corresponding
DEFERRED_RESOURCE_NAME in the package control script.
You can find a list of resources in Serviceguard Manager (Configuration -> Create Package
-> Monitored Resources -> Available EMS resources), or in the documentation
supplied with the resource monitor.
A maximum of 60 EMS resources can be defined per cluster. Note also the limit on
resource_up_value (see below).
The maximum length of the resource_name string is 1024 characters.
Choosing Package Modules 233