Coordinated checkpoints among storage systems implementing checkpoint-based replication
Coordinated checkpoints among storage systems implementing checkpoint-based replication, including orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across two or more source storage systems; and coordinating a replication of the one or more coordinated lightweight checkpoints from the two or more source storage systems to two or more target storage systems.
1. A method comprising:
orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across two or more source storage systems that each store a local portion of the source dataset, wherein, for each coordinated lightweight checkpoint, the two or more source storage systems replicate respective local lightweight checkpoints to two or more target storage systems; and
determining, across the two or more target storage systems, that each target storage system has received a replicated local lightweight checkpoint corresponding to a same coordinated target checkpoint.
2. The method of claim 1 , wherein a coordinated lightweight checkpoint represents a coordinated point in time for the source dataset that is coordinated, by a source coordinator, across the two or more source storage systems.
3. The method of claim 1 , wherein a source coordinator coordinates, for each coordinated lightweight checkpoint, the two or more source storage systems to generate respective local lightweight checkpoints for their respective local portions of the source dataset.
4. The method of claim 3 , wherein the two or more source storage systems are paired with the two or more target storage systems for replication; and wherein the respective local lightweight checkpoints are replicated between replication pairs.
5. The method of claim 4 , wherein a replication link between a replicating pair employs a near-synchronous replication policy.
6. The method of claim 1 , wherein at least one first source storage system and at least one second source storage system employ different storage implementations.
7. The method of claim 1 , wherein orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across two or more source storage systems includes:
identifying respective local clock values of the two or more source storage systems;
identifying a messaging delay value for the two or more source storage systems;
determining, based on at least the respective local clock values and messaging delay value, a coordinated time period; and
orchestrating a first coordinated lightweight checkpoint by requesting the two or more source storage systems to generate a first set of respective local lightweight checkpoints during the coordinated time period.
8. The method of claim 7 further comprising:
orchestrating a second coordinated lightweight checkpoint by requesting, without identifying updated respective local clock values, the two or more source storage systems to generate a second set of local lightweight checkpoints during a second coordinated time period.
9. The method of claim 7 further comprising:
orchestrating a series of subsequent coordinated lightweight checkpoints by requesting the two or more source storage systems to generate a series of local lightweight checkpoints based on a particular time interval.
10. The method of claim 7 further comprising:
recalculating a clock variance based on updated respective local clock values of the two or more source storage systems to avoid excessive clock drift; and
orchestrating a second coordinated lightweight checkpoint, based on the recalculated clock variance, by requesting the two or more source storage systems to generate a second set of local lightweight checkpoints during a second coordinated time period.
11. The method of claim 10 , wherein, in response to detecting an excessive clock drift, a previous coordinated lightweight checkpoint is indicated as potentially invalid.
12. The method of claim 7 , wherein a second coordinated lightweight checkpoint is orchestrated by the two or more source storage systems autonomously generating a second set of respective local lightweight checkpoints during a second coordinated time period that is based on the coordinated time period.
13. A system comprising:
two or more source storage systems that each store a local portion of a source dataset;
two or more target storage systems that are replication targets of the two or more source storage systems;
a source coordinator device configured to orchestrate one or more coordinated lightweight checkpoints for the source dataset, wherein, for each coordinated lightweight checkpoint, the two or more source storage systems replicate respective local lightweight checkpoints to the two or more target storage systems; and
a target coordinator device configured to determine, across the two or more target storage systems, that each target storage system has received a replicated local lightweight checkpoint corresponding to a same coordinated target checkpoint.
14. The system of claim 13 , wherein orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across the two or more source storage systems includes:
identifying respective local clock values of the two or more source storage systems;
identifying a messaging delay value for the two or more source storage systems;
determining, based on at least the respective local clock values and the messaging delay value, a coordinated time period; and
orchestrating a first coordinated lightweight checkpoint by requesting the two or more source storage systems to generate a first set of respective local lightweight checkpoints during the coordinated time period.
15. The system of claim 14 , wherein the source coordinator device is further configured to:
orchestrate a second coordinated lightweight checkpoint by requesting, without identifying updated respective local clock values, the two or more source storage systems to generate a second set of local lightweight checkpoints during a second coordinated time period.
16. The system of claim 14 , wherein the source coordinator device is further configured to:
orchestrate a series of subsequent coordinated lightweight checkpoints by requesting the two or more source storage systems to generate a series of local lightweight checkpoints based on a particular time interval.
17. The system of claim 14 , wherein the source coordinator device is further configured to:
recalculate a clock variance based on updated respective local clock values of the two or more source storage systems to avoid excessive clock drift; and
orchestrate a second coordinated lightweight checkpoint, based on the recalculated clock variance, by requesting the two or more source storage systems to generate a second set of local lightweight checkpoints during a second coordinated time period.
18. The system of claim 14 , wherein a second coordinated lightweight checkpoint is orchestrated by the two or more source storage systems autonomously generating a second set of respective local lightweight checkpoints during a second coordinated time period that is based on the coordinated time period.
19. The system of claim 13 , wherein the source coordinator device is comprised in one of the two or more source storage systems.
20. A computer program product disposed on a non-transitory computer readable storage medium, the computer program product including computer program instructions that, when executed, carry out the steps of:
orchestrating one or more coordinated lightweight checkpoints for a source dataset stored across two or more source storage systems that each store a local portion of the source dataset, wherein, for each coordinated lightweight checkpoint, the two or more source storage systems replicate respective local lightweight checkpoints to two or more target storage systems; and
determining, across the two or more target storage systems, that each target storage system has received a replicated local lightweight checkpoint corresponding to a same coordinated target checkpoint.