Software-Defined Storage Mounting for Inaccessible Volume Handling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Container orchestration systems face challenges when a single persistent volume becomes inaccessible, leading to the failure of application instances due to tight coupling, file system corruption, or volume instability, causing the entire group of volumes to be deemed inaccessible.
Innovation Solution
Implementing an 'ignoreMountError' functionality in container orchestration systems, such as Kubernetes, which allows volumes to be marked as 'None', 'Stage (bind mount)', or 'Publish (FS mount)' to handle volume unavailability, ensuring partial volumes can be mounted and accessed, thereby preventing the failure of application instances.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If container orchestration systems enforce strict volume accessibility checks, then data integrity is ensured, but system availability and continuity deteriorate when individual volumes become inaccessible
Solution Approach 1:
The system segments the volume group into individual mountable volumes, allowing selective mounting of accessible volumes while isolating inaccessible ones. This enables the container to continue operating with available volumes rather than failing entirely due to one inaccessible volume.
Solution Approach 2:
The system changes the mount error handling parameter from 'strict failure' to 'ignore error with logging'. This parameter change allows the mounting process to continue despite individual volume unavailability, transforming the system behavior from abort-on-error to continue-with-warnings.
2Loss of information
If the system attempts to mount all volumes in a group, then complete data access is achieved, but system stability deteriorates when some volumes are inaccessible due to corruption or instability
Solution Approach 1:
The system prepares for potential volume failures by implementing error tolerance in advance. The ignoreMountError functionality acts as a cushion that prevents complete system failure when individual volumes become inaccessible, allowing the container to continue operating with remaining accessible volumes.
Solution Approach 2:
The system accepts partial volume mounting rather than requiring complete group mounting. By allowing the container to operate with a subset of accessible volumes rather than all volumes, the system maintains stability while still providing substantial data access functionality.
3Reliability
If the system implements strict volume mounting requirements, then data consistency is maintained, but ease of operation deteriorates as containers fail to start when volumes are unavailable
Solution Approach 1:
The system implements self-service error handling where the container orchestration automatically manages volume mounting failures without requiring manual intervention. The ignoreMountError functionality allows the system to self-adapt to volume unavailability, automatically continuing container startup with accessible volumes while logging the issues.
Data Source
AI summary
A facility to ignore inaccessible volumes for software defined storage deployed in container orchestrator systems is presented herein. An example method comprises, in response to receiving error message data representative of an inaccessibility of a volume of a group of volumes being used by a container in execution on application server equipment, sending indicator data to an agent process that is monitoring execution of the container, wherein the indicator data represents a first command of a collection of commands that orders the agent process to desist from mounting the volume of the group of volumes to an accessible global space, and based on a second command, mounting a partial group of volumes to the accessible global space, wherein the partial group of volumes excludes the volume that is inaccessible, and notifying the agent process that the partial group of volumes is available in the accessible global space.


