Host Machine Template Caching for Virtual Machine Startup Bottlenecks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In enterprise systems with virtual machines, the simultaneous startup of many virtual machines at the same time leads to increased load on shared network storage and network pathways, causing longer wait times and potential failures due to high demand.
Innovation Solution
Dividing virtual machines into a copy-on-write layer and a read-only layer, where the read-only layer is cached locally and the copy-on-write layer is accessed from network storage, reducing network bandwidth usage and improving performance without sacrificing redundancy or availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple virtual machines are started simultaneously from shared network storage, then users can access virtual machines, but the load on network storage and network pathways increases, causing longer wait times and potential failures
Solution Approach 1:
The virtual machine disk image is segmented into two distinct layers: a read-only base layer and a copy-on-write overlay layer. The read-only layer contains the static virtual machine image and is cached locally on the host, while the copy-on-write layer is stored on network storage and contains only the changes made since the base image was created. This segmentation allows the majority of the virtual machine data to be accessed locally without network latency, while maintaining the ability to update and persist changes through the copy-on-write layer stored on network storage.
2Reliability
If virtual machines are stored entirely on shared network storage, then redundancy and high availability are maintained, but network bandwidth is consumed during simultaneous startups
Solution Approach 1:
The read-only base layer of the virtual machine disk image is pre-cached locally on the host machine before the virtual machine needs to be started. This preliminary action ensures that the bulk of the virtual machine data is already available in local storage, eliminating the need to transfer large amounts of data over the network during startup. The copy-on-write layer is maintained on network storage to preserve redundancy and enable recovery if needed.
3Speed
If the entire virtual machine image is cached locally, then startup speed improves, but local storage resources are consumed and redundancy is reduced
Solution Approach 1:
The virtual machine disk image is segmented into two distinct layers: a read-only base layer and a copy-on-write overlay layer. The read-only layer contains the static virtual machine image and is cached locally on the host, while the copy-on-write layer is stored on network storage and contains only the changes made since the base image was created. This segmentation allows the majority of the virtual machine data to be accessed locally without network latency, while maintaining the ability to update and persist changes through the copy-on-write layer stored on network storage.
Solution Approach 2:
Different portions of the virtual machine data are stored with different qualities and redundancy levels appropriate to their access patterns. The read-only base layer, which is accessed frequently and never changes, is cached locally with high availability but lower redundancy. The copy-on-write layer, which contains changing data and is less frequently accessed, is stored on network storage with full redundancy and backup capabilities. This local quality approach optimizes both performance and storage efficiency.
Data Source
AI summary
A computing device receives a command to start a virtual machine, the virtual machine having a read-only layer and a copy-on-write (COW) layer. The computing device accesses the COW layer of the virtual machine from a network storage. The computing device determines whether the read-only layer of the virtual machine is cached in a local storage. Upon determining that the read-only layer of the virtual machine is cached in the local storage, the computing device starts the virtual machine based on a combination of the downloaded COW layer and the cached read-only layer of the virtual machine.


