Skip to main content

Resync a protection group

POST 

/v1/protection-groups/:id/resync

Stands this region's copy of the workload down after the other region took it over without a release, keeping what was written here as a backup first. Runs where the group's custody is active and the other region has recorded taking the group at the custody epoch held here or above, which is what puts a group in split_brain_risk; without such a record it is refused with no_newer_custody_elsewhere. Only an operator can start one, and only by confirming with confirm_discard_local_writes.

The run pauses the members' plans, locks and stops their servers, then asks of each member whether anything changed after the point the other region recovered from, by comparing its disks with that point's snapshot; a member that cannot be compared is taken to have changed. Each member that changed is backed up first, labelled with the cloud and epoch it diverged from, so what was written here can be restored later like any backup. The group's custody here then becomes standby at the other region's epoch, which is the run's point of no return, and the resync is recorded for the other region to read. At the group's home, each member then holds that backup, or the point the other region recovered from when nothing changed, for the failback that returns to it. A failure before the point of no return starts the servers again and leaves the group as it was, split_brain_risk included.

Operator only: needs a system-scoped token.

Request​

Responses​

OK.

With dry_run=true, the plan the run would follow. Nothing was started.