VM Disk Synchronization via Write Mirroring and Flush Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtual machine systems, the migration of storage from a source disk to a destination disk is often incomplete due to the virtual machine manager exiting before confirmation of successful migration, leading to potential data asymmetry and instability, especially in cases of power loss or system termination.
Innovation Solution
The virtual machine monitor employs a synchronization phase for mirroring disk writes and a steady state phase for synchronous disk flushes, ensuring that the contents of the source and destination disks are identical before switching, and tracks values like source-generation count, writes-mirrored, flush-request, and writes-flushed to manage the migration process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the virtual machine manager exits before receiving confirmation from the monitor that migration was successfully completed, then the system can proceed with restart, but data consistency between source and destination disks cannot be guaranteed
Solution Approach 1:
The patent applies preliminary action by having the virtual machine monitor perform migration verification and generate completion notifications before the virtual machine manager exits. The monitor tracks migration status and ensures data consistency is confirmed prior to allowing system restart, thus preventing data asymmetry issues.
Solution Approach 2:
The patent implements feedback mechanisms where the virtual machine monitor continuously reports migration status to the virtual machine manager. Completion notifications and status updates provide real-time feedback, allowing the manager to wait for confirmation before exiting, ensuring data consistency is verified.
2Reliability
If the virtual machine monitor handles all disk operations synchronously, then data consistency is maintained, but migration performance and speed are reduced
Solution Approach 1:
The patent segments disk operations into two categories: migration-related operations (handled synchronously to ensure consistency) and normal I/O operations (handled asynchronously for performance). This segmentation allows the system to maintain data consistency during migration while preserving overall system performance.
Solution Approach 2:
The patent applies partial synchronous action by making only the critical migration-related disk operations synchronous, while allowing other operations to proceed asynchronously. This partial application of synchronous handling maintains data consistency for migration data without unnecessarily slowing down the entire system.
3Reliability
If the virtual machine manager waits for confirmation before exiting, then data consistency is ensured, but system restart time increases
Solution Approach 1:
The virtual machine monitor performs migration verification and prepares completion notifications in advance, before the manager needs to make exit decisions. This preliminary verification reduces the waiting time required for confirmation while ensuring data consistency is actually achieved.
Solution Approach 2:
The migration verification process runs continuously in the background without interrupting normal system operations. The manager can monitor progress without idle waiting, allowing the system to maintain productivity while ensuring migration completion before restart.
Data Source
AI summary
In a process for migrating a virtual machine's storage from a source disk to a destination disk, during a steady state (i.e., wherein the contents of the virtual machine stored on the source disk and the destination disk are equal), a virtual machine monitor receives a set of write requests from a guest operating system (“guest”) of the virtual machine, provides confirmation of the completion of the set of writes to the source disk, and asynchronously replicates the set of write requests to the destination disk. Upon receipt of a flush request from the guest, the virtual machine monitor confirms completion of the flushing of the destination disk following replication of the write requests to the destination disk. Upon receipt of a switch request from a virtual machine manager, the virtual machine monitor switches the virtual machine to the destination disk and issues subsequent write requests to the destination disk.


