Hypervisor Live VM Cloning Resource Lock Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In virtualized computer systems, live cloning of virtual machines can lead to concurrent access issues when resources are in a non-shareable state, causing problems like concurrent writes to files, especially when a virtual machine holds a lock on a resource.
Innovation Solution
The hypervisor delays the cloning of a virtual machine until all its resources are in a shareable state by determining if any resources are in a non-shareable state and blocking lock requests until they become shareable, preventing concurrent access to these resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If live cloning of virtual machines is enabled, then cloning speed and productivity are improved, but concurrent access issues and resource conflicts occur
Solution Approach 1:
The hypervisor performs preliminary detection of non-shareable resources before initiating the cloning process. It identifies resources in non-shareable states (locked files, active connections, etc.) and delays cloning until these resources become shareable, preventing concurrent access conflicts while maintaining live cloning capability
Solution Approach 2:
The hypervisor acts as an intermediary between the virtual machine and the resources it accesses. It monitors resource states, detects non-shareable conditions, and mediates the cloning process by delaying execution until safe conditions are met, thus protecting resource integrity without blocking cloning functionality
2Reliability
If the hypervisor delays cloning until resources are shareable, then resource access safety is improved, but cloning time and productivity are reduced
Solution Approach 1:
The hypervisor continuously monitors the shareable state of resources accessed by the virtual machine and uses this feedback to determine when cloning can safely proceed. This dynamic feedback mechanism ensures cloning waits only as long as necessary for non-shareable resources to become shareable, minimizing time loss while maintaining safety
Data Source
AI summary
A system and method are disclosed for preventing concurrent access by a virtual machine and a clone of the virtual machine to a resource in a non-shareable state. In accordance with one embodiment, a hypervisor receives a command to clone a virtual machine, and determines whether any resource used by the virtual machine is in a non-shareable state (e.g., the virtual machine holds a lock on a resource, a resource comprises memory that stores secure data, etc.). When any resource used by the virtual machine is in a non-shareable state, the hypervisor delays cloning of the virtual machine until all resources used by the virtual machine are in a shareable state.


