Managing Serviceguard A.11.20, March 2013
if a currently disabled package has package switching enabled, or if a package halts and cannot
restart because none of the nodes on its node_list is available.
Serviceguard provides two ways to do this: you can use the preview mode of Serviceguard
commands, or you can use the cmeval (1m) command to simulate different cluster states.
Alternatively, you might want to model changes to the cluster as a whole; cmeval allows you to
do this; see “Using cmeval” (page 299).
What You Can Preview
You can preview any of the following, or all of them simultaneously:
• Cluster bring-up (cmruncl)
• Cluster node state changes (cmrunnode, cmhaltnode)
• Package state changes (cmrunpkg, cmhaltpkg)
• Package movement from one node to another
• Package switching changes (cmmodpkg -e)
• Availability of package subnets, EMS resources, and storage
• Changes in package priority, node order, dependency, failover and failback policy, node
capacity and package weight
Using Preview mode for Commands and in Serviceguard Manager
The following commands support the -t option, which allows you to run the command in preview
mode:
• cmhaltnode [–t] [–f] <node_name>
• cmrunnode [–t] <node_name>
• cmhaltpkg [–t] <package_name>
• cmrunpkg [–t] [-n node_name] <package_name>
• cmmodpkg { -e [-t] | -d } [-n node_name] <package_name>
• cmruncl –v [–t]
NOTE: You cannot use the -t option with any command operating on a package in maintenance
mode; see “Maintaining a Package: Maintenance Mode” (page 292).
For more information about these commands, see their respective manpages. You can also perform
these preview functions in Serviceguard Manager: check the Preview [...] box for the action
in question.
When you use the -t option, the command, rather than executing as usual, predicts the results
that would occur, sending a summary to $stdout. For example, assume that pkg1 is a high-priority
package whose primary node is node1, and which depends on pkg2 and pkg3 to run on the
same node. These are lower-priority packages which are currently running on node2. pkg1 is
down and disabled, and you want to see the effect of enabling it:
cmmodpkg -e -t pkg1
You will see output something like this:
package:pkg3|node:node2|action:failing
package:pkg2|node:node2|action:failing
package:pkg2|node:node1|action:starting
package:pkg3|node:node1|action:starting
package:pkg1|node:node1|action:starting
cmmodpkg: Command preview completed successfully
298 Cluster and Package Maintenance