Scheduling replication based on coordinated checkpoints
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 a coordinated checkpoint for a dataset based on a clock value determination for two or more source storage systems that replicate local checkpoints of portions of the dataset to replication targets; and
based on the clock value determination, scheduling different times for replicating local lightweight checkpoints, corresponding to the coordinated checkpoint, to different replication targets.
2. The method of claim 1 , wherein a coordinated lightweight checkpoint represents a coordinated point in time for a 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 a source dataset.
4. The method of claim 3 , wherein the two or more source storage systems are paired with 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 a first coordinated time period.
13. An apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to:
orchestrating a coordinated checkpoint for a dataset based on a clock value determination for two or more source storage systems that replicate local checkpoints of portions of the dataset to replication targets; and
based on the clock value determination, scheduling different times for replicating local lightweight checkpoints, corresponding to the coordinated checkpoint, to different replication targets.
14. 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 a coordinated checkpoint for a dataset based on a clock value determination for two or more source storage systems that replicate local checkpoints of portions of the dataset to replication targets; and
based on the clock value determination, schedule different times for replicating local lightweight checkpoints, corresponding to the coordinated checkpoint, to different replication targets.
15. The system of claim 14 , 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.
16. The system of claim 15 , 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.
17. The system of claim 15 , 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.
18. The system of claim 15 , 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.
19. The system of claim 15 , 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 a first coordinated time period.
20. The system of claim 14 , wherein the source coordinator device is comprised in one of the two or more source storage systems.