High availability failover manager
First Claim
1. A system comprising:
- a plurality of nodes interconnected as a high availability (HA) group of a cluster, each node including a central processing unit (CPU) coupled to a storage array, a service storage device, a non-volatile random access memory (NVRAM) and a memory;
the service storage device configured to store cluster-related configuration information as a cluster database (CDB);
the NVRAM configured to maintain status information of data access requests serviced by the node, the status information indicating whether a corresponding data access request is persistently stored on the storage array, the status information stored in one or more non-volatile logs of the NVRAM, the status information mirrored over a HA interconnect connecting a local node of the HA group to a partner node of the HA group to synchronize the status information between the nodes; and
the memory configured to store a high availability (HA) failover manager executable by the CPU, the HA failover manager configured to maintain data availability of input/output (I/O) resources in the cluster by ensuring that each I/O resource is mounted on at least one of the local node and the partner node.
0 Assignments
0 Petitions
Accused Products
Abstract
A high availability (HA) failover manager maintains data availability of one or more input/output (I/O) resources in a cluster by ensuring that each I/O resource is available (e.g., mounted) on a hosting node of the cluster and that each I/O resource may be available on one or more partner nodes of the cluster if a node (i.e., a local node) were to fail. The HA failover manager (HA manager) processes inputs from various sources of the cluster to determine whether failover is enabled for a local node and each partner node in an HA group, and for triggering failover of the I/O resources to the partner node as necessary. For each I/O resource, the HA manager may track state information including (i) a state of the I/O resource (e.g., mounted or un-mounted); (ii) the partner node(s) ability to service the I/O resource; and (iii) whether a non-volatile log recording I/O requests is synchronized to the partner node(s). The HA manager interacts with various layers of a storage I/O stack to mount and un-mount the I/O resources on one or more nodes of the cluster through the use of well-defined interfaces, e.g., application programming interfaces.
63 Citations
20 Claims
-
1. A system comprising:
-
a plurality of nodes interconnected as a high availability (HA) group of a cluster, each node including a central processing unit (CPU) coupled to a storage array, a service storage device, a non-volatile random access memory (NVRAM) and a memory; the service storage device configured to store cluster-related configuration information as a cluster database (CDB); the NVRAM configured to maintain status information of data access requests serviced by the node, the status information indicating whether a corresponding data access request is persistently stored on the storage array, the status information stored in one or more non-volatile logs of the NVRAM, the status information mirrored over a HA interconnect connecting a local node of the HA group to a partner node of the HA group to synchronize the status information between the nodes; and the memory configured to store a high availability (HA) failover manager executable by the CPU, the HA failover manager configured to maintain data availability of input/output (I/O) resources in the cluster by ensuring that each I/O resource is mounted on at least one of the local node and the partner node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method comprising:
-
interconnecting a plurality of nodes as a high availability (HA) group of a cluster, wherein each node includes a central processing unit (CPU) coupled to a storage array, a service storage device, a non-volatile random access memory (NVRAM) and a memory; storing cluster-related configuration information as a cluster database (CDB) on the service storage device; maintaining status information of data access requests serviced by the node on one or more non-volatile logs of the NVRAM, the status information indicating whether the corresponding data access request is persistently stored on the storage array; mirroring the status information over a HA interconnect connecting a local node of the HA group to a partner node of the HA group to synchronize the status information between the nodes; and implementing a high availability (HA) failover manager to maintain data availability of input/output (I/O) resources in the cluster and ensure that each I/O resource is mounted on at least one of the local node and the partner node. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable media containing instructions for execution on a processor for a method comprising:
-
interconnecting a plurality of nodes as a high availability (HA) group of a cluster, wherein each node includes a central processing unit (CPU) coupled to a storage array, a service storage device, a non-volatile random access memory (NVRAM) and a memory; storing cluster-related configuration information as a cluster database (CDB) on the service storage device; maintaining status information of data access requests serviced by the node on one or more non-volatile logs of the NVRAM, the status information indicating whether the corresponding data access request is persistently stored on the storage array; mirroring the status information over a HA interconnect connecting a local node of the HA group to a partner node of the HA group to synchronize the status information between the nodes; and implementing a high availability (HA) failover manager to maintain data availability of input/output (I/O) resources in the cluster and ensure that each I/O resource is mounted on at least one of the local node and the partner node.
-
Specification