Distributed File Storage for Multi-Host Container Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualization technologies face challenges in allowing multiple virtual machines (VMs) and containerized applications to simultaneously access the same storage volume, leading to scalability and failover protection issues, as traditional file systems require manual setup and lack failover capabilities.
Innovation Solution
A distributed file storage system is implemented, using a file sharing volume service that manages metadata for shared storage volumes, allowing multiple VMs to access the same storage volume through a file server, which is started and managed by a container orchestrator, and uses a key-value store to track mount counts and port numbers for efficient access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If traditional file systems are used to expose storage devices to multiple VMs, then storage sharing is enabled, but manual setup efforts increase and scalability decreases
Solution Approach 1:
The system enables storage volumes to be automatically shared across multiple VMs through the orchestrator's automated management. The file server and mounting paths are automatically configured when storage volumes are created or updated, eliminating the need for manual file sharing system setup while maintaining multi-VM accessibility
Solution Approach 2:
The patent introduces an orchestrator as an intermediary layer between storage devices and VMs. This orchestrator automatically manages file server instances, handles mounting path configurations, and coordinates access across multiple VMs, replacing manual file sharing setup with automated intermediary management
2Ease of operation
If manual file sharing systems are used, then storage access is enabled, but failover protection is lost and reliability decreases
Solution Approach 1:
The system implements automated monitoring and management where the orchestrator tracks storage volume usage across VMs. When file servers or mounting paths fail, the orchestrator detects the failure and automatically manages failover by updating mounting configurations and redirecting access through available paths, providing both simplicity and reliability
Solution Approach 2:
The patent establishes redundant mounting paths and file server instances in advance through automated orchestration. Before failures occur, multiple access paths are pre-configured, ensuring that if one path fails, alternative paths are already available to maintain storage access without manual intervention
3Ease of manufacture
If storage devices are attached to only one VM at a time, then device attachment is simple, but simultaneous access by multiple applications is prevented
Solution Approach 1:
The patent segments the storage access architecture by introducing multiple file server instances and multiple mounting paths between a single storage volume and multiple VMs. This segmentation allows the storage volume to be simultaneously accessible to multiple VMs through different file server instances, while maintaining simple attachment at each individual connection point
Solution Approach 2:
The system adds a new dimension to storage access by introducing file server instances as an intermediate layer. Instead of direct single-VM attachment, storage volumes are accessed through multiple file server instances that can serve multiple VMs simultaneously, transforming the attachment model from one-to-one to many-to-many relationships
Data Source
AI summary
Techniques are disclosed for providing a distributed file storage system that permits containerized applications running in distinct container hosts to read/write to the same storage volume. In one embodiment, a file sharing volume service is configured to use a container orchestrator to start a respective file server for each shared storage volume mounted for use by user-level containerized application(s). The file sharing volume service further manages the file server by creating and updating a metadata entry that specifies (1) a count of a number of times the shared storage volume has been mounted for use, and (2) a port number exposed for use in mounting path(s) to access the shared storage volume. Upon receiving a request to run a containerized application with the shared storage volume, the file sharing volume service updates the metadata entry to increase the count, and retrieves and uses the port number to mount path(s) for accessing the shared storage volume.


