Managing Serviceguard A.11.20, March 2013

Example: Halting the Cluster for Maintenance on the Heartbeat Subnets
Suppose that you need to do networking maintenance that will disrupt all the cluster's heartbeat
subnets, but it is essential that the packages continue to run while you do it. In this example we'll
assume that packages pkg1 through pkg5 are unsupported for Live Application Detach, and pkg6
through pkgn are supported.
Proceed as follows:
1. Halt all the unsupported packages:
cmhaltpkg pkg1 pkg2 pkg3 pkg4 pkg5
2. Halt the cluster, detaching the remaining packages:
cmhaltcl -d
3. Upgrade the heartbeat networks as needed.
4. Restart the cluster, automatically re-attaching pkg6 through pkgn and starting any other
packages that have auto_run (page 239) set to yes in their package configuration file:
cmruncl
5. Start the remaining packages; for example
cmmodpkg -e pkg1 pkg2 pkg3 pkg4 pkg5
Managing Packages and Services
Managing packages and services involves the following tasks:
Starting a package
Halting a package
Moving a package (halt, then start)
Changing package switching behavior
Maintaining a package using maintenance mode
Non-root users with the appropriate privileges can perform these tasks. See “Controlling Access
to the Cluster” (page 197) for information about configuring access.
You can use Serviceguard Manager or the Serviceguard command line to perform these tasks.
Starting a Package
Ordinarily, when a cluster starts up, the packages configured as part of the cluster will start up on
their configured nodes. You may need to start a package manually after it has been halted manually.
You can do this either in Serviceguard Manager or on the Serviceguard command line.
If any package has a configured dependency on another package, Serviceguard will start them
in order, ensuring that a package will not start until its dependency is met.
You can use Serviceguard Manager, or Serviceguard commands as shown below, to start a
package.
The cluster must be running, and if the package is dependent on other packages, those packages
must be either already running, or started by the same command that starts this package (see the
section that follows, and About Package Dependencies” (page 142).)
Starting a Package that Has Dependencies
Before starting a package, it is a good idea to use the cmviewcl command to check for package
dependencies.
You cannot start a package unless all the packages that it depends on are running. If you try, you’ll
see a Serviceguard message telling you why the operation failed, and the package will not start.
288 Cluster and Package Maintenance