Delta Persistent Volume for Online Container Storage Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Stateful containers in virtualized environments face challenges in scalability, as scaling existing volumes is time-consuming and resource-intensive due to the need for transferring applications to new containers with larger volumes.
Innovation Solution
A method for creating a delta persistent volume that allows online expansion of container volumes without shutting down applications, using a volume mapping table to manage the size changes and create additional storage volumes, enabling scalable container volumes without compromising consistency or increasing resource overhead.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a new container is created with a larger volume and the application is transferred from the existing container to the new container to scale storage, then the storage capacity is increased, but the process is time-consuming and requires extra resource overhead
Solution Approach 1:
The patent divides the volume expansion process into two independent parts: the original volume and a newly created delta volume. The delta volume is created separately and then merged with the original volume through a volume mapping table, avoiding the need to recreate the entire volume or transfer data between containers.
Solution Approach 2:
The patent performs preliminary actions by creating the delta volume in advance with the required additional capacity before it is needed. The volume mapping table is pre-configured to include both the original volume and the delta volume, so that when scaling is needed, the system can immediately switch to using the expanded volume without time-consuming data transfer operations.
2Quantity of substance
If a new container is created with a larger volume and the application is transferred from the existing container to the new container to scale storage, then the storage capacity is increased, but extra resource overhead is required
Solution Approach 1:
The patent creates a delta volume that is a separate copy of the storage space needed for expansion. This delta volume is managed independently through the volume mapping table, allowing the system to scale storage by adding a copy of the required space rather than transferring data to a completely new container volume.
Solution Approach 2:
The patent merges the original volume and the delta volume together through the volume mapping table, which presents them as a single unified volume to the container. This merging allows the system to combine existing storage resources with newly allocated resources without requiring the container to be aware of the underlying complexity.
3Quantity of substance
If traditional volume scaling methods are used for stateful containers, then storage capacity can be increased, but application downtime is required and consistency may be compromised
Solution Approach 1:
The patent introduces a volume mapping table as an intermediary layer between the container and the underlying storage volumes. This mapping table manages the relationship between the original volume and the delta volume, ensuring that data consistency is maintained during the scaling process without requiring application downtime or complex coordination.
Solution Approach 2:
The patent makes the volume configuration dynamic by allowing the volume mapping table to be updated at runtime. The system can dynamically add delta volumes and update the mapping table to reflect the new volume configuration, enabling scaling operations to occur without shutting down the application while maintaining data consistency.
Data Source
AI summary
The disclosure provides an approach for scalable volumes of stateful containers in a virtual environment. A method includes detecting a size change of an existing storage volume for a container running on a host; checking a volume mapping table to determine a size of the existing storage volume; computing a difference between the changed size of the existing storage volume and the size of the existing storage volume in the volume mapping table; creating a storage volume for the container, wherein the size of the created storage volume is at least equal to the difference; and adding an identifier of the container, an identifier of the existing storage volume, an identifier of the created storage volume, and a size of the created storage volume, to an entry in the volume mapping table.


