Active/Active Replication Recovery Using Snapset Delta Synchronization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Active/active replication in data storage systems faces challenges such as communication failures and software/hardware issues leading to data synchronization issues between storage nodes, resulting in service disruptions and the need for efficient recovery mechanisms.
Innovation Solution
The method involves creating sequences of snapsets at storage devices, identifying the most recent and predecessor snapsets, sending deltas to synchronize data, and performing asynchronous to synchronous recovery to restore synchronicity between storage devices without rolling back inflight IOs or synchronized snapsets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If active/active replication is implemented to provide continuous availability, then system reliability is improved, but data synchronization between storage nodes deteriorates due to communication failures and software/hardware issues
Solution Approach 1:
The system creates sequences of snapsets (local and recovery) in advance before failure occurs. These snapsets are prepared periodically during normal operation, so when a failure event happens, the system can immediately use the pre-prepared snapsets for recovery without waiting to create them during the failure state.
Solution Approach 2:
The patent introduces snapsets as intermediary data structures that mediate between the primary and secondary storage devices. These snapsets act as intermediate checkpoints that capture the state of storage at specific points in time, allowing the system to recover by comparing and synchronizing from these intermediate states rather than directly between the main storage devices.
2Loss of information
If traditional recovery methods are used after service disruption, then data synchronization is restored, but system performance deteriorates due to rolling back inflight IOs and re-synchronizing snapsets
Solution Approach 1:
The system performs preliminary actions by creating and maintaining sequences of snapsets during normal operation. When failure occurs, the recovery process uses these pre-created snapsets rather than creating them during recovery, significantly reducing the time and performance impact of the recovery operation.
Solution Approach 2:
The patent changes the recovery approach by identifying specific snapset parameters (most recent local snapset Sk and most recent recovery snapset Sk') and their predecessors, then selectively applying changes only to the delta between these identified snapsets rather than re-synchronizing entire data sets. This parameter-based selective recovery minimizes performance impact.
3Ease of repair
If sequences of snapsets are created and maintained during active/active replication, then recovery efficiency is improved, but device complexity increases
Solution Approach 1:
The patent segments the replication and recovery process by dividing it into discrete snapset units. Instead of treating the entire data set as a single unit for recovery, the system divides data into multiple snapsets (local snapsets and recovery snapsets) that can be independently managed, compared, and synchronized. This segmentation makes the recovery process more efficient and manageable.
Solution Approach 2:
The system uses parameter changes to track and manage snapsets through identifiers (Sk, Sk-1, Sk', Sk-1'). By using these parameters to identify and reference specific snapsets, the system manages complexity through structured parameter tracking rather than unmanaged data structures, making the increased complexity more controllable and systematic.
Data Source
AI summary
In one aspect, providing recovery during active/active replication includes: creating, at a first storage device, a local snapset; waiting for inflight (input/output) IO operations (IOs) from the first device to a second device at the time snapset creation to complete; creating a recovery snapset; and waiting for inflight IOs from the second device to the first device, at the time of snapset creation to complete. Upon determining a failure event, an aspect includes identifying a most recent local snapset (Sk) and a most recent recovery snapset (Sk′) on the first and second devices, respectively, identifying predecessor snapsets (Sk−1) and (Sk−1′) on the first and second devices, respectively, creating a new recovery snapset (Sk′) using (Sk−1′), sending the delta of (Sk) and (Sk−1) from the first device to the second device; updating (Sk′) with the delta; and performing async-to-sync recovery to transfer a difference between the first and second devices.


