Low overhead resynchronization snapshot creation and utilization
One or more techniques and/or computing devices are provided for resynchronization. For example, a request may be received to create pseudo snapshots of a first consistency group, hosted by a first storage controller, and a second consistency group, hosted by a second storage controller, having a synchronous replication relationship with the first consistency group. Incoming client write requests are logged within an intercept tracking log at the first storage controller. After a first drain without hold of incoming write requests is performed, a first pseudo common snapshot of the second consistency group is created. After a second drain without hold of incoming write operations is performed, a second pseudo common snapshot of the first consistency group and the intercept tracking log is created. The pseudo snapshots and the intercept tracking log (e.g., indicating a delta between the pseudo snapshots) are used to resynchronize the first and second consistency groups.
1 . A method comprising:
beginning at a first time, maintaining tracking information indicative of one or more portions of data associated with an application that differ between a source consistency group (CG), hosted by a first storage node of a distributed storage system, and a destination CG, hosted by a second storage node of the distributed storage system;
after a first set of inflight write requests received from the application before the first time have been committed on both the source CG and the destination CG, non-disruptively creating a first pseudo common snapshot (PCS) of the destination CG by the second storage node; and
after a second set of inflight write requests received from the application before creation of the first PCS have been committed on both the source CG and the destination CG, non-disruptively creating a second PCS of the source CG by the first storage node, wherein the second PCS captures the tracking information.
2 . The method of claim 1 , wherein the first storage node is part of a primary cluster of the distributed storage system and the second storage node is part of a secondary cluster of the distributed storage system.
3 . The method of claim 2 , wherein the distributed storage system comprises a cross-site distributed storage system in which the primary cluster is located at a first site and the secondary cluster is located at a second site that is remote from the first site.
4 . The method of claim 1 , wherein the first storage node and the second storage node are:
co-located at a same site;
part of a same cluster of the distributed storage system;
locally connected to one or more of each other and a common set of storage devices; and
configured according to a high-availability (HA) configuration.
5 . The method of claim 1 , wherein said non-disruptively creating a first PCS comprises creating the first PCS without pausing incoming write requests received from the application during creation of the first PCS.
6 . The method of claim 1 , wherein said non-disruptively creating a second PCS comprises creating the second PCS without pausing incoming write requests received from the application during creation of the second PCS.
7 . A non-transitory machine readable storage medium comprising machine executable code which when executed by one or more processors of a distributed storage system, causes the distributed storage system to:
beginning at a first time, maintain tracking information indicative of one or more portions of data associated with an application that differ between a source consistency group (CG), hosted by a first storage node of the distributed storage system, and a destination CG, hosted by a second storage node of the distributed storage system;
after a first set of inflight write requests received from the application before the first time have been committed on both the source CG and the destination CG, non-disruptively create a first pseudo common snapshot (PCS) of the destination CG by the second storage node; and
after a second set of inflight write requests received from the application before creation of the first PCS have been committed on both the source CG and the destination CG, non-disruptively create a second PCS of the source CG by the first storage node, wherein the second PCS captures the tracking information.
8 . The non-transitory machine readable storage medium of claim 7 , wherein the first storage node is part of a primary cluster of the distributed storage system and the second storage node is part of a secondary cluster of the distributed storage system.
9 . The non-transitory machine readable storage medium of claim 8 , wherein the distributed storage system comprises a cross-site distributed storage system in which the primary cluster is located at a first site and the secondary cluster is located at a second site that is remote from the first site.
10 . The non-transitory machine readable storage medium of claim 7 , wherein the first storage node and the second storage node are:
co-located at a same site;
part of a same cluster of the distributed storage system;
locally connected to one or more of each other and a common set of storage devices; and
configured according to a high-availability (HA) configuration.
11 . The non-transitory machine readable storage medium of claim 7 , wherein non-disruptive creation of the first PCS comprises creating the first PCS without pausing incoming write requests received from the application during creation of the first PCS.
12 . The non-transitory machine readable storage medium of claim 7 , wherein non-disruptive creation of the second PCS comprises creating the second PCS without pausing incoming write requests received from the application during creation of the second PCS.
13 . The non-transitory machine readable storage medium of claim 7 , wherein the source CG comprises one or more of a plurality of volumes and a plurality of logical unit numbers (LUNs).
14 . A distributed storage system comprising:
one or more processors; and
instructions that when executed by the one or more processors cause the distributed storage system to:
beginning at a first time, maintain tracking information indicative of one or more portions of data associated with an application that differ between a source consistency group (CG), hosted by a first storage node of the distributed storage system, and a destination CG, hosted by a second storage node of the distributed storage system;
after a first set of inflight write requests received from the application before the first time have been committed on both the source CG and the destination CG, non-disruptively create a first pseudo common snapshot (PCS) of the destination CG by the second storage node; and
after a second set of inflight write requests received from the application before creation of the first PCS have been committed on both the source CG and the destination CG, non-disruptively create a second PCS of the source CG by the first storage node, wherein the second PCS captures the tracking information.
15 . The distributed storage system of claim 14 , wherein the first storage node is part of a primary cluster of the distributed storage system and the second storage node is part of a secondary cluster of the distributed storage system.
16 . The distributed storage system of claim 15 , wherein the distributed storage system comprises a cross-site distributed storage system in which the primary cluster is located at a first site and the secondary cluster is located at a second site that is remote from the first site.
17 . The distributed storage system of claim 14 , wherein the first storage node and the second storage node are:
co-located at a same site;
part of a same cluster of the distributed storage system;
locally connected to one or more of each other and a common set of storage devices; and
configured according to a high-availability (HA) configuration.
18 . The distributed storage system of claim 14 , wherein non-disruptive creation of the first PCS comprises creating the first PCS without pausing incoming write requests received from the application during creation of the first PCS.
19 . The distributed storage system of claim 14 , wherein non-disruptive creation of the second PCS comprises creating the second PCS without pausing incoming write requests received from the application during creation of the second PCS.
20 . The distributed storage system of claim 14 , wherein the source CG comprises one or more of a plurality of volumes and a plurality of logical unit numbers (LUNs).