Resizing NetApp SnapMirror Target Volumes

Now I found that there are many ways to do this, and for the most part it can get pretty complicated. Here is a simple and effective way to ensure that your target volume is large enough for your source volume to SnapMirror to.

The basic size requirement for snapmirror is that the target volume is equal or greater then the source volume. So if you are planning on growing that volume in the future and you already have plenty of space in the aggregate then you could just increase it to what ever you want as long as it is equal and greater then the source volume.

Here are the commands you will want to run on the source to make sure you understand the size of the source volume

FILERSOURCE1> vol size volumename

This should return the size of your volume

Next you will want to do the same on the target volume so you will know the minimum you will need to .

FILERTARGET1> vol size volumename

Now you will need to break the snapmirror

FILERTARGET1> snapmirror break volumename

Then turn off fs_size_fixed

FILERTARGET1> vol options volumename fs_size_fixed off

Here is the command to resize the volume. Note: this is how much you want to add to the volume.

FILERTARGET1> vol size volumename +25g

Turn fs_size_fixed on

FILERTARGET1> vol options volumename fs_size_fixed on

Resync Snapmirror

FILERTARGET1> snapmirror resync FILERSOURCE1:volumename FILERTARGET1:volumename

For resizing the source volume you can disregard the snapmirror commands but otherwise it is pretty much the same. I would recommend you increase the size on the snapmirror target before you increase the size on your source, your eventlog will thank me.

NetApp Reallocate Volumes and Aggregates

When adding disks to a NetApp array it is usually to add prefomance and capacity. Unless you reallocate the WAFL system will actually not preform much better unless you reallocate your volumes and drives over the newly increased disk space on your aggregate. Otherwise WAFL will only use the new disks until they are as saturated as the existing disk in an attempt to level out the disks. If you only added a couple of disks this can lead to hot spots and lower then expected IO. So reallocating effectively tells wafl to move some of the existing data to the new disks and frees up space equally over all disks.

So here are a few helpfull cammands that you will need to complete this simple optimization task. Depending on the size of your existing volumes and the number of disks you have added this can take some time.

You must be in priv advanced to complete this command:

FILER1> priv set advanced

You need to run the following on each volume within the aggregate before your run this on the aggregate, and this will take some time depending on the size of the data and the numebr of new disks.

FILER1*> reallocate start -f -p /vol/volumename

Here is the command to check the Reallocation status, you can do only one volume or aggr at a time so by using the following command you can see if it is time to move on to the next reallocate

FILER1*> reallocate status -v


Reallocation scans are on
        State: Reallocating: Inode 677805, block 40384 of 10490701 (0%)
        Flags: doing_force,whole_vol,keep_vvbn
    Threshold: 4
     Schedule: n/a
     Interval: n/a
 Optimization: n/a

For snapmirror targets you will need to run the following to break the mirror, after the entire process is complete resync the mirror.

FILER1*> snapmirror break volumename
FILER1*> reallocate start -f -p /vol/volumename

For the aggregate reallocation you will run the following command only after running reallocate on all volumes within the aggregate.

FILER1*>reallocate start -A arrgname
FILER1*> reallocate status -v

Just remember on any volume that is a snapmirror target you will need to resync after this is complete. I usually do so in the filerview, but this can be done in the command line as well.

To get out of priv advanced:

FILER1*> priv set admin