Failover Cluster Implementation

A failover cluster consists of two or more independent Microsoft Windows server systems. The computer systems that make up the collection are known as nodes. Nodes have the following characteristics.

  • Every node has access to all cluster configuration data.
  • Every node communicates with the other nodes in the cluster through one or more physically independent networks (sometimes referred to as interconnects). Network adapters, referred to in failover clusters as network interfaces, attach nodes to networks.
  • Every node in the cluster is aware when another system joins or leaves the cluster.
  • Every node in the cluster is aware of the resources that are running locally as well as the resources that are running on the other cluster nodes.
  • All nodes in the cluster are grouped under a common name, the cluster name, which is used for accessing and managing the cluster.

When a node starts, it searches for active nodes on the networks designated for internal communication. If it finds an active node, it attempts to join the node's cluster. If it cannot find an existing cluster, it attempts to form a cluster by taking control of the quorum resource. The quorum resource stores the most current version of the cluster database, which contains cluster configuration and state data. A failover cluster maintains a consistent, updated copy of the cluster database on all active nodes.

A node can host physical or logical units, referred to as resources. Administrators organize these cluster resources into functional units called groups and assign these groups to individual nodes. If a node fails, the failover cluster transfers the groups that were being hosted by the node to other nodes in the cluster. This transfer process is called failover. The reverse process, failback, occurs when the failed node becomes active again and the groups that were failed over to other nodes are transferred back to the original node.

Nodes, resources, and groups are three kinds of cluster objects. The others are networks, network interfaces, and resource types. All cluster objects are associated with a set of properties, which are data values that describe an object's identity and behavior in the cluster. Administrators manage cluster objects by manipulating their properties, typically through a cluster management application such as Cluster Administrator.

Developers use the Failover Cluster API to create cluster-aware applications, cluster management applications, and custom resource types.