volume copy between the aggregates

Hi People out there I need some help from you on how to copy the volumes in one aggregate to another aggregate.

My scenario is as such that I got 3 aggrs namely aggr1 aggr2 and aggr3, I want to copy the volumes from the aggr1 to aggr3 and then destroy the aggr1 and the add the disks which gets released as spares because of the aggr1 being destroyed to the aggr2 and expand it.

Then copy the volumes from aggr3 to aggr2.

Can someone tell something about the data integrity after the migration and the best way to copy the data from one aggregate to another.

I'll look forward to your responses


Re: volume copy between the aggregates

You have a couple of methods in my mind. SnapMirror, ndmpcopy, or host side copy.

SnapMirror can easily mirror to the same filer, just in different aggregates. This is quite nice as you can set a schedule, do the majority of the data transfer, then when you're ready, do a quick update and repoint your data. This works at a block level on the filer so all ACL's and integrity will remain. This will also retain all your snapshots on the volume.

ndmpcopy is more of a big bang. You'll want to disable access, then do ndmpcopy from the filer to copy the volume to a new location, then repoint access. This again is at a block level, so all ACL's and data integrity remain. This will not copy across any snapshot data, only the active file system (it takes a snapshot at the start and uses that).

Finally you can do a host side copy, this is the clumsiest probably, but you'd use a server to do the file copies. This is at a file level, so permissions, access times, etc may end up changed, depending on your method (robocopy for example). Again, no snapshot data will be retained.

Just a note on the layout of your data. After you have done the copy, destroyed the aggregate and expanded the other, you'll want to do a reallocation scan against the volumes. Adding new disks won't spread the existing data across them (only new data will), so doing a reallocate will spread the data evenly across all your new and old spindles. You'll also want to make sure you're running Data ONTAP 7.3 or above for this to prevent your snapshots from growing when you do this.

Re: volume copy between the aggregates

Hi Chris

Thanks and appreciate sending in your thoughts, I too was thinking in the same line and yes fortunately we are on Ontap 7.3.

I too thought of using ndmpcopy or vol copy or snapmirror, but the only thing I am bit confused about this migration of data from one aggregate to another, is how to specify the source and destination aggregates. Since I don’t see specifying the aggr option in the syntax of ndmpcopy or volcopy or snapmirror.

Would you be able to help me out with this Chris. Appreciate if you can send some examples

Thanks Best Regards


Re: volume copy between the aggregates

example mirgate data in vol1 on aggr1 to aggr2

you create your destination vol (vol1_mirror) on aggr2 then configure snapmirror to mirror data from  vol1 to vol1_mirror. you dont need to specify which aggr in snapmirror as its working vol to vol

Re: volume copy between the aggregates

Hi Shane

Thanks for the suggestion, I finalized on snapmirror for this.

Best Regards