US2023031079A1PendingUtilityA1

Resynchronization to a synchronous replication relationship

Assignee: NETAPP INCPriority: Aug 9, 2018Filed: Oct 9, 2022Published: Feb 2, 2023
Est. expiryAug 9, 2038(~12 yrs left)· nominal 20-yr term from priority
G06F 16/27G06F 16/275G06F 11/2082G06F 11/1662G06F 16/2358G06F 16/273G06F 16/178G06F 11/2097G06F 16/1805G06F 11/2094
71
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Techniques are provided for resynchronizing a synchronous replication relationship. Asynchronous incremental transfers are performed to replicate data of a storage object to a replicated storage object. Incoming write requests, targeting the storage object, are logged into a dirty region log during a last asynchronous incremental transfer. Metadata operations, executed on the storage object, are logged into a metadata log during the last asynchronous incremental transfer. Sequence numbers are assigned to the metadata operations based upon an order of execution. The metadata operations are replicated to the replicated storage object for execution according to the sequence numbers, and the dirty regions are replicated to the replicated storage object in response to the metadata operations having been replicated to the replicated storage object. The storage object and replicated storage object are transitioned to a synchronous replication state where incoming operations are synchronously replicated to the replicated storage object.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system comprising:
 an incore splitter object that:
 intercepts operations targeting a storage object, executes the operations upon the storage object, and replicates the operations to a replicated storage object; 
 in response to the incore splitter object being configured according to a dirty region logging state, sets dirty bits within a dirty region log for regions, modified by write operations executed upon the storage object, for subsequent replication during a cutover phase; and 
 in response to the incore splitter object being configured according to a cut over split state, processes incoming write operations based upon whether the incoming write operations target dirty regions, non-dirty regions, or partially dirty regions of the storage object, wherein an incoming write operation is written to the storage object and is directly replicated to the replicated storage object if the incoming write operation targets a non-dirty region or a partially dirty region of the storage object; and 
   a cutover scanner that reads the dirty region log and replicates dirty data from the dirty regions of the storage object to the replicated storage object during the cutover phase.   
     
     
         2 . The system of  claim 1 , wherein the incoming write operation is executed upon the storage object and is logged into the dirty region log by the incore splitter object while configured according to the cut over split state if the incoming write operation targets a dirty region of the storage object. 
     
     
         3 . The system of  claim 1 , wherein signatures are assigned to write operations to indicate that the write operations are accounted for by the dirty region log. 
     
     
         4 . The system of  claim 1 , wherein a write operation is failed based upon the write operation not being assigned a signature because the write operation was not accounted for and tracked by the dirty region log. 
     
     
         5 . The system of  claim 1 , wherein timestamps read from an active file system are replicated during the cutover phase for being conditionally applied only if a latest timestamp is larger than a timestamp in an inode of the replicated storage object. 
     
     
         6 . The system of  claim 1 , wherein a node maintains a plurality of replication endpoints, wherein a replication endpoint corresponds to the replicated storage object, and wherein incore splitter objects are setup for each replication endpoint. 
     
     
         7 . The system of  claim 1 , wherein timestamp changes for the storage object are logged within a metadata log and are replicated to the replicated storage object. 
     
     
         8 . The system of  claim 1 , wherein portions of the dirty region log are skipped by the cutover scanner during the cutover phase based upon the portions being rendered invalid due to subsequently executed metadata operations executed after write operations that created dirty data tracked by the portions of the dirty region log. 
     
     
         9 . The system of  claim 1 , wherein a splitter queue is associated with the incore splitter object, and wherein incoming metadata operations are inserted by the incore splitter object into the splitter queue until a snapshot is created for performing an asynchronous replication transfer of data from the storage object to the replicated storage object. 
     
     
         10 . A system comprising:
 an incore splitter object that:
 intercepts operations targeting a storage object, executes the operations upon the storage object, and replicates the operations to a replicated storage object; 
 in response to the incore splitter object being configured according to a dirty region logging state, sets dirty bits within a dirty region log for regions, modified by write operations executed upon the storage object, for subsequent replication during a cutover phase; and 
 in response to the incore splitter object being configured according to a cut over split state, processes incoming write operations based upon whether the incoming write operations target dirty regions, non-dirty regions, or partially dirty regions of the storage object, wherein an incoming write operation is executed upon the storage object and is logged into the dirty region log by the incore splitter object if the incoming write operation targets a dirty region of the storage object; and 
   a cutover scanner that reads the dirty region log and replicates dirty data from the dirty regions of the storage object to the replicated storage object during the cutover phase.   
     
     
         11 . The system of  claim 10 , wherein the incoming write operation is written to the storage object and is directly replicated to the replicated storage object while configured according to the cut over split state if the incoming write operation targets a non-dirty region or a partially dirty region of the storage object. 
     
     
         12 . The system of  claim 10 , wherein portions of the dirty region log are skipped by the cutover scanner during the cutover phase based upon the portions being rendered invalid due to subsequently executed metadata operations executed after write operations that created dirty data tracked by the portions of the dirty region log. 
     
     
         13 . The system of  claim 10 , wherein a splitter queue is associated with the incore splitter object, and wherein incoming metadata operations are inserted by the incore splitter object into the splitter queue until a snapshot is created for performing an asynchronous replication transfer of data from the storage object to the replicated storage object. 
     
     
         14 . The system of  claim 10 , wherein signatures are assigned to write operation to indicate that the write operations are accounted for by the dirty region log. 
     
     
         15 . The system of  claim 10 , wherein a write operation is failed based upon the write operation not being assigned as signature because the write operation was not accounted for and tracked by the dirty region log. 
     
     
         16 . The system of  claim 10 , wherein timestamps read from an active file system are replicated during the cutover phase for being conditionally applied only if a latest timestamp is larger than a timestamp in an inode of the replicated storage object. 
     
     
         17 . The system of  claim 10 , wherein a node maintains a plurality of replication endpoints, wherein a replication endpoint corresponds to the replicated storage object, and wherein incore splitter objects are setup for each replication endpoint. 
     
     
         18 . A method, comprising:
 replicating metadata operations, executed upon a storage object and logged within a metadata log, to a replicated storage object;   reading latest timestamps from an active file system; and   replicating modified data identified by a dirty region log for the storage object and replicating the latest timestamps to the replicated storage object after the metadata operations have been replicated, wherein the replicating the modified data comprises:
 determining that a consistency issue will occur from replicating a modified data based upon a determination that a metadata operation on the storage object occurred subsequent a write operation on the storage object, wherein the metadata operation is determined to invalidate a portion of the dirty region log based upon the metadata operation either deleting or truncating the storage object; and 
 replicating remaining modified data corresponding to a remainder of valid content of the dirty region log and ignoring the consistency issue. 
   
     
     
         19 . The method of  claim 18 , wherein the latest timestamps are conditionally applied only if the latest timestamps are higher than timestamps in inodes of the replicated storage object. 
     
     
         20 . The method of  claim 18 , comprising:
 selectively logging timestamp changes due to the metadata operations into the metadata log and refraining from logging timestamps changes due to write operations into a dirty region log used to track dirty data written by the write operations.

Join the waitlist — get patent alerts

Track US2023031079A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.