Persistent Reservation Key Validation for Cluster Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing server cluster technologies restrict access to shared storage devices, allowing only exclusive ownership and read-only access for other nodes, which limits simultaneous read and write capabilities across the cluster.
Innovation Solution
Implementing a modified persistent reservation algorithm that allows non-owning nodes to register shared SCSI Persistent Reservation keys, enabling read and write access while maintaining ownership and ensuring only valid nodes access the storage mechanism, with the owner node validating and preempting invalid keys.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a persistent reservation ownership algorithm is used to implement challenge-defense model, then exclusive ownership and full access to storage device is achieved, but simultaneous read-write access by multiple nodes is prevented
Solution Approach 1:
The patent segments the access rights by introducing different types of persistent reservations (exclusive and shared) that can coexist. The storage device's access control is divided into ownership validation (by owner node) and shared access validation (by non-owner nodes), allowing simultaneous operations with different permission levels.
Solution Approach 2:
The patent implements dynamic access rights where non-owner nodes can transition from read-only to read-write access based on real-time validation. The shared persistent reservation keys are dynamically validated against current cluster membership, allowing flexible access control that adapts to changing cluster states while maintaining safety.
2Productivity
If shared persistent reservation keys are allowed for non-owning nodes, then simultaneous read-write access is enabled, but risk of unauthorized access increases
Solution Approach 1:
The patent implements feedback mechanisms where owner nodes continuously monitor and validate shared persistent reservation keys against current cluster membership. Non-owner nodes receive feedback about their access validity, and the system provides real-time verification that shared keys correspond to currently active cluster members, preventing unauthorized access.
Solution Approach 2:
The patent introduces the owner node as an intermediary that mediates between shared persistent reservation keys and actual storage device access. The owner node validates whether non-owner nodes holding shared keys are legitimate cluster members before allowing access, acting as a trust intermediary that enables shared access while maintaining security.
3Reliability
If traditional persistent reservation is used, then data consistency is maintained through exclusive access, but cluster performance is limited due to access restrictions
Solution Approach 1:
The patent applies local quality by granting different access permissions to different nodes based on their roles. Owner nodes maintain exclusive access rights for critical operations ensuring data consistency, while non-owner nodes are granted shared read-write access for less critical operations. This localized differentiation of access quality allows simultaneous operations while preserving consistency where needed.
Data Source
Figure 1A~1B
Figure 2
Figure 3
AI summary
Described is a technology by which an owner node in a server cluster maintains ownership of a storage mechanism through a persistent reservation mechanism, while allowing non-owning nodes read and write access to the storage mechanism. An owner node writes a reservation key to a registration table associated with the storage mechanism. Non-owning nodes write a shared key that gives them read and write access. The owner node validates the shared keys against cluster membership data, and preempts (e.g., removes) any key deemed not valid. The owner node also defends ownership against challenges to ownership made by other nodes, so that another node can take over ownership if a (formerly) owning node is unable to defend, e.g., because of a failure.