
There are three levels of cluster[1] membership, each one allowing different actions and each requiring the one before it.
The first and lowest is that provided by Heartbeat[2]. This level allows messages to be sent to other nodes[3] on the network also running Heartbeat and provides notification of other ClusterNodes[4] coming up or going down. In its current incarnation, this level also allows you to perform ResourceAllocation[5] between two ClusterNodes[4], this will no longer be the case once the new ClusterResourceManager[6] is mandatory.
The next level is that provided by the ClusterConsensusManager[7]. This level provides interested parties with a list of FullyConnected[8] ClusterNodes[4] by subscribing to the node-up, node-down events from Heartbeat and by also using it as a reliable messaging layer to send "ping" messages to other ClusterNodes[4] as well as other wonderful things I'll come back to one day.
The third is provided by ClusterResourceManager[6]. This level allows ResourceAllocation[5] across N ClusterNodes[4]. It utilizes the list of FullyConnected[8] ClusterNodes[4] provided by the ClusterConsensusManager[7] to elect a DesignatedController[9].
| [1] | http://en.wikipedia.org/wiki/Computer_cluster |
| [2] | http://www.linux-ha.org/HeartbeatProgram |
| [3] | http://www.linux-ha.org/ClusterNode |
| [4] | http://www.linux-ha.org/ClusterNodes |
| [5] | http://www.linux-ha.org/ResourceAllocation |
| [6] | http://www.linux-ha.org/ClusterResourceManager |
| [7] | http://www.linux-ha.org/ClusterConsensusManager |
| [8] | http://www.linux-ha.org/FullyConnected |
| [9] | http://www.linux-ha.org/DesignatedController |
This information provided courtesy of the Linux-HA project at http://linux-ha.org/