IP Library Granted Patent US 12,019,873
Granted Patent B2
US 12,019,873 · App. 17/875,849 · Granted Jun 25, 2024

Methods and systems to improve resumption time of input/output (I/O) operations based on prefetching of configuration data and early abort of conflicting workflows during a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system

Inventors: Anoop Vijayan (Karnataka, IN); Akhil Kaushik (Karnataka, IN); Sohan Shetty (Bangalore, IN); Dhruvil Shah (Karnataka, IN)
Assignee: NetApp, Inc.
G06F3/0611G06F3/0614G06F3/0655G06F3/067
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,019,873
App. No.
17/875,849
Granted
Jun 25, 2024
Kind
B2
Abstract

Multi-site distributed storage systems and computer-implemented methods are described for improving a resumption time for processing of input/output (I/O) operations during an automatic unplanned failover (AUFO). A first storage cluster includes a first set of consistency groups (CGs) and a second storage cluster includes a second mirrored set of CGs. A computer-implemented method includes prefetching, with a user space of the second storage cluster, configuration information from a replicated database prior to starting the AUFO workflow, sending the configuration information to a kernel space of the second storage cluster on a per CG level while queuing the AUFO workflow, and determining if any in progress workflows conflict with the AUFO workflow.

Claims (49)

1. A computer-implemented method performed by one or more processors of a multi-site distributed storage system with a first storage cluster having a first set of consistency groups (CGs) and a second storage cluster having a second mirrored set of CGs, the method comprising:

prefetching, with a user space of the second storage cluster, configuration information from a replicated database prior to starting a non-disruptive automatic unplanned failover (AUFO) workflow;

sending the configuration information to a kernel space on a per CG level while queuing the AUFO workflow; and

determining if any in progress workflows conflict with the AUFO workflow to facilitate abort of any in progress workflows to reduce a resumption time of input/output (I/O) operations during the AUFO workflow.

2. The computer-implemented method of claim 1 , further comprising:

aborting a conflicting workflow if any workflows conflict with the AUFO workflow; and

initiating the AUFO workflow based on the prefetched configuration information.

3. The computer-implemented method of claim 1 , further comprising:

storing the configuration information in a memory region of the kernel space and using this information for operations of the AUFO workflow.

4. The computer-implemented method of claim 1 , wherein the configuration information comprises identifiers for all volumes of each consistency group in a storage node and identifiers for storage nodes in a storage cluster.

5. The computer-implemented method of claim 2 , wherein aborting a conflicting workflow if any workflows conflict with the AUFO workflow comprises:

performing a wake up and abort of a conflicting workflow thread of the conflicting workflow with the conflicting workflow thread waiting for a session call to return; and

updating of a state in a cluster session manager (CSM) context to indicate that the conflicting workflow thread was aborted and not to access the conflicting workflow thread.

6. The computer-implemented method of claim 5 , further comprising:

locking coordination between an AUFO thread and a CSM thread in accessing states stored in the CSM context and the conflicting workflow thread.

7. The computer-implemented method of claim 1 , wherein the conflicting workflow comprises a fast resynchronization workflow, a common snapshot workflow, or planned failover workflow.

8. A storage node of a multi-site distributed storage system having a primary storage site with a first cluster and a secondary storage site with a second cluster, the storage node 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:

prefetch configuration information from a replicated database prior to starting an automatic unplanned failover (AUFO) workflow;

send the configuration information to a kernel space on a per consistency group (CG) level while queuing the AUFO workflow; and

determine if any in progress workflows conflict with the AUFO workflow to facilitate abort of any in progress workflows to reduce a resumption time of input/output (I/O) operations during the AUFO workflow.

9. The storage node of claim 8 , wherein the instructions when executed by the processing resource cause the processing resource to:

abort a conflicting workflow if any workflows conflict with the AUFO workflow; and

initiate the AUFO workflow based on the prefetched configuration information.

10. The storage node of claim 8 , wherein the instructions when executed by the processing resource cause the processing resource to:

store the configuration information in a memory region of the kernel space and using this information for operations of the AUFO workflow.

11. The storage node of claim 8 , wherein the configuration information comprises identifiers for all volumes of each consistency group in a storage node and identifiers for storage nodes in a storage cluster.

12. The storage node of claim 8 , wherein the instructions when executed by the processing resource cause the processing resource to:

perform a wake up and abort of a conflicting workflow thread of the conflicting workflow with the conflicting workflow thread waiting for a session call to return; and

update of a state in a cluster session manager (CSM) context to indicate that the conflicting workflow thread was aborted and not to access the conflicting workflow thread.

13. The storage node of claim 12 , wherein the instructions when executed by the processing resource cause the processing resource to:

lock coordination between an AUFO thread and a CSM thread in accessing the states stored in the CSM context and the conflicting workflow thread.

14. The storage node of claim 8 , wherein the conflicting workflow comprises a fast resynchronization workflow, a common snapshot workflow, or planned failover workflow.

15. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by a processing resource of a storage cluster of a multi-site distributed storage system cause the processing resource to:

prefetch, with a user space of the storage cluster, configuration information from a replicated database prior to starting an automatic unplanned failover (AUFO) workflow;

send the configuration information to a kernel space on a per consistency group (CG) level while queuing the AUFO workflow; and

determine if any in progress workflows conflict with the AUFO workflow to facilitate abort of any in progress workflows to reduce a resumption time of input/output (I/O) operations during the AUFO workflow.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the processing resource cause the processing resource to:

abort a conflicting workflow if any workflows conflict with the AUFO workflow; and

initiate the AUFO workflow based on the prefetched configuration information.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the processing resource cause the processing resource to:

store the configuration information in a memory region of the kernel space and using this information for operations of the AUFO workflow.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the configuration information comprises identifiers for all volumes of each consistency group in a storage node and identifiers for storage nodes in the storage cluster.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the processing resource cause the processing resource to:

perform a wake up and abort of a conflicting workflow thread of the conflicting workflow with the conflicting workflow thread waiting for a session call to return; and

update of a state in a cluster session manager (CSM) context to indicate that the conflicting workflow thread was aborted and not to access the conflicting workflow thread.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions when executed by the processing resource cause the processing resource to:

lock coordination between an AUFO thread and a CSM thread in accessing states stored in the CSM context and the conflicting workflow thread.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2022
From: VIJAYAN, ANOOP; KAUSHIK, AKHIL; SHETTY, SOHAN; SHAH, DHRUVIL
To: NETAPP, INC.
Reel/Frame 060658/0251 →
Continuity (1)
Related Publication 20240036732A1 · Feb 1, 2024
Cited By (2)
US 12,235,741 US 12,566,550