Clustering is an architecture of interconnected
servers that allows multiple hosts to run the same applications,
permitting the individual systems to be up or down. Applications
move easily between systems, accessing the same shared data from
different nodes at different times. The goal is to provide high
availability for the application and the data without endangering
the integrity of the data. Particularly, the cluster manager software must
ensure that when an application is running and processing data on
one node in the cluster, the same application does not inappropriately
start up on another node and begin processing the same data at the
same time. Cluster software must protect data integrity at all costs.
Different clustering solutions have adopted various methods
for ensuring the safety of data. Some solutions rely solely on redundant
membership links to ensure data integrity. Others, including the Serviceguard product
family, use a process called arbitration to
keep more than one incarnation of a cluster from running and starting
up a new instance of an application. The Serviceguard team has always
agreed that definitive arbitration should be used in high availability
systems that run mission-critical applications.
This paper describes some basic cluster membership concepts,
then discusses some different ways of determining cluster membership. Several
types of arbitration are shown with example configurations that illustrate
each type. Then the arbitration methods used by Serviceguard and
related products are presented in some detail.
of the arbitration methods mentioned in this paper are available only
on particular platforms or with specific types of configuration.
Other methods, while possible, have not been fully tested on all
types of systems. For details about support of particular kinds
of arbitration, refer to your platform’s Configuration
Guide, available through your HP representative.|