Method and system for quorum resource arbitration in a server cluster
AssigneeMicrosoft Corporation
InventorsRobert T. Short, Rod Gamache, Michael T. Massa, John D. Vert
Life of this patent
Estimating the term…
Abstract
A method and system for selecting a set of systems (nodes) for a server cluster from at least two non-communicating sets of systems. A persistent storage device with cluster configuration information therein is provided as a quorum resource. Using an arbitration process, only one system exclusively reserves the quorum resource. The set with the system therein having the exclusive reservation of the quorum device is selected as the cluster. The arbitration process provides a challenge-defense protocol whereby a system can obtain the reservation of the quorum device when the system that has the reservation fails.
Claims71
A method of determining which of a plurality of nodes represents a server cluster, comprising:
- providing a quorum resource that consistently maintains cluster state data;
- reserving the quorum resource for exclusive access by a first node of the plurality, exclusive access to the quorum resource providing consistent cluster state data and establishing representation of the cluster independent of the number of nodes in the plurality;
- defending the exclusive access of the first node to the quorum resource on a regular basis while the first node is operational;
- and
- invoking an arbitration process at the second node to challenge for exclusive access to the quorum resource, the arbitration process enabling the second node to reserve exclusive access to the quorum resource when the first node is non-operational and thereby take over representation of the cluster with consistent cluster state data.
In a clustering environment comprising a plurality of server nodes, a system for establishing which node represents a server cluster, comprising:
- a quorum resource that consistently maintains cluster state data, wherein exclusive access to the quorum resource by a node establishes that node as representing the server cluster independent of the number of nodes in the plurality,
- a reservation mechanism configured to give exclusive access to the quorum resource to only one node at a time;
- and
- an arbitration mechanism configured to enable a first node having exclusive access to the quorum resource to defend the exclusive access from a challenge by a second node when the first node is operational, and further configured to enable the second node to use the reservation mechanism to obtain exclusive access to the quorum resource when the first node is non-operational such that the second node takes over representation of the cluster with consistent cluster state data.
In a system of server nodes partitioned into at least first and second node sets, each set comprising one or more nodes, with each node in a set being able to communicate with any other node in its set but being unable to communicate with any node of another set, a method of determining whether the first set of nodes can operate as a server cluster, comprising:
- providing a quorum resource that consistently maintains cluster state data, the quorum resource exclusively accessed by only one node at a time;
- requesting, in a first request, exclusive access to the quorum resource by one node of the first set;
- and
- if the first request is successful, allowing the first set of nodes to operate as the cluster independent of a number of nodes in the first set relative to a number of nodes in any other node set or sets;
- and
- if the first request is not successful, breaking any exclusive access to the quorum resource without establishing exclusive access, delaying for a predetermined period of time to enable any other node that previously had exclusive access to re-obtain its exclusive access, and requesting, in a second request by the node of the first set following the period of time, exclusive access to the quorum resource, and if the second request is successful, allowing the first set of nodes to operate as the cluster independent of a number of nodes in the first set relative to a number of nodes in any other node set or sets.
A method of operating a server cluster, comprising:
- providing a persistent storage device as a quorum resource, the quorum resource consistently maintaining cluster state data and capable of being exclusively reserved by only one node at a time;
- reserving the quorum resource for exclusive access by a first node;
- selecting as the cluster a set of nodes that includes the first node and any nodes able to communicate with the first node, wherein selection is based on the exclusive access to the quorum resource and is independent of a number of nodes requirement;
- and
- defending the first node's exclusive access from a challenge by a challenging node without providing exclusive access to the quorum resource to the challenging node.
In a clustering environment, a system, comprising:
- a quorum resource configured to consistently maintain cluster state data thereon, wherein exclusive access to the quorum resource by a node determines representation of the cluster independent of a quorum of nodes requirement;
- and
- an arbitration mechanism, the arbitration mechanism configured to:
- 1) reserve the quorum resource for exclusive access by a first node, such that the first node represents the cluster and the quorum resource has consistent cluster state data maintained thereon by the first node;
- 2) enable the first node to defend its exclusive access from challenges thereto when the first node is operational;
- and
- 3) enable a second node to challenge for exclusive access to the quorum resource, such that when the first node is not operational, the second node obtains exclusive access to the quorum resource and represents the cluster, and the quorum resource has consistent cluster state data maintained thereon by the second node.
A method of determining cluster representation between a first node and a second node, comprising:
- providing a quorum resource capable of being exclusively reserved by only one node at a time, exclusive reservation thereto determining representation of the cluster independent of a total number of nodes;
- exclusively reserving the quorum resource by the first node such that the first node represents the cluster and the quorum resource has consistent cluster state data maintained thereon by the first node;
- detecting at a second node that the first node is partitioned therefrom;
- and
- challenging at the second node the exclusive reservation of the quorum resource by the first node;
- and
- if the first node is able to defend its exclusive reservation, failing the challenge, or
- if the first node is unable to defend its exclusive reservation, succeeding the challenge and exclusively reserving the quorum resource by the second node such that such that the second node represents the cluster and the quorum resource has consistent cluster state data maintained thereon by the second node.
Dependencies are inferred from the claim text.