Freitag, 22. Januar 2016

Netapp snapmirror from 7-mode to c-mode (cdot) fails with 'Source volume "7modefiler:vol_X" contains 32-bit data'

Imagine you have to snapmirror volumes from a old 7-mode filer to a new cDot one, off-course you read all the Blog-Posts, KBs and documents about. You know you have to convert any 32bit aggregates to 64bit first by adding disks (because your Ontap is below 8.1.4P4 where you can do this without).

About 32bit to 64bit conversion read here ..
https://kb.netapp.com/support/index?id=1014790

If your imagination is not ready - here the commands to create a snapmirror between 7-mode and cdot.

On 7modefiler:

wrfile -a /etc/snapmirror.allow cmodefiler-svm

On cmodefiler:

vserver peer transition create -local-vserver cmodefiler-svm -src-filer-name 7modefiler

network interface modify cmodefiler-svm_cifs_lif1 -vserver cmodefiler-svm -firewall-policy intercluster

network ping -lif cmodefiler-svm_cifs_lif1 -lif-owner cmodefiler-svm -destination 7modefiler

volume create -volume cmodefiler-svm_7mode_vol_X -aggregate cmodefiler-N_aggr_SATA -size 2048GB -type DP -vserver cmodefiler-svm

snapmirror create -source-path 7modefiler:vol_X -destination-path cmodefiler-svm:cmodefiler-svm_7mode_vol_X -type TDP

snapmirror initialize -destination-path cmodefiler-svm:cmodefiler-svm_7mode_vol_X

snapmirror modify -destination-path cmodefiler-svm:cmodefiler-svm_7mode_vol_X -schedule daily

According documentation it should work - but it fails and 'log show' on your c-mode filer show this,

Time                Node             Severity      Event
------------------- ---------------- ------------- ---------------------------
1/22/2016 15:30:03  cmodefiler-N ERROR         smc.snapmir.init.fail: Initialize from source volume '7modefiler:vol_X' contains 32-bit data' to destination volume 'cmodefiler-svm:cmodefiler-svm_7mode_vol_x' failed with error 'Source volume "7modefiler:vol_X" contains 32-bit data. Data transfer from a volume containing 32-bit data is not supported.'. Relationship UUID 'c0a9b225-c113-11e5-9430-xxxxxxxxx'.

while your 7-mode 'vol status' show this

7modefiler*> vol status
         Volume State           Status            Options
           vol0 online          raid_dp, flex     root, create_ucode=on, maxdirsize=73379
                                32-bit
   vol_X       online          raid_dp, flex     create_ucode=on, maxdirsize=73379
                                sis
                                64-bit

I had the luck that 1 of 4 aggregates on 7modefiler allready was 64bit, and the volumes on this aggregate worked fine. I thought with a beer on my sofa about the issue and i remembered that this aggregate was converted by myself some months ago. So what was the difference, the snapshots on the working volumes where already cycled since the conversion.

Rarely known FunFact : 32bit Snapshots were not converted to 64bit while the aggregate and volume itself were converted - they stay 32bit data - you have to delete all older snapshots.


Luckily i 
didn't had to care because i still have the older snapshots on the previous snapmirror destination - if someone would need a backup of his file ndmpcopy would bring it back.

7modefiler*> snap delete -a vol_X

To preserve the in between created 64bit snapshots do it per Powershell

Get-NAVolume|Get-NaSnapshot|?{$_.created -le [datetime]$('01.21.2016')}|Remove-NaSnapshot -Confirm:$false

The failed Snapmirror attempt leave the destination volume in a "unusable" state, so i had to destroy it and recreate again.

volume offline -volume cmodefiler-svm_7mode_vol_X -vserver cmodefiler-svm

snapmirror delete -destination-path cmodefiler-svm:cmodefiler-svm_7mode_vol_X 

volume destroy -volume cmodefiler-svm_7mode_vol_X -vserver cmodefiler-svm -force true

volume create -volume cmodefiler-svm_7mode_vol_X -aggregate cmodefiler-N_aggr_SATA -size 2048GB -type DP -vserver cmodefiler-svm

snapmirror create -source-path 7modefiler:vol_X -destination-path cmodefiler-svm:cmodefiler-svm_7mode_vol_X -type TDP

snapmirror initialize -destination-path cmodefiler-svm:cmodefiler-svm_7mode_vol_X

et voila Snapmirror does finaly what it should do.

cmodefiler-N::> snapmirror show
                                                                       Progress
Source            Destination Mirror  Relationship   Total             Last
Path        Type  Path        State   Status         Progress  Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
7modefiler:vol_X
            TDP  cmodefiler-svm:cmodefiler-svm_7mode_vol_X
                              Uninitialized
                                      Transferring   22.30GB   true    01/22 16:27:42

If this article helped you - leave a comment.