Managing HP Serviceguard for Linux, Eighth Edition, March 2008

Planning and Documenting an HA Cluster
Package Configuration Planning
Chapter 4128
—if pkg2 has failed back to node1 and node1 does not meet
all of pkg1’s dependencies, pkg1 will halt.
If pkg1 depends on pkg2, and pkg1’s priority is higher than
pkg2’s, pkg1’s node order dominates. Assuming pkg1s node order is
node1, node2, node3, then:
•On startup:
pkg1 will select node1 to start on.
pkg2 will start on node1, provided it can run there (no matter
where node1 appears on pkg2’s node_name list).
—If pkg2 is already running on another node, it will be dragged
to node1, provided it can run there.
—If pkg2 cannot start on node1, then both packages will attempt to
start on node2 (and so on).
Note that the nodes will be tried in the order of pkg1’s node_name
list, and pkg2 will be dragged to the first suitable node on that list
whether or not it is currently running on another node.
On failover:
—If pkg1 fails on node1, pkg1 will select node2 to fail over to (or
node3 if it can run there and node2 is not available or does not
meet all of its dependencies; etc.)
pkg2 will be dragged to whatever node pkg1 has selected, and
restart there; then pkg1 will restart there.
On failback:
If both packages have moved to node2 and node1 becomes
available, pkg1
will fail back to node1 if both packages can run
there;
otherwise, neither package will fail back.
Guidelines
As you can see from the “Dragging Rules” on page 125, if pkg1 depends
on pkg2, it can sometimes be a good idea to assign a higher priority to
pkg1, because that provides the best chance for a successful failover (and
failback) if pkg1 fails.