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
- ping dest
Make sure you can reach your destination filer - options snapmirror.access all
Allow all hosts to access this filer for SnapMirror - 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 - priv set diag
Without these elevated rights the option to create a dump file is not available - 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 - cifs shares -add dump /vol/dump
Create a CIFS (or NFS) share to get access to your dump file - 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!
- ping source
Make sure you can reach your source filer - options snapmirror.access all
- 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 - cifs shared -add dump /vol/dump
Create a Cifs (or NFS) share to get access to your dump volume - Copy the dump.file from the transportable media to the dump volume
- 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 - vol restrict /vol/dest
A SnapMirror volume must be restricted, this is a key step! - priv set diag
Without these elevated rights the option to restore a dump file is not available - 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 - 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 - 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!