Container Storage Volume Groups with Dynamic Quota Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing containerization technologies face challenges in managing writable storage space and file system locations for containers, particularly when multiple containers share the same User Identifier (UID), leading to difficulties in setting unique quotas and efficiently allocating disk space, especially in limited resource environments.
Innovation Solution
A volume manager plugin is introduced to create volume groups that can be dynamically expanded, allowing for the allocation of varying writeable storage sizes to containers, ensuring that each container operates within predetermined size limitations while enabling multiple containers to share the same UID, including root, by managing storage space through a pluggable component within the Platform-as-a-Service (PaaS) system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a quota system based on UID is used to limit storage allocated to containers, then storage control for containers is achieved, but multiple containers cannot share the same UID and cannot have different quotas
Solution Approach 1:
The patent introduces a volume manager plugin as an intermediary layer between the container runtime and the underlying storage system. This plugin intercepts storage operations from containers and manages them through volume groups, allowing multiple containers with the same UID to have independent storage quotas controlled by the volume manager rather than relying solely on UID-based quotas.
Solution Approach 2:
The storage system is segmented into multiple volume groups, each of which can be independently allocated to containers. This segmentation allows the system to provide fine-grained storage control where different volume groups can be assigned to different containers or container groups, enabling flexible quota management that is not limited by UID.
2Reliability
If disk space is allocated to containers in a limited resource environment, then container operation is enabled, but system efficiency decreases due to space constraints
Solution Approach 1:
The volume manager plugin implements dynamic storage allocation where volume groups can be expanded or contracted based on actual container needs and system resource availability. Rather than statically allocating fixed disk space to containers, the system dynamically adjusts storage capacity, allowing efficient utilization of limited resources while ensuring containers have adequate space to operate reliably.
Solution Approach 2:
The system incorporates feedback mechanisms where the volume manager monitors storage usage by containers and can trigger volume group expansion when thresholds are reached. This feedback loop ensures that containers maintain reliable operation by automatically obtaining additional space when needed, while the system overall maintains efficiency by only expanding volumes when actually required rather than pre-allocating excess capacity.
3Ease of operation
If volume groups are created and mapped to containers, then storage space can be controlled and allocated, but the system requires a pluggable volume manager component adding complexity
Solution Approach 1:
The volume manager plugin is designed as a universal component that can manage storage for multiple containers through a single interface. Rather than requiring separate storage management mechanisms for each container, the volume manager provides multi-functional capabilities to handle volume creation, mapping, expansion, and quota enforcement across the entire container ecosystem, simplifying operations despite the added architectural layer.
Data Source
AI summary
Implementations of the disclosure provide for size adjustable volumes for containers. A method of the disclosure includes determining, by a processing device of a Platform-as-a-Service (PaaS) system, a size limitation of a container, where the size limitation is associated with disk space usage of a storage volume group. The amount of disk space used by applications of the container is monitored in view of the size limitation of the container. Responsive to determining that the amount of the disk space used by the applications of the container satisfies a threshold, a storage volume of the storage volume group is allocated to the container in view of the size limitation of the container.


