SnapMirror seeding

Snapmirror is a great way to mirror your data including snapshots to another filer. However the so called baseline sync is a full copy of your primary data.
This initial seed is not always possible over the network. NetApp has provided a mechanism for this: SnapMirror to tape (SMtape). To use this feature, you need to have a direct attached tape drive or library to your filer.

I have found a way to do the initial seed with any media you want to use, it does not matter if it is a USB thumb drive or a small nas, a DVD, anything goes.
The trick we use is that we create a dump file containing all the data in the source volume, including the snapshots. This file can then be transferred or shipped to the destination site.
There we import (restore) the dump file and start the snapmirror relationship, which only transfers the differences (incremental delta sync).

Below I explain the steps you need to take, including the prerequisites.

Prerequisites

Both filers must be able to ping eachother, make sure name resolution or the hosts file is up-to-date and working.
SnapMirror must be licensed on both filers
Make sure you set the options to allow SnapMirror
Cifs or NFS to get access to your dump file, I will use cifs in the example below.
You need space on your source filer, a bit more than the source volume
You need twice the space on the destination filer
Choose a dump file volume, this must be the same on both filers
A transportable media with enough capacity to store the dump file

Source filer

hostname: source
Source volume: /vol/source
Dump volume: /vol/dump

  1. ping dest
    Make sure you can reach your destination filer
  2. options snapmirror.access all
    Allow all hosts to access this filer for SnapMirror
  3. vol create dump –s none <aggr> <space>
    Create a volume on an aggregate with enough space
    Space must be equal or greater than the source volume
  4. priv set diag
    Without these elevated rights the option to create a dump file is not available
  5. smtape backup /vol/source /vol/dump/dump.file
    You can follow the progress with “smtape status”
    When no jobs return, the smtape dump is finished.
    You will notice that the file is not the same size as your data, but smaller, NetApp does some smart things here 😉
  6. cifs shares -add dump /vol/dump
    Create a CIFS (or NFS) share to get access to your dump file
  7. Copy the dump.file to your transportable media

Transportation

Now you can ship, transfer, etc the transportable media with any means possible to the destination site
Remember, data is not encrypted, anyone with a NetApp filer can get access to your data!

Destination filer

hostname: dest
Destination volume: /vol/dest
Dump volume: /vol/dump -> Must be the same as on the source where you create the dump file!

  1. ping source
    Make sure you can reach your source filer
  2. options snapmirror.access all
  3. vol create dump –s none <aggr> <space>
    Create a volume on an aggregate with enough space
    Space must be equal or greater than the source dump volume
  4. cifs shared -add dump /vol/dump
    Create a Cifs (or NFS) share to get access to your dump volume
  5. Copy the dump.file from the transportable media to the dump volume
  6. vol create dest –s none <aggr> <space>
    Create a SnapMirror destination volume on an aggregate with enough space
    Space must be equal or greater than the source volume
  7. vol restrict /vol/dest
    A SnapMirror volume must be restricted, this is a key step!
  8. priv set diag
    Without these elevated rights the option to restore a dump file is not available
  9. smtape restore /vol/dest /vol/dump/dump.file
    smtape status can be used to monitor the progress of the restore job
    Do not any further untill there are no smtape jobs running, this can take some time
  10. snap list /vol/dest
    Look at the name of your snapshot(s), they must be exactly the same as on your source filer
    It happened once that there was a number added on the end of the snapshot name.
    You can rename the snapshot with snap rename vol_name old-snapshot-name new-snapshot-name
  11. snapmirror resync –S src:source –w dest:dest
    This starts the first transfer between source and destination
    If all went well, it will inform you about a common snapshot which will be used for the SnapMirror relation

Now you can add this to your /etc/snapmirror.conf and only incremental updates will be performed.

Notes

Off course this can be used with FlexClone on the destination site and SnapMirror network compression.

 

Thanks to Gerard Bosmann for doing the research and providing the detailed steps!

 

One thought on “SnapMirror seeding

  1. Pingback: Kyle Hailey » Database Thin Cloning: WAFL (Netapp)

Comments are closed.