Identical Snapshots on Replicated Storage via Write Phase Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data storage systems with synchronous replication, creating identical snapshots on active-active configurations is challenging due to incomplete write operations, leading to potential data corruption and prolonged recovery times in case of system failures.
Innovation Solution
The method involves holding command-phase write operations and allowing data-phase write operations to complete before creating snapshots, using internal storage system processes to track and manage these operations without querying host systems, ensuring snapshots are identical on both systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If snapshots are created during active-write phase, then snapshot creation speed is improved, but data consistency and completeness deteriorate due to incomplete write operations
Solution Approach 1:
The system performs preliminary actions by identifying and completing all in-flight write operations before initiating snapshot creation. The storage system monitors write operation status and ensures all data transfers are finalized before capturing the snapshot state, preventing incomplete data from being included in the snapshot.
Solution Approach 2:
The system prepares for potential data inconsistency by implementing a buffering mechanism that tracks write operation completion status. Before snapshot creation, the system cushions against incomplete writes by waiting for all ongoing write operations to finish, ensuring data integrity is maintained throughout the snapshot process.
2Reliability
If write operations are held pending during snapshot creation, then data consistency is improved, but snapshot creation time increases
Solution Approach 1:
Instead of holding writes during snapshot creation, the system performs preliminary actions by completing all write operations before snapshot initiation. This approach eliminates the need to pause write operations during snapshot creation, maintaining both data consistency and operational efficiency.
Solution Approach 2:
The system dynamically adjusts the snapshot creation process based on the status of ongoing write operations. Rather than using a static approach of holding all writes pending, the system adapts by monitoring write completion and proceeding with snapshot creation only when all writes are finalized, optimizing both consistency and timing.
3Productivity
If snapshots are created on actively writing storage systems, then system availability is improved, but snapshot accuracy deteriorates due to concurrent write operations
Solution Approach 1:
The system ensures snapshot accuracy by performing preliminary verification that all write operations are complete before snapshot creation. This preliminary check guarantees that the snapshot captures a consistent and accurate state of the storage system without including partially written data.
Solution Approach 2:
The system implements feedback mechanisms to monitor write operation completion status in real-time. Before initiating snapshot creation, the system receives feedback regarding the status of all ongoing writes and only proceeds when feedback confirms all writes are complete, ensuring snapshot accuracy while maintaining system availability.
4Loss of time
If incomplete write operations are included in snapshots, then recovery speed is improved, but data corruption risk increases
Solution Approach 1:
The system performs preliminary verification to ensure all write operations are complete before including data in snapshots. This preliminary action prevents incomplete or corrupted data from being captured, eliminating the need for post-recovery validation and ensuring both fast and safe recovery.
Solution Approach 2:
The system cushions against data corruption by implementing protective measures before snapshot creation. By verifying write completion status and excluding incomplete writes from snapshots, the system prevents data corruption from occurring in the first place, enabling rapid recovery without corruption risks.
Data Source
AI summary
Snapshots are created on replicated storage systems R1 and R2 in a manner resulting in identical snapshots being generated on R1 and R2. In response to an instruction to create a snapshot on a storage system (R1 and/or R2), command-phase write operations (CWOs) are held and data-phase write operations (DWOs) are completed on the storage system before the snapshot is created. Determining that DWOs includes querying processes, and using information, available on the storage system, by which a state of a write operation—e.g., whether the write operation is a DWO and when the DWO completes—may be determined. A CWO queue may be maintained on the storage system for tracking the status of CWOs. A DWO queue may be maintained on the storage system for tracking DWOs, to determine DWOs when the snapshot is created, and track their processing, including when they are completed.


