Managing HP Serviceguard for Linux, Tenth Edition, September 2012

on an alternate node. This might include such things as shutting down application
processes, removing lock files, and removing temporary files.
2. Ensure that package IP addresses are removed from the system. This step is
accomplished via the cmmodnet(1m) command. First determine which package
IP addresses are installed by inspecting the output resulting from running the
ifconfig command. If any of the IP addresses specified in the package control
script appear in the ifconfig output under the inet addr: in the ethX:Y block,
use cmmodnet to remove them:
cmmodnet -r -i <ip-address> <subnet>
where <ip-address> is the address indicated above and <subnet> is the result
of masking the <ip-address> with the mask found in the same line as the inet
address in the ifconfig output.
3. Ensure that package volume groups are deactivated. First unmount any package
logical volumes which are being used for file systems. This is determined by inspecting
the output resulting from running the command df -l. If any package logical
volumes, as specified by the LV[] array variables in the package control script,
appear under the “Filesystem” column, use umount to unmount them:
fuser -ku <logical-volume>
umount <logical-volume>
Next, deactivate the package volume groups. These are specified by the VG[] array
entries in the package control script.
vgchange -a n <volume-group>
4. Finally, re-enable the package for switching.
cmmodpkg -e <package-name>
If after cleaning up the node on which the timeout occurred it is desirable to have
that node as an alternate for running the package, remember to re-enable the
package to run on the node:
cmmodpkg -e -n <node-name> <package-name>
The default Serviceguard control scripts are designed to take the straightforward steps
needed to get an application running or stopped. If the package administrator specifies
a time limit within which these steps need to occur and that limit is subsequently exceeded
for any reason, Serviceguard takes the conservative approach that the control script logic
must either be hung or defective in some way. At that point the control script cannot be
trusted to perform cleanup actions correctly, thus the script is terminated and the package
administrator is given the opportunity to assess what cleanup steps must be taken.
If you want the package to switch automatically in the event of a control script timeout,
set the node_fail_fast_enabled parameter (page 207) to YES. In this case,
Serviceguard will cause a reboot on the node where the control script timed out. This
effectively cleans up any side effects of the package’s run or halt attempt. In this case
Solving Problems 303