RAID Array Data Consistency During Node Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a storage cluster with a shared RAID array, data consistency is not ensured during failover from a primary node to a secondary node, especially when the RAID array is in a degraded mode due to a disk failure, leading to potential data loss and inconsistency.

Innovation Solution

The secondary storage node takes ownership of the RAID array, reads and writes missing data strips from an outstanding strip log to restore data consistency, and computes missing data strips based on operable physical storage devices, ensuring the RAID array is in a consistent state before replaying outstanding writes or servicing new I/O operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a RAID array is configured in degraded mode to gain storage capacity, then storage capacity is improved, but data consistency cannot be ensured during failover

Engineering Contradiction:
Improvestorage capacityVSAvoiddata consistency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system performs preliminary actions by computing and storing missing data strips in advance in the outstanding strip log before failover occurs. When the primary node fails, the secondary node can immediately retrieve these pre-computed strips from the log and restore data consistency without needing to perform complex computations during the critical failover moment.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the secondary node replays outstanding writes immediately upon failover, then high availability is improved, but data inconsistency may occur in degraded mode

Engineering Contradiction:
Improvehigh availabilityVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system prepares missing data strips in advance and stores them in the outstanding strip log before failover. This preliminary preparation allows the secondary node to restore consistency quickly after failover by simply retrieving pre-computed data rather than performing complex reconstruction operations during the critical recovery phase.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The outstanding strip log acts as an intermediary structure that stores pre-computed missing data strips. This intermediary enables the secondary node to efficiently retrieve the exact data needed for consistency restoration without directly accessing failed disks or performing complex RAID reconstruction algorithms during failover.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8667322B1Achieving data consistency in a node failover with a degraded raid array
Publication Date: 2014.03.04 AMZETTA TECH LLC
  • US8667322B1 patent drawing
  • US8667322B1 patent drawing
  • US8667322B1 patent drawing

AI summary

Technologies are described herein for achieving data consistency during a failover from a primary node to a secondary node in a storage cluster with a shared RAID array in a degraded mode. When the primary storage node receives a write I/O operation, a volume module on the primary node reads the missing data strip data from the failed disk belonging to the stripe targeted by the write I/O operation. The primary storage node communicates the missing data strip to the secondary storage node, which writes the missing strip data to an outstanding strip log. Upon the failure of the primary node, the secondary storage node reads the missing data strip from the outstanding strip log and writes the missing data strip to the shared RAID array, thus restoring data consistency to the stripe of the RAID array containing the missing data strip.