Starting and stopping replication
This page covers the commands that create, adjust, and tear down a replication pairing: starting replication on a volume, changing a pairing's protocol, pausing and resuming, and stopping replication entirely. For background on what replication does, 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.
- Replicating 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
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.
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>
| 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
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.
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 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
Next: Promoting and monitoring replication
See also: Replication · Replication IPs
No comments to display
No comments to display