Flexible failover policies in high availability computing systems
First Claim
1. A system for implementing a failover policy in a network, the system comprising:
- a processor; and
memory storing;
the failover policy, wherein the failover policy includes a failover script, at least one failover attribute, and a predetermined initial failover domain; and
instructions that when executed by the processor;
manage a plurality of nodes arranged as one or more clusters;
provide a plurality of group and cluster membership services;
define a plurality of resource groups, wherein each resource group includes two or more interdependent resources; and
execute the failover script in response to detecting a failover event, wherein the execution of the failover script;
dynamically transforms the predetermined initial failover domain into a dynamic run-time failover domain upon occurrence of a failover event, wherein the initial failover domain and the dynamic run-time failover domain are respective ordered lists of nodes in the network selected from a plurality of nodes on which a given resource group can be allocated, and wherein the dynamic transformation of the initial failover domain into the dynamic run-time failover domain is based on the contents of the failover script and a plurality of run-time conditions existing at the time of the failover event,modifies the dynamic run-time failover domain for a respective one of the plurality of resource groups based on the at least one failover attribute,selects a target node from the modified run-time failover domain based on the at least one failover attribute, andallocates the given resource to the target node.
7 Assignments
0 Petitions
Accused Products
Abstract
A system for implementing a failover policy includes a cluster infrastructure for managing a plurality of nodes, a high availability infrastructure for providing group and cluster membership services, and a high availability script execution component operative to receive a failover script and at least one failover attribute and operative to produce a failover domain. In addition, a method for determining a target node for a failover comprises executing a failover script that produces a failover domain, the failover domain having an ordered list of nodes, receiving a failover attribute and based on the failover attribute and failover domain, selecting a node upon which to locate a resource.
67 Citations
15 Claims
-
1. A system for implementing a failover policy in a network, the system comprising:
-
a processor; and memory storing; the failover policy, wherein the failover policy includes a failover script, at least one failover attribute, and a predetermined initial failover domain; and instructions that when executed by the processor; manage a plurality of nodes arranged as one or more clusters; provide a plurality of group and cluster membership services; define a plurality of resource groups, wherein each resource group includes two or more interdependent resources; and execute the failover script in response to detecting a failover event, wherein the execution of the failover script; dynamically transforms the predetermined initial failover domain into a dynamic run-time failover domain upon occurrence of a failover event, wherein the initial failover domain and the dynamic run-time failover domain are respective ordered lists of nodes in the network selected from a plurality of nodes on which a given resource group can be allocated, and wherein the dynamic transformation of the initial failover domain into the dynamic run-time failover domain is based on the contents of the failover script and a plurality of run-time conditions existing at the time of the failover event, modifies the dynamic run-time failover domain for a respective one of the plurality of resource groups based on the at least one failover attribute, selects a target node from the modified run-time failover domain based on the at least one failover attribute, and allocates the given resource to the target node. - View Dependent Claims (2)
-
-
3. A method for determining a target node for a failover, comprising:
-
detecting a failover event; executing a failover script stored in memory of a computing device, the failover script dynamically transforming an initial failover domain into a dynamic run-time failover domain, wherein the dynamic transformation of the initial failover domain into the dynamic run-time failover domain is based on the contents of the failover script and a plurality of run-time conditions existing at the time of the failover event, the initial and run-time failover domains each having a respective ordered list of nodes selected from a plurality of nodes on which a given resource group can be allocated; receiving a failover attribute associated with the failover event; modifying the run-time failover domain for the given resource group based on the failover attribute; and selecting from the modified run-time failover domain a node upon which to locate the given resource group. - View Dependent Claims (4)
-
-
5. A system for implementing a failover policy in a network, the system comprising:
a server having a processor and memory, the memory storing; the failover policy, wherein the failover policy includes a failover script, at least one failover attribute, and a predetermined initial failover domain, wherein the failover script includes a set of one or more commands; and instructions that when executed by the processor; manage a plurality of nodes; provide group and cluster membership services; and execute the failover script in response to detecting a failover event, wherein execution of the failover script; produces a dynamic run-time failover domain from the predetermined initial failover domain, wherein the dynamic run-time failover domain and the predetermined initial failover domain are respective ordered lists of nodes in the network selected from the plurality of nodes on which a given resource group having one or more resources can be allocated, modifies the run-time failover domain for the given resource group based on the received failover attribute, and executes one or more action scripts that when executed cause the given resource group to failover to a target node selected from the respective ordered list of nodes in the dynamic run-time failover domain. - View Dependent Claims (6, 7, 8)
-
9. A method for configuring nodes in a cluster, comprising:
-
defining a plurality of resource groups, wherein each resource group is a respective collection of interdependent resources; defining, for each resource group, a respective failover policy for the group, wherein the respective failover policy includes a respective initial failover domain, one or more respective failover attributes and a respective failover script, and wherein the respective initial failover domain is a respective ordered list of nodes in the cluster on which the resource group can be allocated; detecting a failover event; executing the respective failover script for a particular resource group upon detecting the failover event, the respective failover script including a set of one or more commands that, when executed, dynamically determine a respective run-time failover domain from the respective initial failover domain associated with the particular resource group; receiving a failover attribute; modifying the respective run-time failover domain determined for the particular resource group based on the received failover attribute; selecting a target node upon which to allocate the particular resource group from the respective run-time failover domain determined and modified for the particular resource group, the selection based on the received failure attribute; and executing one or more action scripts that when executed cause the particular resource group to failover to the selected target node. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
Specification