Windows Server Failover Clustering (WSFC) uses a majority of votes to establish a quorum for determining cluster membership. Votes are assigned to nodes in the cluster or to a witness that is either a disk or a file share witness. You can use the Configure Cluster Quorum Wizard to configure the clusters quorum model. When you configure a Node Majority, Node and Disk Majority, or Node and File Share Majority quorum model, all nodes in the cluster are each assigned one vote. WSFC does not let you select the cluster nodes that vote for determining quorum.
After you apply this hotfix, you can configure a cluster node that does not have quorum votes.
After you apply the following hotfix, you can select which nodes vote. This functionality improves multi-site clusters. For example, you may want one site to have more votes than other sites in a disaster recovery. Without the following hotfix, you have to plan the numbers physical servers that are deployed to distribute the number of votes that you want for each site.
By default, all nodes in the cluster have one vote. After you apply the following hotfix, administrators can change the vote functionality in the quorum model by configuring a node to have 0 votes.
This hotfix adds the following functionality:
- The NodeWeight common property for nodes
This property can be configured by using either the Get-ClusterNode Windows PowerShell cmdlet or the Cluster.exe command. For example, you run the following command at a command prompt:
Cluster.exe . node <NodeName> /prop NodeWeight=0
To query the NodeWeight common property, you can use the following PowerShell cmdlet command:
Get-ClusterNode “NodeName” | fl *
To modify the NodeWeight property, you can use the following PowerShell cmdlet command:
(Get-ClusterNode “NodeName”).NodeWeight = 0
A new NodeWeight property is added to the MSCluster_Node WMI class to let you manage node weights by using WMI.
- The PreventQuorum (PQ) switch
This switch starts the Cluster service (ClusSvc) and prevents a node from reaching quorum. The Cluster service can be started by using the PQ switch. For example, you can run the following command at a command prompt:
NET START ClusSvc /PQ
The PQ switch can be used to enforce the cluster owner and to maintain consistency in the Cluster database.
For example, you have a partitioned 2-node cluster in which NodeA has one vote and NodeB has zero votes. By default, NodeB cannot reach quorum and cannot start the cluster. However, the Cluster database may be updated when the ForceQuorum switch is used to start NodeB even if it does not have quorum. Therefore, NodeB has a newer Cluster database, and NodeB can prevents NodeA from starting and from incorrectly overwriting the updated Cluster database by using its one vote to reach quorum. The PQ switch can be used to prevent NodeA from reaching quorum. Therefore, NodeA waits until it can communicate with the existing cluster and until it can join the existing cluster that has NodeB to obtain the updated Cluster database and to maintain consistency.
The PQ switch performs the opposite action of the ForceQuorum switch. The ForceQuorum switch allows the Cluster service to form a cluster even if it has not received a majority of votes. The PQ switch does not allow the Cluster service to form a cluster even if it has received a majority of votes.