“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-cfscommands (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

Page 335
Image 335
HP Serviceguard manual Fuser -kulogical-volume umount logical-volume