Storage Node Path Failover Mechanism for I/O Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed storage systems, existing technologies face challenges in efficiently managing I/O commands across multiple storage devices, leading to errors and suboptimal performance due to uneven load distribution across interfaces and paths in the switching fabric.
Innovation Solution
A method and apparatus where a storage node designates a primary device file for accessing a storage device, attempts to complete I/O commands using this file, detects errors, and switches to an alternate device file to retry the command, allowing for autonomous path switching within the switching fabric to balance load and improve performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single primary device file is designated for accessing a storage device, then the system maintains simple management and clear access paths, but the system experiences errors and suboptimal performance when the primary path fails due to uneven load distribution and lack of automatic failover
Solution Approach 1:
The system pre-designates multiple device files (primary and alternate) for accessing storage devices before failures occur. When an error is detected in the primary device file, the system automatically switches to the pre-configured alternate device file, enabling rapid failover without requiring complex real-time path selection logic or increasing operational complexity
Solution Approach 2:
The storage node autonomously detects errors in the primary device file and performs self-healing by switching to the alternate device file without requiring external intervention. This self-service mechanism improves reliability while maintaining simple management, as the system automatically recovers from path failures without complex manual reconfiguration
2Loss of time
If the system uses a fixed primary device file for I/O commands, then the system maintains simple and predictable access patterns, but the recovery time from path failures is extended due to lack of automatic path switching capability
Solution Approach 1:
The system pre-configures alternate device files as backup access paths before failures occur. When the primary device file fails, the system immediately switches to the pre-prepared alternate path, dramatically reducing recovery time. This preliminary preparation of multiple access paths enables fast failover while maintaining simple operation, as the switching logic is automated and requires no complex manual path management during failures
Solution Approach 2:
The system dynamically switches between static device files based on runtime conditions. The device file designation is not fixed but can change automatically when errors are detected, allowing the system to adapt to failures while maintaining simple operation. The dynamic switching capability reduces recovery time without complicating path management, as the changes are automated based on error detection
3Productivity
If multiple device files are maintained for load balancing, then the system improves performance and distributes load across paths, but the system complexity increases due to multiple file management requirements
Solution Approach 1:
The system segments the device file management into distinct roles: primary device files for normal operation and alternate device files for failover. This segmentation allows multiple device files to be maintained for load balancing and redundancy without increasing overall complexity, as each segment has a clear, simple purpose. The primary file handles regular I/O commands efficiently, while alternate files serve as predefined backups, together improving productivity without complex management
Solution Approach 2:
Multiple device files serve multiple functions: the primary device file handles normal I/O operations, while the same alternate device files serve as both load-balancing options and failover backups. This multi-functionality improves productivity by enabling efficient load distribution across paths while avoiding increased complexity, as the same set of device files fulfills both performance and reliability requirements
Data Source
AI summary
A method comprising: receiving, by a first storage node, an instruction to designate a first device file as the first storage node's primary device file for accessing a storage device designating, by the first storage node, the first device file as the first storage node's primary device file for accessing the storage device, the first device file being designated as the first storage node's primary device file for accessing the storage device in response to the first instruction; receiving, at the first storage node, an I/O command that is associated with the storage device; making a first attempt to complete the I/O command by using the first device file, detecting, by the first storage node, an error that is generated in response to the first attempt; designating, by the first storage node, a second device file as the first storage node's primary device file for accessing the storage device.


