A group is a container for cluster resources with the following characteristics:

  • Groups define the units of failover. That is, when one resource in a group fails and it is necessary to move the resource to an alternate node, all of the resources in the group are moved to the alternate node.
  • A group is always owned by one node at any point in time. Likewise, a resource is always owned by a single group. These relationships ensure that all of a group's members reside on the same node.
  • Groups define dependency boundaries. A resource can establish a dependency on another resource only if both resources are in the same group. This has the effect of requiring groups to be self-sufficient units.

Groups enable resources to be combined into larger logical units. Typically a group is made up of related or dependent resources, such as an application and its associated peripherals and data. However, groups can also be established with resources that are unrelated and nondependent to balance the load or for administrative convenience.

Every group maintains a prioritized list of the nodes that can and should act as its host. The preferred nodes list is generated from two sources.

  • The Cluster service produces a list of preferred nodes for a group from the possible owners lists maintained by the resources that are members of the group.
  • Developers and administrators can add nodes to the list through the SetClusterGroupNodeList function.

The following topics discuss important concepts related to groups.

Failover Cluster Instances Describes a special kind of group that can act as a server, yet fails over like any other group.
Failover Provides a detailed description of how the Cluster service fails over groups and identifies ways that administrators and developers can affect that process.
Failback Describes how the Cluster service fails groups back to their original nodes and identifies ways to affect the process.