Background (Server Clusters: Quorum Options - Windows Server 2003)

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Before giving an explanation of what a cluster quorum is, it is important to understand the background to Windows Clustering Technologies.

Starting with Microsoft® Windows NT® 4.0 Enterprise Edition, Microsoft introduced the idea of a cluster, which is simply a group of servers that are presented as one virtual server. For example, you can configure two servers, server A and server B, in a cluster, and present them to the outside world as server C (a virtual server). If, for example, server A dies, server B is used to ensure that the virtual server (server C) and the services it offered, are still available to clients, thereby providing transparent access to the user.

Microsoft offers two types of clustering solutions in its Windows server products:

Server clusters – uses a shared-nothing architecture, which means that a resource can be active on only one server in the cluster at any one time. Because of this, it is well suited to applications that maintain some sort of state (for example, a database).

Network Load Balancing (NLB) – uses a load balancing architecture, which means that a resource can be active on ALL servers in the cluster at any one time. Because of this, it is well suited to applications that do not maintain state (for example, a Web server).

Quorums are only used in the MSCS now known as server cluster. Hence, any references to clusters in the remainder of this document are referring to the server clusters. The following sections explain what a cluster quorum is, and why it is important.

What Is It?

Each cluster has a special resource known as the quorum resource. A quorum resource can be any resource that does the following:

  • Provides a means for arbitration leading to membership and cluster state decisions.

  • Provides physical storage to store configuration information.

A quorum log is simply a configuration database for the server cluster. It holds cluster configuration information such as which servers are part of the cluster, what resources are installed in the cluster, and what state those resources are in (for example, online or offline). The quorum log is located by default in \MSCS\quolog.log.

Why Is It Important?

There are two main reasons why the quorum is important in a cluster. These are outlined below.

Consistency

Since the basic idea of a cluster is multiple physical servers acting as a single virtual server, it is critical that each of the physical servers have a consistent view of how the cluster is configured. The quorum acts as the definitive repository for all configuration information relating to the cluster. In the event that the Cluster service is unable to read the quorum log, it will not start, as it is not able to guarantee that the cluster will be in a consistent state, which is one of the primary requirements for a cluster.

Tie-breaker

The quorum is used as the tie-breaker to avoid “split-brain” scenarios. A split-brain scenario happens when all of the network communication links between two or more cluster nodes fail. In these cases, the cluster may be split into two or more partitions that cannot communicate with each other. The quorum is used to guarantee that any cluster resource is only brought online on only one node. It does this by allowing the partition that “owns” the quorum to continue, while the other partitions are evicted from the cluster.