Virtual Machine Failover Testing with Differencing Disks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing disaster recovery solutions for virtual machines require expensive and time-consuming failover and failback processes, leading to production workload downtime, and there is a need for a method to test replica virtual machines without disrupting primary operations or causing data duplication.
Innovation Solution
The virtual machine replication system employs differencing disks to simulate a failover in a test environment, allowing the replica virtual machine to continue replicating the primary data set while performing a test operation at a specific point in time, thereby reducing downtime and data duplication, and ensuring isolation from the primary system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a failover test is performed on the replica virtual machine, then the replica can be verified to work correctly, but the primary virtual machine must be taken offline causing production downtime
Solution Approach 1:
The disk structure is segmented into base disk, differencing disk, and test differencing disk. The test differencing disk isolates test operations from the primary replication chain, allowing independent testing without affecting the primary virtual machine or replica synchronization.
Solution Approach 2:
A test differencing disk is created as a copy of the differencing disk at a specific point in time. This copy allows testing operations to be performed on the replica virtual machine without modifying the actual replication data, enabling verification while maintaining production continuity.
2Stability of the object's composition
If the replica virtual machine is updated continuously to match the primary, then data consistency is maintained, but testing operations cause data duplication and increase storage footprint
Solution Approach 1:
The storage structure is divided into separate components: base disk for original data, differencing disk for replication changes, and test differencing disk for test operations. This segmentation prevents test data from duplicating replication data, reducing overall storage requirements while maintaining data consistency.
Solution Approach 2:
The test differencing disk acts as an intermediary layer between the replica virtual machine and the actual replication data. It absorbs test operations without propagating changes to the primary replication chain, eliminating data duplication while preserving data consistency.
3Reliability
If a full failover process is executed to test the replica, then comprehensive testing is achieved, but the failback process is expensive and causes extended downtime
Solution Approach 1:
Instead of performing a full failover, the system creates a virtual test environment using the test differencing disk that replicates failover conditions without actual failover. This allows comprehensive testing of replica functionality while the primary virtual machine remains operational, avoiding the productivity loss associated with full failover and failback processes.
Solution Approach 2:
The test differencing disk is prepared in advance to simulate failover conditions. By pre-configuring the test environment with the same structure and data state as a real failover would produce, the system can verify replica readiness without executing the actual failover process, thereby maintaining system availability.
Data Source
AI summary
In one embodiment, a virtual machine replication system may test a replica data set while continuing to replicate a primary data set. A data storage 250 may store a replica data set for a replica virtual machine 302 to back up a primary data set for a primary virtual machine 304. The data storage 250 may preserve a test point in time 322 in the replica data set using a test differencing disk 344. A processor 220 may execute a test virtual machine 342 that performs a test operation on the test point in time 322 while the replica data set continues to replicate the primary data set.


