NOTE: Keep the following in mind when reading the examples that follow, and when actually configuring priorities:

1.auto_run (page 235) should be set to yes for all the packages involved; the examples assume that it is.

2.Priorities express a ranking order, so a lower number means a higher priority (10 is a higher priority than 30, for example).

HP recommends assigning values in increments of 20 so as to leave gaps in the sequence; otherwise you may have to shuffle all the existing priorities when assigning priority to a new package.

no_priority, the default, is treated as a lower priority than any numerical value.

3.All packages with no_priority are by definition of equal priority, and there is no other way to assign equal priorities; a numerical priority must be unique within the cluster. See priority (page 238) for more information.

In a simple dependency, if pkg1 depends on pkg2, and pkg1’s priority is lower than or equal to pkg2’s, pkg2’s node order dominates. Assuming pkg2’s node order is node1, node2, node3, then:

On startup:

pkg2 will start on node1, or node2 if node1 is not available or does not at present meet all of its dependencies, etc.

pkg1 will start on whatever node pkg2 has started on (no matter where that node appears on pkg1’s node_name list) provided all of pkg1’s other dependencies are met there.

If the node where pkg2 has started does not meet all pkg1’s dependencies, pkg1 will not start.

On failover:

If pkg2 fails on node1, pkg2 will fail over to node2 (or node3 if node2 is not available or does not currently meet all of its dependencies, etc.)

pkg1 will fail over to whatever node pkg2 has restarted on (no matter where that node appears on pkg1’s node_name list) provided all of pkg1’s dependencies are met there.

If the node where pkg2 has restarted does not meet all pkg1’s dependencies, pkg1 will not restart.

If pkg1 fails, pkg1 will not fail over.

This is because pkg1 cannot restart on any adoptive node until pkg2 is running there, and pkg2 is still running on the original node. pkg1 cannot drag pkg2 because it has insufficient priority to do so.

On failback:

If both packages have moved from node1 to node2 and node1 becomes available, pkg2 will fail back to node1 only if pkg2’s priority is higher than pkg1’s:

If the priorities are equal, neither package will fail back (unless pkg1 is not running; in that case pkg2 can fail back).

If pkg2’s priority is higher than pkg1’s, pkg2 will fail back to node1; pkg1 will fail back to node1 provided all of pkg1’s other dependencies are met there;

if pkg2 has failed back to node1 and node1 does not meet all of pkg1’s dependencies, pkg1 will halt.

140 Planning and Documenting an HA Cluster

Page 140
Image 140
HP Serviceguard manual Planning and Documenting an HA Cluster