Volume Reallocate on a SnapMirror Destination

NOTE: This is just a NetApp enthusiasts blog, please don’t take anything here as gospel!

Thet’s consider a scenario where we’ve got a SnapMirror destination, we’ve added some disks to the aggregate, and now we want to reallocate so that the volume isn’t just on the original disks. The diagram below illustrates this.

Image: Expanding an Aggregate, then Reallocating to “Spread” the volume
Why might you want to do this? Well, it’s usually for performance reasons. It’s unlikely the SnapMirror updates will be that big, so writes here aren’t really the problem, but what if you’re using NDMP to backup from the destination and it’s running slow reading its load from just an un-reallocated volume on the aggregate...

Here we’d use the:

reallocate start -f -p /vol/v_dst

{-f “force” only because we’ve added additional disks, -p for “physical reallocate” to “spread” the snapshots also - see here for more info}

But, you can’t run reallocate on a read-only SnapMirror destination, the SnapMirror must first be broken otherwise the below error appears:

Unable to start reallocation scan on '/vol/v_dst':
 readonly volume

Without further ado, the procedure is:

NADST> snapmirror break v_dst
NADST> reallocate start -f -p /vol/v_dst
NADST> reallocate status

{Wait for the reallocate to complete}

NADST> snapmirror resync -S NASRC:v_src NADST:v_dst
The resync base snapshot will be: nadst(4055372815)_v_dst.3
These older snapshots have already been deleted from the source and will be deleted from the destination:
Are you sure you want to resync the volume? y

NADST> snapmirror status

{Wait for the resync to complete, and then to check the last transfer size}

NADST> snapmirror status -l

Note: If you have deduped volumes, exercise caution!


  1. Thanks for the article. Did the same. Broke the snapmirror, ran reallocate -p on the snapmirror destination & then resynced the snapmirror relation. One query though : I still see the redirect flag on the snapmirror destination volume. When the preallocate was running , there were 2 flags: active_redirect & redirect. Now even after the preallocate task has completed, the redirect flag is still existing. Any impact ? Any way of removing this flag ?


Post a Comment