Wednesday, March 26, 2008

All about "quorum" ....

quo·rum [Noun]

   1. The minimal number of officers and members of a committee or organization, usually a majority, who must be present for valid transaction of business.
   2. A select group.

                Voting disk is akin to the quorum disk

And for a cluster to run it needs a group of voting disks * to be active.

* The voting disk is nothing but a file that contains and manages information of all the node memberships.


Voting disks are accessed by every node about once per second so performance of those is not very critical. You shouldn't use 2 voting disks - use either 1 or 3 (5 is also possible but doesn't make sense usually). The reason for that is that *majority* of voting disks should be available for cluster to operate. If one voting disk out of three fails - other 2 (majority) is still available. If you have two voting disks that majority is only two and if one voting disk fails - cluster goes down. So with two voting disks availability is even lower as it's enough to one of two disks to fail.

* The majority comes from the fact that you need a quorum of the voting disks to have a valid clsuter.


Actually, there are about  3 IOs per node per second - 2 reads + 1 write.
Oracle Clusterware requires that majority of voting disks to be accessible.

Majority means more than a half.

If majority is not accessible (i.e. half or more are not available) then the node leaves the cluster (read evicts itself).
1 voting disk - if it not available - node leaves the cluster.
2 voting disks - if one is not available (this is half) than node leaves the cluster. This is because majority of 2 is 2 (more than a half which is one). I.e. 2 voting disks configuration doesn't provide more resiliency than 1.
3 voting disks - majority is 2. Thus, if one voting disk is unavailable - the node stay in the cluster. Consequently, you have higher availability than with 1.
4 voting disks - majority is 3. Resiliency is the same as with 3 voting disks. I.e. you can sustain loss of ONE voting disk only out of four so it doesn't make sense to use one more voting disk in this case.
5 voting disks - majority is 3 and you can loose 2 voting disks without effect on the cluster. Thus, it's more resilient than 3.
And so on.


Oracle uses voting disks as mechanism to resolve split brains situations[ when two sub-clusters work independently and corrupt the data. ].

When network connectivity is broken between two sub-clusters (between two nodes in a simple 2-node RAC), CSS daemon uses voting disk to evict the members of "non-surviving" sub-clusters.

If the node can't get majority of voting disks (like only can get one out of three) it leaves because another nodes could have access to another 2, for example. Thus preventing split brain scenario ...


Sources and references:

Ref 1

Ref 2

Ref 3

No comments:

Post a Comment