A couple of weeks ago, one of the volumes in our NetApp Filer storage almost ran out of space. I cannot expand the volume since its aggregate is also low in space. I have to move it to a different volume contained in an aggregate with plenty of space on the same filer. The problem is, this volume contained qtrees that are snapmirrored to our Disaster Recovery (DR) site and it is being managed by NetApp Protection Manager. How do I move the qtree snapmirror sources without re-baselining the snapmirror relationship using Protection Manager? Unfortunately, there is no way to do this using Protection Manager, and re-baselining is not an option – it has terabytes of data that may take couple of weeks to complete.
Like any sane IT professional, I googled how to do this. I did not find a straight forward solution, but I found bits and pieces of information. I consolidated this information and generated the steps below. Generally, the steps below are the combination of the snapmirror CLI commands and Protection Manager configuration tasks.
1. On the CLI of the original source filer, copy the original qtree to a new qtree on a new volume by using the following command:
sourcefiler> snapmirror initialize -S sourcefiler:/vol/oldsourcevol/qtree sourcefiler:/vol/newsourcevol/qtree
This took some time, and I also updated snapmirror.conf so that snapmirror updates daily.
2. On the day of the cutover, perform a final snapmirror update on the new volume. Before doing this, make sure that nobody is accessing the data by removing the share.
sourcefiler> snapmirror update sourcefiler:/vol/newsourcevol/qtree
3. Login to the Operations Manager server, and run the following on the command prompt:
c:\> dfm option set dpReaperCleanupMode=Never
This prevents Protection Manager’s reaper cleaning up any relationship.
4. Issue the following command to relinquish the primary and secondary member:
c:\> dfpm dataset relinquish destination-qtree-name
This will mark the snapmirror relationship as external and Protection Manager will no longer manage the relationship.
5. Using NetApp Management Console GUI interface, remove the primary member from the dataset. Then remove the secondary member.
6. On the CLI of the source filer, create a manual snapshot copy by using the following command:
sourcefiler> snap create oldsourcevol common_Snapshot
6. Update the destinations by using the following commands:
sourcefiler> snapmirror update -c common_Snapshot -s common_Snapshot -S sourcefiler:/vol/oldsourcevol/qtree sourcefiler:/vol/newsourcevol/qtree
destinationfiler> snapmirror update -c common_Snapshot -s common_Snapshot -S sourcefiler:/vol/oldsourcevol/qtree destinationfiler:/vol/destinationvol/qtree
7. Quiesce and break the SnapMirror relationship between source filer and destination filer, and oldsource and newsource volumes, using the following commands:
destinationfiler> snapmirror quiesce /vol/destinationvol/qtree
destinationfiler> snapmirror break /vol/destinationvol/qtree
sourcefiler> snapmirror quiesce /vol/volnewsourcevol/qtree
sourcefiler> snapmirror break /vol/volnewsourcevol/qtree
8. Establish the new snapmirror relationship using the following command on the destination system:
destinationfiler> snapmirror resync -S sourcefiler:/vol/newsourcevol/qtree destinationfiler:/vol/destinationvol/qtree
The new SnapMirror relationship automatically picks the newest common Snapshot copy for replication. This is the common Snapshot copy.
9. Verify that the SnapMirror relationship is resynchronizing by using the following command:
destinationfiler> snapmirror status
10. Recreate the shares on the new source volume.
11. At this point, on the Protection Manager GUI console, you will see the snapmirror relationship in the External Relationship tab.
12. Create a new dataset with required policy and schedule. Use the import wizard to import the snapmirror relationship to the new dataset.
13. On the Operations Manager server command prompt, set back the reaper cleanup mode back to orphans.
c:\> dfm options set dpReaperCleanupMode=orphans.
Please send me a note if you need more information.