HA Failover Manager for Cluster I/O Resource Availability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in maintaining high availability and performance of data in a cluster environment, particularly in ensuring seamless failover and data access when a node fails, due to the need for coordination among various services and protocols.
Innovation Solution
A high availability (HA) failover manager is introduced to maintain data availability by ensuring each I/O resource is available on a hosting node and can be mounted on partner nodes in case of a failure, using a cluster-wide database to track state information and synchronize non-volatile log mirroring across nodes, allowing for transparent failover coordination without requiring awareness from the storage I/O stack layers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple services and protocols coordinate for failover, then data availability and reliability are improved, but system complexity increases
Solution Approach 1:
The patent introduces a dedicated failover manager component that acts as an intermediary between multiple services and protocols. This manager centralizes failover coordination logic, managing the complexity of coordinating various services while maintaining high data availability through systematic failover execution.
Solution Approach 2:
The failover manager segments the complex failover process into distinct phases: detection of node failure, selection of backup node, coordination with storage services, and execution of failover. This segmentation allows each phase to be managed independently, reducing overall system complexity while maintaining reliability.
2Reliability
If failover coordination is implemented, then data availability during node failure is improved, but the storage I/O stack layers require awareness of failover processes
Solution Approach 1:
The failover manager serves as an intermediary layer that isolates the storage I/O stack from failover coordination complexities. The manager handles all failover logic externally, allowing the I/O stack to remain simple and unaware of failover mechanisms while still benefiting from improved data availability.
Solution Approach 2:
The failover manager implements self-service by autonomously detecting node failures, selecting backup nodes, and executing failover without requiring intervention or awareness from the storage I/O stack layers. This autonomous operation maintains I/O stack simplicity while ensuring reliability.
3Reliability
If non-volatile log mirroring is synchronized across nodes, then data integrity during failover is improved, but synchronization time and resources increase
Solution Approach 1:
The system performs preliminary action by continuously synchronizing non-volatile log mirroring to backup nodes before actual failover events occur. This advance preparation ensures that when failover is needed, the backup node already has the necessary logged data, reducing the time required during actual failover execution while maintaining data integrity.
Solution Approach 2:
The non-volatile log mirroring operates continuously in the background, maintaining synchronization between primary and backup nodes without interrupting normal storage operations. This continuous action ensures data integrity is maintained at all times while minimizing the impact on overall system performance and failover response time.
Data Source
AI summary
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.


