Host Device Path Failure Sharing in Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In information processing systems, the delay caused by multipathing software waiting for a timeout to detect path failures in storage arrays leads to inefficiencies and slower response times, as each host device independently determines path conditions without sharing failure information with other devices.
Innovation Solution
Implementing a messaging system, such as MQTT, for host devices to share path failure information, allowing them to proactively reroute IO operations and avoid timeouts by subscribing to topics related to storage array ports, thus enabling immediate detection and response to path failures across the network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If MPIO driver waits for timeout or other indication to detect path failure, then path failure detection is performed, but delays in processing IO operations occur and system efficiency deteriorates
Solution Approach 1:
The storage array proactively sends notifications to host devices about path failures before the hosts would naturally detect them through timeout. This preliminary action allows hosts to switch to backup paths immediately without waiting for timeout, resolving the contradiction between reliable failure detection and minimizing processing delays
Solution Approach 2:
The storage array implements a feedback mechanism by monitoring path status and actively notifying host devices when failures occur. This feedback loop enables hosts to respond immediately to path failures rather than passively waiting for timeout, improving both reliability of failure detection and reducing time loss in IO processing
2Ease of operation
If each host device independently determines path conditions without sharing information, then each device can autonomously manage its paths, but system-wide response time to failures increases and overall efficiency decreases
Solution Approach 1:
The storage array serves multiple functions: it acts as both the storage provider and the central coordinator for path failure detection. By universalizing its role to include proactive notification to multiple hosts, the system maintains autonomous path management while improving system-wide response time, as all hosts receive failure information from the same central source
Data Source
AI summary
An apparatus comprises a first host device that is configured to deliver input-output (IO) operations to a storage system over selected ones of a plurality of paths. The first host device is configured to obtain an IO operation that targets a logical volume of the storage system and to transmit the obtained IO operation to the storage system along a given path of the plurality of paths. The first host device is further configured to determine that the given path has failed to convey the obtained IO operation to the storage system and to cause information comprising an indication that the given path has failed to convey the obtained IO operation to the storage system to be provided to a second host device that is also configured to communicate with the storage system using the at least a portion of the given path.


