Quorum Host Mediator for Active-Active Storage Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In active-active (AA) cluster systems, storage array B often fails to stop its service in time due to uncontrollable factors like excessive CPU usage or network latency, leading to out-of-order sequences and data inconsistency, causing I/O fencing issues.
Innovation Solution
A method and apparatus where a quorum host, acting as an application host with a quorum function, receives quorum requests from faulty storage arrays, temporarily stops services, determines which storage array is winning or losing, and adjusts data synchronization modes to prevent I/O fencing by resuming services with the winning storage array.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If storage array B stops service using software agreement with 10 second delay, then data consistency between storage arrays is ensured, but service downtime increases and reliability decreases due to uncontrollable factors like excessive CPU usage or network latency
Solution Approach 1:
A quorum server is introduced as an intermediary to manage the quorum process. When a communication fault occurs between storage arrays, the quorum server receives quorum requests from both arrays, performs logic judgment to determine which array should continue service, and returns quorum results. This mediator eliminates the need for storage arrays to independently implement complex delay logic and peer-to-peer coordination, ensuring data consistency while reducing service downtime.
Solution Approach 2:
The system performs preliminary quorum checking before allowing service resumption. When a communication fault is detected, the quorum server proactively determines the winning storage array and returns quorum results in advance, allowing the winning array to resume service immediately without waiting for arbitrary delays or complex coordination with the losing array.
2Reliability
If storage array A waits 10 seconds before providing service unilaterally, then data consistency is maintained, but productivity decreases due to unnecessary waiting time
Solution Approach 1:
The quorum server implements a feedback mechanism by receiving quorum requests from storage arrays and returning quorum results that indicate whether the array should continue or stop service. This feedback loop eliminates the need for storage arrays to independently implement waiting logic, allowing the winning array to resume service immediately after receiving the quorum result, thereby improving productivity while maintaining data consistency.
Solution Approach 2:
The quorum server automates the quorum determination process by performing logic judgment and returning results automatically. This self-service approach eliminates the need for storage arrays to independently coordinate service resumption through software agreements and arbitrary delays, allowing the system to maintain data consistency while improving service availability.
3Duration of action of moving object
If storage array B does not disconnect from host during split-brain, then service continuity is maintained, but harmful factors increase due to erroneous data being read
Solution Approach 1:
The quorum server performs preliminary determination of the winning storage array before service resumption. By returning quorum results that explicitly indicate which array should continue service, the system prevents the losing array from providing service and generating erroneous data, thereby eliminating the harmful effect of data inconsistency while maintaining service continuity through the winning array.
Data Source
AI summary
A method is applied to a system including a host cluster and at least one pair of storage arrays. The host cluster includes a quorum host, which includes a quorum unit. The quorum host is an application host having a quorum function. A pair of storage arrays includes a first storage array and a second storage array. The quorum host receives a quorum request, temporarily stops delivering a service to the first storage array and the second storage array, determines, from the first storage array and the second storage array, which is a quorum winning storage array and which is a quorum losing storage array according to logic judgment, stops the service with the quorum losing storage array, sends quorum winning information to the quorum winning storage array, and resumes the delivered service between the host cluster and the quorum winning storage array.


