MxCloudPro

DAG Quorum and the File Share Witness

DAG Quorum and the File Share Witness

Quorum is the voting process that the cluster uses to determine whether the DAG should remain online or go offline. If the DAG goes offline all of the databases in the DAG are dismounted and are therefore inaccessible to end users, causing an outage.

There are two quorum models:

Node majority

Node and file share majority

(1). Node majority

Node majority quorum mode is used when the DAG has an odd number of members. The file share witness is not required for the quorum voting process, because the DAG members can determine a “majority” themselves. For example, if one DAG member fails, 2/3 DAG members are still online (a majority) and the DAG can remain online. If two DAG members fail, 1/3 DAG members are still online, which may result in quorum being lost and the DAG going offline.

(2). Node and file share majority

Node and file share majority is used when the DAG has an even number of members. The file share witness is included in the quorum voting process to ensure that a “majority” can be determined. For example, in a two-member DAG if one member fails, 1/2 members are still online (not a majority), but you would expect the DAG to be able to withstand a single node failure. The file share witness is used as the tie-breaker, meaning 2/3 “votes” are still available, and the DAG can stay online. Similarly, with a four-member DAG, if two members failed, with the file share witness there are still 3/5 “votes” online, so the DAG can stay online.

All database availability groups are configured with a file share witness, whether it is used for voting or not. The quorum model is adjusted automatically by the DAG as you add or remove members.

Because a loss of quorum will cause the DAG to go offline, you should always plan maintenance tasks so that a majority of voting members will remain online during the maintenance. For example, for a three member DAG, perform updates and reboots on the first server, returning it to full operation before beginning your maintenance on the next server, and so on.

Exit mobile version