Storage Checkpointing in Mirrored Virtual Machine Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Checkpoint-based high-availability solutions in mirrored virtual machines introduce additional latency in storage write operations due to the need for frequent checkpoints, which can lead to increased downtime and difficulty in managing pending I/O operations during failover scenarios.
Innovation Solution
Implementing a non-destructive modifying operation mechanism where storage operations are saved to a checkpointing region and preserved until a checkpoint is committed, allowing I/O operations to complete normally without additional latency, and enabling the storage controller to revert to a previous checkpoint state during failover.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If checkpoint-on-write methods are used to ensure data consistency during failover, then data integrity is improved, but I/O operation latency increases
Solution Approach 1:
The storage controller pre-allocates a checkpointing region and prepares the checkpointing mechanism before any failover event occurs. Checkpoints are continuously updated in the background, so when failover is needed, the secondary computing system can immediately activate with a valid checkpoint without waiting for write operations to complete, thus reducing I/O latency while maintaining data integrity.
Solution Approach 2:
A checkpointing region acts as an intermediary buffer between the primary and secondary computing systems. The secondary system can read and activate from this intermediary checkpoint data without directly interfering with the primary system's ongoing I/O operations, allowing fast failover while preserving data consistency.
2Reliability
If frequent checkpoints are performed to reduce failover downtime, then availability is improved, but system complexity increases
Solution Approach 1:
The checkpointing functionality is extracted as a separate, dedicated mechanism within the storage controller, independent from the main I/O processing path. This allows checkpoints to be created and updated without adding complexity to the core storage operations, enabling frequent checkpoints while maintaining system simplicity.
Solution Approach 2:
The checkpointing system operates autonomously, continuously updating checkpoint data in the background without requiring active management or intervention. The secondary computing system can independently activate from the checkpointing region when needed, reducing the operational complexity of managing frequent checkpoints.
3Reliability
If pending I/O operations are tracked and managed during checkpoints, then data consistency is improved, but difficulty in managing I/O operations increases
Solution Approach 1:
Instead of managing pending I/O operations directly, the system creates copies of checkpoint data in the checkpointing region. This allows the secondary system to activate with a consistent state without needing to track or manage the complexity of pending I/O operations, simplifying I/O management while maintaining data consistency through the checkpoint copy mechanism.
Data Source
AI summary
A method and system are provided for storage checkpointing in a mirrored virtual machine system. The method includes a storage controller receiving a modifying operation to storage from a virtual machine and carrying out the modifying operation in a non-destructive manner by saving the modifying operation data to a checkpointing region of storage and preserving the stored previous data state. The method also includes receiving a checkpoint notification and committing modifying operation data from the checkpointing region and releasing the stored previous data state. If a failover notification is received, the storage controller rolls back the physical storage to match a checkpoint state.


