10.9. Configuring Server-Side Quorum

The configuration of quorum in a trusted storage pool determines the number of server failures that the trusted storage pool can sustain. If an additional failure occurs, the trusted storage pool becomes unavailable. It is essential that the trusted storage pool stops running, if too many server failures occur or if there is a problem with communication between the trusted storage pool nodes to prevent data loss.
Though the quorum ratio is configured at the trusted storage pool level, you can choose to or either not to enforce quorum on a particular volume by setting cluster.server-quorum-type volume option. For more information on this volume setting option, see Section 10.1, “Tuning Volume Options”.
Configuration of quorum is necessary to guard against network partitions in the trusted storage pool. A small set of nodes might be able to communicate together across a functioning part of a network but not be able to communicate with a different set of nodes in another part of the network. This can cause serious situations, such as split-brain in the distributed system. In a split-brain situation, at least one of the sets of nodes must stop running as a trusted storage pool.
Configuring Server-Side Quorum
You can configure the quorum percentage for the trusted storage pool. If the percentage of quorum is not met due to network outages, the bricks of the volume participating in quorum in those nodes are rendered offline. By default, the quorum is met if the percentage of active nodes are more than 50% to the total storage nodes. But if the user configures the ratio then quorum is considered to be met only if the percentage of active storage nodes to the total storage nodes is greater than or equal to set value.
To configure quorum:
# gluster volume set all cluster.server-quorum-ratio percentage%
For example, to set quorum to 51% on the trusted storage pool:
# gluster volume set all cluster.server-quorum-ratio 51%
Here, 51% means, at any given point of time more than half of the nodes in the trusted storage pool must be online and have network connectivity between them. If the network disconnect happens to the storage pool, then bricks running on those nodes are stopped to prevent further writes. For a two-node trusted storage pool it is important to set this value to be greater than 50% so that two nodes separated from each other do not both believe they have quorum simultaneously.