Skip to main content

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

  1. Open Application Volumes > Replication.
  2. Click Start Continuous Replication.
  3. Under Source, select the Application, Volume, and the local Source IP (a replication IP) to use.
  4. 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).
  5. Under Protocol, choose Synchronous, Semi-synchronous, or Asynchronous.
  6. 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

  1. Open Application Volumes > Replication.
  2. Select the continuous replication pairing and click Edit.
  3. Under Protocol, choose the new Synchronous, Semi-synchronous, or Asynchronous setting.
  4. 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

  1. Open Application Volumes > Replication.
  2. Select the replication pairing and click Pause (or Resume).
  3. 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:

  • --allowOnDisconnected lets the stop proceed even when the target system itself is unreachable over the network (rather than just the replication link being marked disconnected).
  • --doNotResignature keeps 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

  1. Open Application Volumes > Replication.
  2. Select the replication pairing and click Stop.
  3. 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