Virtual Persistent Volume Storage Operation Relaying
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Container orchestration systems face limitations in providing flexible and robust persistent storage solutions that can aggregate multiple underlying storage types, leading to inflexibility and disruption in data services for containerized applications.
Innovation Solution
A storage virtualization system with a policy engine that creates a virtual persistent volume using a hierarchical structure, such as a Merkle tree, to aggregate different underlying storage types and manage storage operations across these volumes, allowing for flexible storage configuration and data services without disrupting user access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple underlying storage types are aggregated into a virtual persistent volume, then storage flexibility and robustness are improved, but system complexity increases
Solution Approach 1:
The system segments storage management into distinct layers: the virtual persistent volume layer presents a unified interface to containerized applications, while the underlying storage layer maintains separate storage systems. The volume mapping structure segments the relationship between virtual and physical storage, allowing independent management of each layer while maintaining their relationships through structured mappings.
Solution Approach 2:
The virtual persistent volume acts as an intermediary between containerized applications and multiple underlying storage systems. It receives storage operation requests from applications and relays them to the appropriate underlying storage volumes through volume mappings, shielding applications from the complexity of multiple storage types while providing unified access.
2Reliability
If storage operations are relayed to multiple underlying storage systems, then data service robustness is improved, but operation complexity increases
Solution Approach 1:
The virtual persistent volume provides universal functionality by supporting multiple underlying storage types (e.g., block storage, file storage, object storage) through a single unified interface. The same storage operation requests can be relayed to different storage systems based on volume mappings, allowing the system to handle diverse storage backends through a consistent operation framework.
Solution Approach 2:
The system implements self-service through automated volume mapping management. When storage operations are received, the system automatically determines which underlying storage volumes to access based on pre-configured volume mappings, eliminating the need for manual intervention to route operations across multiple storage systems.
3Adaptability or versatility
If a virtual persistent volume aggregates multiple storage types, then storage versatility is improved, but management complexity increases
Solution Approach 1:
The storage architecture employs a nested structure where the virtual persistent volume contains volume mappings that reference underlying storage volumes. This nested organization allows the system to manage multiple storage types within a hierarchical framework, where the virtual volume layer manages the complexity while presenting a simplified interface to applications.
Solution Approach 2:
The system adds an abstraction dimension by introducing the virtual persistent volume layer between applications and physical storage. This additional dimension organizes storage resources by logical relationships rather than physical characteristics, allowing versatile storage aggregation while managing complexity through logical organization rather than direct physical management.
Data Source
AI summary
Example implementations relate to virtual persistent volumes. In an example, a storage operation request includes a volume identifier. A volume mapping that corresponds to the volume identifier is identified. Underlying volume identifiers are identified based on the volume mapping. The underlying volume identifiers relate to underlying storage volumes that form at least part of a virtual persistent volume associated with the volume identifier. The storage operation request is relayed, using the underlying volume identifiers, to storage systems on which the underlying storage volumes are respectively located.


