HP Serviceguard A.11.20- Managing Serviceguard Twentieth Edition, August 2011

“Halted.” Similarly, when a package control script fails, Serviceguard kills the script and marks
the package “Halted.” In both cases, the following also take place:
Control of a failover package will not be transferred.
The run or halt instructions may not run to completion.
auto_run (automatic package switching) will be disabled.
The current node will be disabled from running the package.
Following such a failure, since the control script is terminated, some of the package's resources
may be left activated. Specifically:
Volume groups may be left active.
File systems may still be mounted.
IP addresses may still be installed.
Services may still be running.
CAUTION: Do not use the HP-UX mount and umount commands in a CFS cluster. Use cfsmount
and cfsumount for legacy CFS packages; cmhaltpkg and cmrunpkg for modular CFS packages.
Non-cfs commands (such as mount -o cluster, dbed_chkptmount, or sfrac_chkptmount)
could cause conflicts with subsequent command operations on the file system or Serviceguard
packages. These mount commands will not create an appropriate multi-node package, with the
result that the cluster packages are not aware of the file system changes.
In this kind of situation, Serviceguard will not restart the package without manual intervention. You
must clean up manually before restarting the package. Use the following steps as guidelines:
1. Perform application-specific cleanup. Any application-specific actions the control script might
have taken should be undone to ensure successfully starting the package 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; use the cmmodnet(1m)
command.
First determine which package IP addresses are installed by inspecting the output of netstat
-in. If any of the IP addresses specified in the package control script appear in the netstat
output under the Address column for IPv4 or the Address column for IPv6, use cmmodnet
to remove them:
cmmodnet -r -i <ip-address> <subnet>
where <ip-address> is the address in the Address or the Address column and <subnet>
is the corresponding entry in the Network column for IPv4, or the prefix (which can be derived
from the IPV6 address) for IPv6.
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 bdf -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>
Solving Problems 335