Starting and stopping replication
Starting and stopping replication
This page covers the commands that create, adjust, and tear down a replication pairing: starting continuous or periodic replication on a volume, changing a continuous pairing's protocol, pausing and resuming, and stopping replication entirely. For background on what continuous and periodic replication actually do, see Replication.
Before you start replicating a volume, you'll need:
- A replication IP already configured on both the source and target systems.
- The two systems already connected to each other via multi-system management.
Starting continuous replication
Starting continuous replication pairs a volume on this system (which becomes primary) with a volume on a target system (which becomes secondary), and begins mirroring every write between them using the protocol you choose.
You don't have to pre-create the target volume — if you leave --targetApplication/--targetVolume out, StorONE creates a matching application and volume on the target system for you automatically. You'd specify an existing target volume instead if you need to pre-stage it yourself first — for example, to place it on a specific pool, or (for an encrypted source volume) to create it already encrypted with a matching key, since replication doesn't encrypt data in transit and won't encrypt the target volume for you. If you do specify an existing target application/volume, that volume must not already be initialized (written to), and it must use the same sector size as the source.
A few things worth knowing before you start:
- Replicating vRAID+ (striped) volumes isn't supported.
- Periodic replication isn't supported for encrypted volumes at all; continuous replication of an encrypted volume is allowed, but the data is not encrypted in transit, and — unless you point it at a pre-created encrypted target volume — the automatically-created target volume will be unencrypted.
- The first time you start continuous replication on a NAS or object volume, StorONE needs to convert its filesystem metadata to track replication, which briefly disrupts client access to that volume. You'll be asked to confirm this.
Using the web interface
- Open Application Volumes > Replication.
- Click Start Continuous Replication.
- Under Source, select the Application, Volume, and the local Source IP (a replication IP) to use.
- Under Target, select the Target System, its Target IP (the remote replication IP), and, optionally, an existing Target Application/Target Volume to pair with (and whether to Copy Snapshot Schedule from the source).
- Under Protocol, choose Synchronous, Semi-synchronous, or Asynchronous.
- Confirm to start replication.
Using the CLI
replication continuous start
--application=<name>
--volume=<name>
--targetSystem=<name>
[(--targetApplication=<name> --targetVolume=<name> [--copySnapshotSchedule])]
--sourceIp=<name>
--targetIp=<name>
--synchronous|--semisynchronous|--asynchronous
[--force]
| Option | Description |
|---|---|
--application=<name> |
The application the volume to replicate belongs to. |
--volume=<name> |
The volume to replicate. |
--targetSystem=<name> |
Target system to replicate to. |
--targetApplication=<name> |
An existing application with a non-initialized volume for the replication pairing. |
--targetVolume=<name> |
An existing non-initialized target volume to replicate to. |
--copySnapshotSchedule |
Copy the source's snapshot schedule to the target volume. |
--sourceIp=<name> |
The source system's replication IP to use. |
--targetIp=<name> |
The target system's replication IP to use. |
--synchronous |
Synchronous replication. |
--semisynchronous |
Semi-synchronous replication. |
--asynchronous |
Asynchronous replication. |
--force |
Skip the confirmation prompt. |
Examples
Start asynchronous continuous replication of orders to a dr-site system, letting StorONE create the target volume automatically:
replication continuous start --application billing --volume orders --targetSystem dr-site --sourceIp repl-1 --targetIp repl-1-remote --asynchronous
Start synchronous continuous replication between two nearby systems, pairing with an existing pre-created target volume:
replication continuous start --application billing --volume orders --targetSystem site-b --targetApplication billing --targetVolume orders --sourceIp repl-1 --targetIp repl-1-remote --synchronous
Starting periodic replication
Starting periodic replication pairs a volume the same way continuous replication does, but instead of mirroring every write, it replicates snapshots on the schedule already configured for the volume. If the source volume has a snapshot schedule but the target doesn't (and you're pairing with an existing target volume rather than letting StorONE create one), you'll need --copySnapshotSchedule to bring one across — periodic replication can't proceed without a schedule on both sides.
Periodic replication also supports compressing the replicated data, which continuous replication doesn't offer.
Using the web interface
- Open Application Volumes > Replication.
- Click Start Periodic Replication.
- Under Source, select the Application, Volume, and Source IP.
- Under Target, select the Target System, Target IP, and, optionally, an existing Target Application/Target Volume (and whether to Copy Snapshot Schedule).
- Under Options, optionally enable Compressed.
- Confirm to start replication.
Using the CLI
replication periodic start
--application=<name>
--volume=<name>
--targetSystem=<name>
[(--targetApplication=<name> --targetVolume=<name> [--copySnapshotSchedule])]
--sourceIp=<name>
--targetIp=<name>
[--compressed]
[--force]
| Option | Description |
|---|---|
--application=<name> |
The application the volume to replicate belongs to. |
--volume=<name> |
The volume to replicate. |
--targetSystem=<name> |
Target system to replicate to. |
--targetApplication=<name> |
An existing application with a non-initialized volume for the replication pairing. |
--targetVolume=<name> |
An existing non-initialized target volume to replicate to. |
--copySnapshotSchedule |
Copy the source's snapshot schedule to the target volume. |
--sourceIp=<name> |
The source system's replication IP to use. |
--targetIp=<name> |
The target system's replication IP to use. |
--compressed |
Enable compression for data replicated on this connection. |
--force |
Skip the confirmation prompt. |
Examples
Start periodic replication of archives to dr-site, with compression enabled for the link:
replication periodic start --application records --volume archives --targetSystem dr-site --sourceIp repl-1 --targetIp repl-1-remote --compressed
Start periodic replication into an existing target volume, copying the source's snapshot schedule:
replication periodic start --application records --volume archives --targetSystem dr-site --targetApplication records --targetVolume archives --copySnapshotSchedule --sourceIp repl-1 --targetIp repl-1-remote
Changing the replication protocol
You can change a running continuous replication's protocol without stopping and restarting it — for example, to relax a link from synchronous to asynchronous if latency turns out to be too high, or tighten it the other way. This only applies to continuous replication; periodic replication has no protocol to change.
Using the web interface
- Open Application Volumes > Replication.
- Select the continuous replication pairing and click Edit.
- Under Protocol, choose the new Synchronous, Semi-synchronous, or Asynchronous setting.
- Confirm the change.
Using the CLI
replication continuous edit --application=<name> --volume=<name> --targetSystem=<name> --synchronous|--semisynchronous|--asynchronous
| Option | Description |
|---|---|
--application=<name> |
Edit replication for a volume in this application. |
--volume=<name> |
Edit replication for this volume. |
--targetSystem=<name> |
Edit replication for this target system. |
--synchronous |
Change to synchronous replication. |
--semisynchronous |
Change to semi-synchronous replication. |
--asynchronous |
Change to asynchronous replication. |
Example
Switch orders from synchronous to asynchronous replication toward dr-site:
replication continuous edit --application billing --volume orders --targetSystem dr-site --asynchronous
Pausing and resuming replication
Pausing stops replication traffic from flowing between the two systems without tearing down the pairing — the two sides simply stop staying in sync until you resume. This is useful for things like scheduled network maintenance where you'd rather have replication catch up afterward than keep retrying against a link that's about to go down.
Using the web interface
- Open Application Volumes > Replication.
- Select the replication pairing and click Pause (or Resume).
- Confirm the action.
Using the CLI
replication continuous pause --application=<name> --volume=<name> --targetSystem=<name>
replication continuous resume --application=<name> --volume=<name> --targetSystem=<name>
replication periodic pause --application=<name> --volume=<name> --targetSystem=<name>
replication periodic resume --application=<name> --volume=<name> --targetSystem=<name>
| Option | Description |
|---|---|
--application=<name> |
The application the volume to pause/resume replicating belongs to. |
--volume=<name> |
Source volume to pause/resume replicating. |
--targetSystem=<name> |
Pause/resume replication for this target system. |
Examples
Pause continuous replication of orders toward dr-site ahead of planned network maintenance:
replication continuous pause --application billing --volume orders --targetSystem dr-site
Resume it afterward:
replication continuous resume --application billing --volume orders --targetSystem dr-site
Pause periodic replication of archives:
replication periodic pause --application records --volume archives --targetSystem dr-site
Stopping replication
Stopping replication permanently ends the pairing between the two volumes — unlike pausing, this isn't something you casually undo; to replicate again afterward you'd start a new pairing. Because of that, StorONE checks how current the data is on both sides before letting you proceed, and warns you (or blocks you outright) if stopping now would leave you in a bad state.
Stopping continuous replication
If the local (primary) volume isn't up to date, StorONE refuses to stop the replication outright — this isn't something --force can override, since stopping on a stale primary would abandon newer data that hasn't actually reached the target. If the secondary volume isn't up to date, or the network link to it is disconnected, you'll be warned that stopping now will leave the secondary in a corrupted, unusable state; --force skips that warning (and any others) without changing what actually happens.
Two options change what actually happens rather than just skipping prompts:
--allowOnDisconnectedlets the stop proceed even when the target system itself is unreachable over the network (rather than just the replication link being marked disconnected).--doNotResignaturekeeps the volume's current identity instead of resignaturing it. StorONE normally resignatures the volume when the one you're stopping on isn't the volume that was originally primary before any promotions happened — this avoids ending up with two volumes carrying the same identity. It's not recommended to disable this for block volumes if the replication volumes are mapped to the same initiator, since a duplicate identity can confuse host multipathing.
Using the web interface
- Open Application Volumes > Replication.
- Select the continuous replication pairing and click Stop.
- Read the confirmation message — it will call out if the secondary is not up to date — and confirm.
Using the CLI
replication continuous stop --application=<name> --volume=<name> --targetSystem=<name> [--allowOnDisconnected] [--doNotResignature] [--force]
| Option | Description |
|---|---|
--application=<name> |
The application the volume to stop replicating belongs to. |
--volume=<name> |
Source volume to stop replicating. |
--targetSystem=<name> |
Stop replication for this target system. |
--allowOnDisconnected |
Allow stopping the replication when the target system is disconnected. |
--doNotResignature |
Maintain the current volume identification. Not recommended for block volumes if the replication volumes are mapped to the same initiator. |
--force |
Skip the confirmation prompt. |
Examples
Stop continuous replication of orders toward dr-site:
replication continuous stop --application billing --volume orders --targetSystem dr-site
Stop it even though the target system is currently disconnected, without being prompted:
replication continuous stop --application billing --volume orders --targetSystem dr-site --allowOnDisconnected --force
Stopping periodic replication
Periodic replication doesn't have a resignature concern the way continuous replication does, so there's no --doNotResignature option here. StorONE still warns you if the secondary isn't fully synced to the most recent snapshot, or is mid-sync, since stopping in that state leaves the secondary behind with no further updates; --force skips that warning.
Using the web interface
- Open Application Volumes > Replication.
- Select the periodic replication pairing and click Stop.
- Read the confirmation message and confirm.
Using the CLI
replication periodic stop --application=<name> --volume=<name> --targetSystem=<name> [--allowOnDisconnected] [--force]
| Option | Description |
|---|---|
--application=<name> |
The application the volume to stop replicating belongs to. |
--volume=<name> |
Source volume to stop replicating. |
--targetSystem=<name> |
Stop replication for this target system. |
--allowOnDisconnected |
Allow stopping the replication when the target system is disconnected. |
--force |
Skip the confirmation prompt. |
Example
replication periodic stop --application records --volume archives --targetSystem dr-site --force
Next: Promoting and monitoring replication
See also: Replication · Replication IPs