VM Snapshot Loading via Distributed EBS Cache Striping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The prior art's lazy loading process for virtual machine snapshot data results in amplified traffic for reading snapshot data, leading to lower loading speeds due to each virtual machine needing to read data from the image center, causing a bottleneck.
Innovation Solution
Implementing a snapshot distributed cache in the EBS cluster with multiple snapshot cache nodes to cache and distribute snapshot data, allowing snapshot data to be cached and distributed through multiple nodes, thereby utilizing the processing capacity of the EBS cluster more efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If each virtual machine reads snapshot data from the image center during lazy loading, then the virtual machine can be started without waiting for snapshot data to be loaded into the cloud disk, but the traffic for reading snapshot data is greatly amplified resulting in lower loading speed
Solution Approach 1:
The patent introduces a snapshot cache as an intermediary component between the image center and virtual machines. The snapshot cache receives snapshot data from the image center and distributes it to multiple virtual machines, reducing the direct traffic burden on the image center while enabling fast startup. This mediator architecture resolves the contradiction by buffering the amplification effect of multiple VMs accessing the same image data simultaneously.
Solution Approach 2:
The patent segments the snapshot data into multiple stripes and distributes them across different cache nodes in the EBS cluster. Each cache node handles a portion of the snapshot data, allowing parallel access and reducing the concentration of traffic on a single path. This segmentation enables the system to handle multiple virtual machines reading snapshot data simultaneously without creating a traffic bottleneck.
2Productivity
If snapshot data is cached to multiple snapshot cache nodes in the EBS cluster, then the processing capacity of multiple snapshot cache nodes is fully utilized improving data loading speed, but the system complexity increases
Solution Approach 1:
The patent divides the snapshot data into multiple stripes and assigns them to different cache nodes within the EBS cluster. This segmentation allows the system to leverage multiple nodes for parallel data loading, improving overall throughput. The stripe-based distribution ensures that data is spread across nodes rather than concentrated on a single node, maximizing utilization of available processing capacity.
Solution Approach 2:
The patent creates copies of snapshot data across multiple cache nodes in the EBS cluster. Instead of having a single source of truth, the snapshot data is replicated to multiple nodes, enabling parallel read operations and improving load speed. This copying mechanism allows the system to tolerate node failures while maintaining high performance.
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
A method and device for loading virtual machine snapshot data, the method comprising: in response to receiving startup instructions of multiple virtual machines, selecting (S201) target image files corresponding to multiple virtual machines from multiple image files stored in an image center, and caching multiple snapshot data in the target image files in the form of stripe data to multiple snapshot cache nodes in an elastic block storage EBS cluster according to a preset first stripe size; wherein the EBS cluster is configured with a snapshot distributed cache formed by multiple snapshot cache nodes for caching and distributing snapshot data; creating (S202) a data loading cloud disk corresponding to each virtual machine, and for each virtual machine, loading the snapshot data required to start the virtual machine from the snapshot storage space of multiple snapshot cache nodes through the data loading cloud disk corresponding to the virtual machine.