Port Identifier Management for Cluster Storage Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In clustered computing environments, storage arrays with active/passive configurations face performance degradation and complex failover challenges due to 'trespass' onto passive paths, especially when multiple nodes access a logical unit, and existing failover methods are slow and cumbersome.
Innovation Solution
The implementation of a port identifier management system using NPIV commands to assign and reassign port identifiers, allowing seamless switching between communication paths without modifying registration keys, ensuring only one active path is used and preventing trespass onto passive storage controllers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If traditional failover methods are used in clustered environments, then storage paths can be switched, but the process is slow and cumbersome requiring extensive registry updates
Solution Approach 1:
The patent extracts the port identifier assignment function from the complex failover process and makes it independent. By using NPIV commands to assign port identifiers to HBA ports before failover is needed, the system separates the identifier assignment step from the failover step, enabling faster switching without extensive registry updates during the actual failover event.
Solution Approach 2:
The patent implements preliminary action by pre-assigning port identifiers to HBA ports using NPIV commands before any failover occurs. This preliminary setup stores the identifier mappings in the HBA firmware, so when failover is needed, the system can immediately switch paths without performing complex registry updates in real-time, significantly reducing failover time and complexity.
2Reliability
If multiple nodes access a logical unit through active/passive storage arrays, then availability is improved, but performance degrades due to trespass onto passive paths
Solution Approach 1:
The patent implements feedback mechanisms where the storage array and HBAs continuously monitor path status and identifier assignments. When a failover event occurs or path status changes, the system receives feedback about the new active path and automatically adjusts port identifier assignments accordingly. This feedback loop ensures that only the active path is used for data access, preventing trespass onto passive paths while maintaining high availability.
Solution Approach 2:
The patent introduces port identifiers as an intermediary mechanism between the storage array and host HBAs. These identifiers act as mediators that control which paths are accessible to which nodes. By managing port identifier assignments and using them in NPIV commands, the system enables multiple nodes to access the storage array simultaneously while preventing any node from trespassing onto passive paths, thus maintaining both availability and performance.
3Adaptability or versatility
If port identifiers are reassigned during failover, then path switching is enabled, but registration keys must be modified which increases complexity
Solution Approach 1:
The patent replaces the mechanical/complex registry update system with a more elegant identifier management approach. Instead of modifying registration keys and updating extensive registries during failover, the system uses NPIV commands to reassigned port identifiers directly to HBA ports. This substitution eliminates the need for complex registry updates while maintaining full path switching capability, reducing device complexity significantly.
Data Source
AI summary
A method includes assigning a port identifier to a first port on a node and communicating data on a first path between the first port and a logical unit on an active/passive storage array. The port identifier is registered in a persistent reservation scheme for the logical unit. The method also includes detecting a failure of the first path, de-assigning the port identifier from the first port, assigning the port identifier to a second port on the first node, and resuming communications between the node and the logical unit. One implementation of a system includes a first port configured to communicate with a storage device, a second port configured to communicate with the storage device, and an identifier management block. The identifier management block executes a failover with N_Port ID Virtualization commands that transfer a world wide port name from the first port to the second port.


