ONTAP Discussions

cDOT SnapMirror Policies

tyrone_owen_1
10,111 Views

Hi

 

ONTAP: 8.3.1P1

 

I've created several SnapMirror relationshsips via OnCommand System Manager and noticed that the data protection snapshots were not getting mirrored. I was using the DPDefault policy and changed to the MIrrorAllSnapshots policy, however the snaps still aren't getting mirrored. Any ideas?

 

Thanks

1 ACCEPTED SOLUTION

tyrone_owen_1
6,779 Views

Sorry, forgot to get back to this one.

 

The new terminology is confusing, you have a Relationship Type, a SnapMirror Policy Type and a SnapMirror Policy. It takes a while to get a hang of the concepts especially as the manuals don't really do a great job of explaining things. 

 

I did resolve it more or less along the lines that you suggested.

 

  1. Modified the existing relationship to SnapMirror policy XDPDefault
  2. Completed a SnapMirror update specifying one of the older snapshots
  3. Modified the SnapMirror policy back to MirrorAllSnapshots
  4. A subsequent snapmirror update relciated all the older snapshots

Thanks,

 

Ty

View solution in original post

10 REPLIES 10

J_curl
10,064 Views

8.3.1P1 on both source and destination?  Are any snaps transferred?  What do the relationship status and mirror state show from CLI if you run "snapmirror show <relationship> -instance"?

tyrone_owen_1
10,058 Views

Thanks for the reply.

 

Yes, 8.3.1P1 at source and destination.

 

I'm happy the mirrors are updating. I can see the timestamps of the mirror snaps updating, transfer rates, last transfer end time, etc. All looks good apart from mirroring the non-mirror snapshots. It's like the policy is stuck on DPDefault.

 

Thanks

J_curl
10,044 Views

weird, either way you should see all the snapshots at secondary with DP.

 

Can you post snapmirror show -instance for this relationship?

tyrone_owen_1
10,041 Views

I thought DPDefault only mirrored snaps with a specific label?

 

      SnapMirror Policy Name: DPDefault
      SnapMirror Policy Type: async-mirror
                Policy Owner: cluster-admin
                 Tries Limit: 8
           Transfer Priority: normal
   Ignore accesstime Enabled: false
     Transfer Restartability: always
 Network Compression Enabled: false
             Create Snapshot: true
                     Comment: Default policy for DP relationship.
       Total Number of Rules: 1
                  Total Keep: 1
                       Rules: SnapMirror Label               Keep Preserve Warn
                              ------------------------------ ---- -------- ----
                              sm_created                        1 false       0

 

If I create a new mirror with the MirrorAllSnapshots policy then there isn't a problem. However modifying the mirror doesn't seem to work.

 

SnapMirror show:

 

cdotclusterdest::system controller> snapmirror show *test* -instance

                            Source Path: cdotclustersource-svm1:test_source
                       Destination Path: cdotclusterdest-svm1:test_destination
                      Relationship Type: XDP
                Relationship Group Type: none
                    SnapMirror Schedule: -
                 SnapMirror Policy Type: async-mirror
                      SnapMirror Policy: MirrorAllSnapshots
                            Tries Limit: -
                      Throttle (KB/sec): unlimited
                           Mirror State: Snapmirrored
                    Relationship Status: Idle
                File Restore File Count: -
                 File Restore File List: -
                      Transfer Snapshot: -
                      Snapshot Progress: -
                         Total Progress: -
              Network Compression Ratio: -
                    Snapshot Checkpoint: -
                        Newest Snapshot: snapmirror.5172d83e-bec6-11e5-8993-00a0989ab01a_2147484832.2016-06-30_193015
              Newest Snapshot Timestamp: 06/30 19:30:15
                      Exported Snapshot: snapmirror.5172d83e-bec6-11e5-8993-00a0989ab01a_2147484832.2016-06-30_193015
            Exported Snapshot Timestamp: 06/30 19:30:15
                                Healthy: true
                       Unhealthy Reason: -
               Constituent Relationship: false
                Destination Volume Node: cdotclusterdest-n2
                        Relationship ID: 01b1ac95-3eef-11e6-89fb-00a0989ac68f
                   Current Operation ID: -
                          Transfer Type: -
                         Transfer Error: -
                       Current Throttle: -
              Current Transfer Priority: -
                     Last Transfer Type: update
                    Last Transfer Error: -
                     Last Transfer Size: 1.14KB
Last Transfer Network Compression Ratio: 1:1
                 Last Transfer Duration: 0:0:4
                     Last Transfer From: cdotclustersource-svm1:test_source
            Last Transfer End Timestamp: 06/30 19:30:19
                  Progress Last Updated: -
                Relationship Capability: 8.2 and above
                               Lag Time: 0:5:21
           Identity Preserve Vserver DR: -
           Number of Successful Updates: 6
               Number of Failed Updates: 0
           Number of Successful Resyncs: 0
               Number of Failed Resyncs: 0
            Number of Successful Breaks: 0
                Number of Failed Breaks: 0
                   Total Transfer Bytes: 18704
         Total Transfer Time in Seconds: 38

J_curl
10,022 Views

There is the issue, see the relationship type is XDP, that is a vault not a mirror.  So it doesn't know how to handle "sm_created" snaps.

 

I don;t think you can change a vault to a mirror. If what you want is a mirror you most likely will have to blow this away and re-baseline as a mirror (type DP, rather than XDP)

 

At destination side:

snapmirror delete cdotclusterdest-svm1:test_destination

 

At source side:

snapmirror release cdotclusterdest-svm1:test_destination

 

Back at destination side:

snapmirror create -type DP -source-path cdotclustersource-svm1:test_source -destination-path cdotclusterdest-svm1:test_destination

snapmirror initialize cdotclusterdest-svm1:test_destination

 

J_curl
10,021 Views

also - I don;t know a way to resue the destination volume (once you flip it to RW, I don;t think you can ever flip it back to DP).

 

 You will have to create a new DP volume at the destination.

tyrone_owen_1
10,014 Views

Thanks for persisting

 

This is from the 8.3 manual:

 

In clustered Data ONTAP 8.2 data protection (DP) relationships were used for mirroring,

while extended data protection (XDP) relationships were used for backup/vaulting. In

clustered Data ONTAP 8.3 extended data protection (XDP) relationships support two

more use cases, mirroring and unified mirror-vault. The exact behavior of an extended

data protection (XDP) relationship is governed by the snapmirror policy associated

with that relationship. In clustered ONTAP 8.3 the snapmirror policy has a new

field type to indicate how the relationships with that policy will behave. The supported

types are async-mirror (mirroring), vault (vaulting/backup) and mirror-vault (unified

mirroring and vault).

 

Here's an example of a mirror which is mirroring snapshots:

 

                            Source Path: h3bsppp1c1-svm1:bi_test
                       Destination Path: h3ctcpp1c1-svm1:bi_test_mirror
                      Relationship Type: XDP
                Relationship Group Type: none
                    SnapMirror Schedule: -
                 SnapMirror Policy Type: async-mirror
                      SnapMirror Policy: MirrorAllSnapshots
                            Tries Limit: -
                      Throttle (KB/sec): unlimited
                           Mirror State: Snapmirrored
                    Relationship Status: Idle

 

Compared to the one that isn't working:

 

                            Source Path: cdotclustersource-svm1:test_source
                       Destination Path: cdotclusterdest-svm1:test_destination
                      Relationship Type: XDP
                Relationship Group Type: none
                    SnapMirror Schedule: -
                 SnapMirror Policy Type: async-mirror
                      SnapMirror Policy: MirrorAllSnapshots
                            Tries Limit: -
                      Throttle (KB/sec): unlimited
                           Mirror State: Snapmirrored
                    Relationship Status: Idle

 

The only difference between the two is that the one that isn't working has had it's policy changed from DPDefault to MirrorAllSnapshots

 

J_curl
9,990 Views

I guess I have totally missed those new 8.3 features...  Still doing it the old fashioned way!

aborzenkov
9,795 Views

 The only difference between the two is that the one that isn't working has had it's policy changed from DPDefault to MirrorAllSnapshots

Version flexible snapmirror transfers all snapshots since common base snapshot. DPDefault policy creates new snapmirror snapshot when you start update and keeps this and only this snapshot, which also becomes next base snapshot. When you change policy to MirrorAllSnapshots, any snapshot on source volume that is older than latest snapmirror snapshot will be ignored. What you can do to transfer old snapshots is

 

  1. destroy existing snapmirror relationship
  2. create snapvault (XDP with policy XDPDefault)
  3. resync using explicitly the oldest snapshot on source and -preserve to keep target content
  4. destroy relationship and recreate again as XDP with policy MirrorAllSnapshots
  5. update new snapmirror

Step 3 creates base snapshot from the oldest source snapshot; step 5 will transfer everything newer skipping over existing snapshots.

 

P.S. I think using DPDefault as alias for MirrorLatest was mistake; it means that moving from traditional SnapMirror to version flexible will suddenly do entirely different thing for apparently the same configuration. DPDefault should have been alias for MirrorAllSnapshots that is exactly what traditional SnapMirror did.

tyrone_owen_1
6,780 Views

Sorry, forgot to get back to this one.

 

The new terminology is confusing, you have a Relationship Type, a SnapMirror Policy Type and a SnapMirror Policy. It takes a while to get a hang of the concepts especially as the manuals don't really do a great job of explaining things. 

 

I did resolve it more or less along the lines that you suggested.

 

  1. Modified the existing relationship to SnapMirror policy XDPDefault
  2. Completed a SnapMirror update specifying one of the older snapshots
  3. Modified the SnapMirror policy back to MirrorAllSnapshots
  4. A subsequent snapmirror update relciated all the older snapshots

Thanks,

 

Ty

Public