Virtual Machine Persistent Data Live Migration via Bitmap Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for live migration of virtual machine persistent data, such as those using redo logs, face issues with increased vulnerability due to reliance on two data stores and large redo log sizes leading to potential downtime during the migration process.
Innovation Solution
The proposed method involves distinguishing static and dynamic persistent data, copying static data based on update frequencies, using a bitmap to track modified blocks, and iteratively copying these blocks to a destination data store, ensuring atomic switch-over and minimizing downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If redo logs are used to store copies of changed blocks during migration, then data migration can be performed with minimal disruption, but the virtual machine becomes vulnerable to crashes on either source or destination data store
Solution Approach 1:
The patent extracts the vulnerability associated with dual data store dependency by implementing a bitmap file that tracks modified blocks. This allows the system to identify and copy only changed blocks to the destination data store, eliminating the need to rely on both source and destination stores being operational throughout the migration process.
Solution Approach 2:
The patent uses a bitmap file to copy only the modified blocks identified through the bitmap to the destination data store, rather than copying all data or relying on redo logs. This selective copying approach reduces dependency on both data stores being simultaneously operational.
2Reliability
If redo logs are used to store all changed blocks during migration, then data consistency is maintained, but the redo log size becomes large and consumes extra storage capacity
Solution Approach 1:
The patent changes the parameter representation from storing actual block data (redo logs) to storing only block identification information (bitmap). This transforms the storage requirement from proportional to data size to proportional to the number of blocks, significantly reducing storage capacity consumption while maintaining data consistency.
Solution Approach 2:
The patent copies only the metadata information (bitmap) to track modified blocks rather than copying all changed block data. This selective copying of identification information reduces storage capacity requirements while maintaining the ability to ensure data consistency through subsequent selective copying of only modified blocks.
3Reliability
If redo logs are used to store all changed blocks during migration, then data consistency is maintained, but the merging process takes too long and results in VM downtime
Solution Approach 1:
The patent performs preliminary action by creating and updating the bitmap file during the migration process to track modified blocks. This preliminary tracking allows the final merging operation to only process changed blocks rather than all blocks, significantly reducing the time required and minimizing VM downtime.
Solution Approach 2:
The patent segments the data migration process into identifying modified blocks through bitmap updates and then copying only those segmented blocks. This segmentation approach separates the tracking phase from the copying phase, allowing efficient processing and reducing the time required for the final merge operation that would otherwise require processing all blocks.
Data Source
AI summary
A disclosed method includes distinguishing static and dynamic persistent data, copying the static persistent data at the source data store to the destination data store on a basis of frequencies of updates, copying the dynamic persistent data to the destination data store, updating a bitmap data structure during the copying of the dynamic persistent data to indicate which blocks of the dynamic persistent data have been modified during the copying step, identifying the blocks that have been modified during the copying step using the bitmap data structure, and iteratively copying the identified blocks to the destination data store. The method may further include determining when the number of the identified blocks is below a predetermined threshold and suspending the virtual machine prior to the next copying step.


