Snapshot Preparation Command for Large Consistency Groups
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-availability systems face performance degradation and prolonged downtime due to the time-consuming process of creating snapshots for large consistency groups, which requires quiescing I/O operations, making it difficult to maintain acceptable application performance during data backup.
Innovation Solution
The snapshot process is split into two separate commands: a snapshot preparation command to reserve resources and prepare the system, followed by a snapshot creation command, which reduces I/O quiescence and expedites the snapshot creation by throttling data rates, loading metadata into cache, and reserving necessary resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a snapshot is created of a large consistency group by quiescing I/O operations, then a consistent snapshot can be obtained, but system performance degrades and downtime increases
Solution Approach 1:
The snapshot creation process is segmented into two distinct phases: a preparation phase where resources are reserved and I/O is throttled, and an execution phase where the actual snapshot copying occurs. This segmentation allows the system to prepare in advance without immediately impacting performance, then execute quickly when needed.
Solution Approach 2:
The system performs preliminary actions during the preparation phase by reserving resources and throttling I/O operations before the actual snapshot creation. This advance preparation reduces the impact on system performance during the critical snapshot copying operation.
2Reliability
If I/O quiescence is applied to create a snapshot, then data consistency is ensured, but total I/O quiescence duration increases
Solution Approach 1:
The I/O quiescence process is segmented into a preparation phase where throttling is applied but not yet complete, and an execution phase where the snapshot is created. This segmentation reduces the total duration of full I/O quiescence by overlapping preparation activities with other system operations.
Solution Approach 2:
I/O throttling and resource reservation are performed as preliminary actions before the snapshot execution phase. This allows the system to begin quiescing I/O early without blocking all operations, thereby reducing the total quiescence duration while maintaining data consistency.
3Productivity
If resources are reserved and I/O is throttled before snapshot creation, then snapshot creation speed increases, but system complexity increases
Solution Approach 1:
The preparation command serves multiple functions: it reserves resources, throttles I/O operations, and prepares the system for rapid snapshot creation. By consolidating these functions into a single command structure, the system achieves faster snapshot creation without proportionally increasing complexity.
Data Source
AI summary
Preparation of a snapshot for data storage includes receiving a first command to prepare to create a snapshot of a set of data stored on at least one source storage volume in a data storage system. The data storage system is prepared to expedite creation of the snapshot in response to the first command. A second command to create the snapshot is received subsequent to the first command. The snapshot is created, in response to the second command, by copying the set of data onto at least one target storage volume at an event time. The set of data may comprise a consistency group comprising a set of data blocks, and preparing the system to create the snapshot may include reserving resources, throttling an incoming data rate, starting a timer after receiving the first command, and/or copying data from a plurality of storage volumes into a memory cache.


