US11481139B1ActiveUtilityA1

Methods and systems to interface between a multi-site distributed storage system and an external mediator to efficiently process events related to continuity

96
Assignee: NETAPP INCPriority: Mar 31, 2021Filed: Mar 31, 2021Granted: Oct 25, 2022
Est. expiryMar 31, 2041(~14.7 yrs left)· nominal 20-yr term from priority
G06F 3/065G06F 3/067G06F 3/0619G06F 3/0641G06F 3/0629G06F 3/0604
96
PatentIndex Score
21
Cited by
28
References
20
Claims

Abstract

Systems and methods are described for efficiently processing events related to a relationship between a primary copy of data at a primary storage system and a mirror copy of the data at a cross-site secondary storage system of a multi-site distributed storage system. According to an example, a mediator agent that is configured on both primary and secondary storage systems provides coordination and serialization for various events generated in the relationship. The multi-site distributed storage system performs actions based on the event processing such as performing a failover operation from the primary storage system to the secondary storage system or resynchronizing the relationship to ensure application protection and availability.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A computer-implemented method for consistent processing of events with the computer-implemented method being performed by one or more processors of a multi-site distributed storage system, the computer-implemented method comprising:
 receiving events for at least one consistency group with the events being associated with a relationship for first and second clusters of the multi-site distributed storage system; 
 coordinating, with a mediator agent, the events of a first consistency group including a first event of a first volume of the first cluster and one or more events of the first consistency group including a second event of a second volume of the second cluster that duplicates the first event; and 
 terminating, with the mediator agent, any event that duplicates the first event for the first consistency group. 
 
     
     
       2. The computer-implemented method of  claim 1 , further comprising:
 queuing the events of the first consistency group in a configuration database of the first cluster or the second cluster with the configuration database being consistent across storage nodes having volumes in the first cluster or the second cluster; 
 processing the first event from a queue of the configuration database; 
 changing a status of the first event being processed to indicate that the first event is being processed; and 
 caching an output of the processing of the first event in the configuration database. 
 
     
     
       3. The computer-implemented method of  claim 1 , further comprising:
 performing, with the mediator agent, serialization of multiple events across storage nodes of the first or second cluster using transactions of a configuration database. 
 
     
     
       4. The computer-implemented method of  claim 1 , further comprising:
 performing, with the mediator agent, serialization across the first and second clusters. 
 
     
     
       5. The computer-implemented method of  claim 1 , wherein the first cluster has a primary copy of data in the first consistency group that is initially assigned a master role, wherein the second cluster has a mirrored copy of the data in the first consistency group that is initially assigned a slave role. 
     
     
       6. The computer-implemented method of  claim 5 , further comprising:
 performing a failover operation from the first cluster to the second cluster based on processing of the first event. 
 
     
     
       7. The computer-implemented method of  claim 1 , further comprising:
 implementing a thread pool to process events for the first consistency group in parallel with processing events for a second consistency group. 
 
     
     
       8. The computer-implemented method of  claim 1 , wherein the mediator agent processes events for a volume level and generates an output for a consistency group level of the first consistency group to ensure consistent processing of the events. 
     
     
       9. A multi-site distributed storage system comprising:
 a processing resource; and 
 a non-transitory computer-readable medium coupled to the processing resource, having stored therein instructions, which when executed by the processing resource cause the processing resource to: 
 receive events for multiple consistency groups with the events being associated with a relationship for first and second clusters of the multi-site distributed storage system; 
 coordinate the events of a first consistency group including a first event that is associated with a first volume of the first cluster and other events including a second event that duplicates the first event, wherein the second event is associated with a second volume of the first cluster or the second cluster; and 
 terminate any event that duplicates the first event for the first consistency group. 
 
     
     
       10. The distributed storage system of  claim 9 , wherein the instructions when executed by the processing resource cause the processing resource to:
 queue the events in a configuration database of the first cluster or the second cluster with the configuration database being consistent across storage nodes having volumes in the first cluster or the second cluster; 
 process the first event from a queue of the configuration database; 
 change a status of the first event being processed to indicate that the first event is being processed; and 
 cache an output of the processing of the first event in the configuration database. 
 
     
     
       11. The distributed storage system of  claim 9 , wherein the instructions when executed by the processing resource cause the processing resource to:
 perform serialization of multiple events across storage nodes of the first or second cluster using transactions of a configuration database. 
 
     
     
       12. The distributed storage system of  claim 9 , wherein the instructions when executed by the processing resource cause the processing resource to:
 perform serialization across the first and second clusters. 
 
     
     
       13. The distributed storage system of  claim 9 , wherein the first cluster has a primary copy of data in the first consistency group that is initially assigned a master role, wherein the second cluster has a mirrored copy of the data in the first consistency group that is initially assigned a slave role. 
     
     
       14. The distributed storage system of  claim 13 , wherein the first event comprises an in sync status for the continuity relationship being processed by the first cluster and the second event comprises an out of sync status for the relationship being processed by the second cluster with the second event conflicting with the first event, wherein a mediator agent at the first cluster to serialize the first and second events to obtain a consistent state for the continuity relationship between the first and second clusters. 
     
     
       15. The distributed storage system of  claim 9 , wherein the instructions when executed by the processing resource cause the processing resource to implement a thread pool to process events for the first consistency group in parallel with processing events for a second consistency group. 
     
     
       16. The distributed storage system of  claim 9 , wherein terminating duplicated events causes processing once for duplicated events. 
     
     
       17. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by a processing resource of a multi-site distributed storage system cause the processing resource to:
 receive events for at least one consistency group with the events being associated with a relationship for first and second clusters of the multi-site distributed storage system; 
 coordinate the events of a first consistency group including a first event of a first volume of the first cluster and other events including a second event of a second volume of the second cluster that conflicts with the first event; 
 queue the events in a configuration database of the first cluster or the second cluster; and 
 serialize the conflicting events across the first and second clusters by routing the conflicting events to one of the first and second clusters to ensure a consistent end state of the relationship. 
 
     
     
       18. The non-transitory computer-readable storage medium of  claim 17 , wherein the first cluster and the second cluster each include storage nodes and each storage node includes a mediator agent with the processing resource being capable of executing instructions for the mediator agent. 
     
     
       19. The non-transitory computer-readable storage medium of  claim 17 , wherein the instructions when executed by the processing resource cause the processing resource to serialize an intercluster consensus event from the first cluster and an event that is associated with out of sync status from the second cluster. 
     
     
       20. The non-transitory computer-readable storage medium of  claim 17 , wherein the instructions when executed by the processing resource further cause the processing resource to enable an auto resynch feature to resume protection of the relationship even when a mediator that is external from the multi-site distributed storage system is unavailable.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.