Skip to main content

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,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.
  • Periodic replication isn't supported for encrypted volumes at all; continuous replication ofReplicating 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

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

    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>
    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:

    • --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 continuous 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
    

    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