RAID Array Data Consistency During Node Failover
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If the secondary node replays outstanding writes immediately upon failover, then high availability is improved, but data inconsistency may occur in degraded mode
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.
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.
Data Source
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.


