Monday, September 7, 2015

Snapmirror Cascading replication - A-->B-->C - Netapp Notes NCDA

The great feature in Netapp storage is that we can still replicate the data from DR to another DR site. 

    You can replicate data from a SnapMirror destination to another system using SnapMirror. Therefore, a system that is a destination for one SnapMirror relationship can act as the source for another SnapMirror relationship. This is useful when you need to copy data from one site to many sites.

   Instead of replicating data from a single source to each of the destinations, you can replicate data from one destination to another destination, in a series. This is referred to as cascading.

How SnapMirror handles Snapshot copies for cascading destinations

 SnapMirror retains on the original source volume the Snapshot copies needed for transfers to destinations further down the line. Snapshot copies that are still needed by a destination are labeled snapmirror in the output of the snap list command. SnapMirror deletes the Snapshot copies it no longer needs.

The following table lists the two-hop cascade configurations that are supported for SnapMirror replication:

System A to system B System B to system C
Synchronous SnapMirror Asynchronous volume SnapMirror
Asynchronous volume SnapMirror Asynchronous volume SnapMirror
Asynchronous volume SnapMirror Qtree SnapMirror
Qtree SnapMirror Asynchronous volume SnapMirror

Observations and Careful points

1. When A > B is replicating, B > C will be pending mode until A >B should complete.
2. Snapmirror scheduling should be configured in a different way that  A > B > C always should not be the same timings.


A > B - 15 * * * *
B > C - 45 * * * *

3. You should be very careful when increasing the volume size in source
4. Do not use snapmirror release it will disconnect the destination snapmirror
5. All time switch off volume fixed_size option in DR and DR, if you switch on fixed_size you have to break the relationship to increase the volume size.
6. Enable Volume option unicode 
7. When you want to break relationship and re-sync the relationship between cascading sites do not blindly delete snapshot copies it will lead to re-initialize.

Snapmirror Cascading Setup How to: 

  1. Add the snapmirror.allow entry in all the filers to all the filers
  2. Add the hosts names in /etc/hosts file in all the Netapp filers 
  3. Setup the snapmirror first from A > B
  4. Wait until A > B replication should complete and do two three updates
  5. Keep the C Netapp filer volume in restrict mode
  6. Initialize snapmirror from B > C Netapp Filer

See the snapmirror destinations from source using below command
snapmirror destinations -s <VolumeName>

snapmirror initialization using below command
snapmirror initialize -S Netapp:SrcVolume1 Netapp1:DstVolume1
snapmirror initialize Netapp:SrcVolume1 Netapp1:DstVolume1

See the snapmirror status
snapmirror status
snapmirror status -l

How to temporarily bypass a SnapMirror node in a cascading SnapMirror

When the middle storage system is offline the SM_destination cannot be updated.

 check the snap list in site A and site C should have common snapshots
NetappA>snap list

Now resync the snapmirror from site A to site C

NetappC>snapmirror resync -S NetappA:A_Volume NetappC:C_Volume

When NetappB is came back to online then rollback the snapmirror to the NetappA > NetappB

Now break the relationship between temporary relationship
snapmirror quiese C_Volume
snapmirror break C_Volume

Now snapmirror resync with C site from B site
snapmirror resync -S NetappB:B_Volume NetappC:C_Volume

then update the snapmirror from site A to site B
snapmirror update B_Volume

then release the snapmirror from site A source to site C second DR
snapmirror release B_Volume NetappC:C_Volume

Please provide your valuable comments....


  1. Hi Ravi, Its really sensible.

    I have a doubt, while replication A > B, destination B is offline(restricted mode),then how could we use as B < C (This is scenario B should be online) but as per A > B, B is off line. How to workout cascading function ?

    1. Yes, We do A --> C whenever B is Failed. Redirect from A --> C Directly without B. One condition is that one common snapshot should exists between A and C.

  2. While 'B' is replicating to 'C' for the first time, wherein it is in 'Intialization' stage (which will be of a longer period), during this time will 'B' still keep replicating from 'A' new data changes via Snapmirror