HA Failover Manager for Cluster I/O Resource Availability

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If multiple services and protocols coordinate for failover, then data availability and reliability are improved, but system complexity increases

Engineering Contradiction:
Improvedata availabilityVSAvoidcoordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvedata availabilityVSAvoidI/O stack awareness requirement
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #25Self-service

3Reliability

If non-volatile log mirroring is synchronized across nodes, then data integrity during failover is improved, but synchronization time and resources increase

Engineering Contradiction:
Improvedata integrityVSAvoidsynchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10360120B2High availability failover manager
Publication Date: 2019.07.23 NETAPP INC
  • US10360120B2 patent drawing
  • US10360120B2 patent drawing
  • US10360120B2 patent drawing

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.