Cloud Block Volume Expansion During Live VM Execution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In large distributed systems, accurately estimating persistent disk storage requirements at the time of virtual machine instance creation is burdensome, and resizing storage capacity is challenging without disrupting system operations.
Innovation Solution
A method and system for resizing block storage volumes for virtual machines, allowing capacity adjustment without attaching or mounting additional devices, enabling continuous execution and data preservation during resizing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If developers determine persistent disk size at VM instance creation, then storage capacity is allocated, but developers face burden of accurate prediction and cannot adjust later
Solution Approach 1:
The persistent disk size is made dynamic rather than static. The system allows the block storage volume to be resized from an initial capacity to a final capacity while the virtual machine instance continues to run, enabling storage capacity to adapt to changing requirements without requiring VM shutdown or recreation
Solution Approach 2:
The system performs preliminary allocation of block storage volume at VM instance creation with an initial capacity, then enables subsequent resizing operations. This preliminary action satisfies the requirement for initial storage allocation while the resizing capability addresses the need for future adaptability
2Quantity of substance
If additional block storage devices are attached to resize storage, then storage capacity increases, but system complexity and operation difficulty increase
Solution Approach 1:
The system merges the resizing operation with the existing block storage volume rather than requiring separate additional devices. The block storage volume is expanded in place from initial capacity to final capacity, consolidating storage management into a single device rather than requiring multiple devices to be attached and managed
Solution Approach 2:
The block storage volume serves multiple functions: it provides initial storage capacity at VM creation and subsequently serves as the resized storage device. The same storage volume handles both the initial state and the expanded state, eliminating the need for separate additional storage devices
3Reliability
If storage resizing requires VM shutdown, then data integrity is maintained, but service continuity is disrupted
Solution Approach 1:
The useful action of the virtual machine instance continues uninterrupted during the storage resizing operation. The VM instance runs continuously while the block storage volume capacity is expanded from initial to final capacity, maintaining service continuity without requiring shutdown or restart
Solution Approach 2:
The system performs necessary data synchronization and consistency checks before completing the resize operation, ensuring data integrity is maintained throughout the process. This preparatory cushioning allows the resize to proceed without VM shutdown while preserving data reliability
Data Source
AI summary
A method of resizing a block storage volume for a virtual machine includes executing the virtual machine and attaching a virtual storage device to the virtual machine. The virtual storage device exposes the block storage volume on memory hardware to the virtual machine. The block storage volume includes a first storage capacity. The method also includes mounting the block storage volume to the virtual machine and resizing the block storage volume while the virtual machine continues to execute. The block storage volume is resized without attaching an additional virtual storage device to the virtual machine or mounting an additional block storage volume to the virtual machine.


