US 12,321,621 B2
Performing various operations at the granularity of a consistency group within a cross-site storage solution
Murali Subramanian, Karnataka (IN); Akhil Kaushik, San Jose, CA (US); Anoop Vijayan, Karnataka (IN); Omprakash Khandelwal, Bangalore (IN); and Arun Kumar Selvam, Tamilnadu (IN)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp, Inc., San Jose, CA (US)
Filed on May 19, 2023, as Appl. No. 18/320,788.
Application 18/320,788 is a continuation of application No. 17/219,759, filed on Mar. 31, 2021, granted, now 11,934,670.
Prior Publication US 2023/0289076 A1, Sep. 14, 2023
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0631 (2013.01) [G06F 3/0604 (2013.01); G06F 3/067 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by one or more processing resources of a distributed storage system, cause the distributed storage system to:
detect a first volume of a plurality of volumes that are members of a local consistency group of the distributed storage system is in an out-of-synchronization (OOS) state with respect to a mirror copy of a dataset associated with the local consistency group that is maintained on a plurality of corresponding volumes that are members of a remote consistency group of a remote distributed storage system; and
preserve dependent write-order consistency on the mirror copy by:
temporarily disallowing access to data stored on the first volume;
broadcasting, on behalf of the first volume, a first request of a three-way handshake of a consensus protocol to the local consistency group, wherein the consensus protocol is for solving a problem of consensus in a distributed system;
responsive to receipt of the first request directed to a given volume of the plurality of volumes:
temporarily disallowing access to data stored on the given volume; and
triggering a second request of the three-way handshake of the consensus protocol by acknowledging the first request; and
responsive to receipt of the second request directed to a particular volume of the plurality of volumes, placing the particular volume in the OOS state and permitting access to the data stored on the particular volume.