The votequuorum library is delivered with the corosync project. It is the external interface to
the vote-based quorum service. This service is optionally loaded into all ndes in a corosync cluster
to avoid split-brain situations. It does this by having a number of votes assigned to each system
in the cluster and ensuring that only when a majority of the votes are present, cluster operations are
allowed to proceed.
The library provides a mechanism to:
* Query the quorum status
* Get a list of nodes known to the quorum service
* Receive notifications of quorum state changes
* Change the number of votes assigned to a node
* Change the number of expected votes for a cluster to be quorate
* Connect an additional quorum device to allow small clusters to remain quorate during node outages.
votequorum
reads its configuration from the objdb. The following keys are read when it starts up:
Most of those values can be changed while corosync is running with the following exceptions:
quorum.disallowed
cannot be changed, and
two_node
cannot be set on-the-fly, though it can be cleared. ie you can start with two nodes in the cluster
and add a third without rebooting all the nodes.
BUGS
This software is not yet production, so there may still be some bugs.