Configuration overview
Snapmirror is used for mirroring volumes between different NetApps (or on the same machine). It is a relatively mature disaster recovery solution for NetApps for a long time. Generally speaking, to implement Snapmirror between two sets of NetApps, at least the following conditions must be met:
- Both NetApps have purchased Premium Lisence, which includes multiple advanced features including Snapmirror
- Network interworking between two NetApps (Snapmirror network routes are reachable)
- The version of Ontap at the destination must be greater than or equal to the source, and the span should not be too large. The following is a partial official interoperability list: This is also the
focus of this article. First, the version of Ontap at the destination must be greater than or equal to the source. This is a mandatory requirement. As for official interoperability There are no more than 3 major versions in the list, mainly because the new mirroring strategy and related encryption strategy will vary greatly with the version update iteration, so if it is configured in the WebUI, it will indeed report an error if it does not conform to the official form
However, after testing in the actual production environment, through the CLI, Snapmirror can still be used normally even if the version span is large (Ontap9.1 to 9.9 in the case of this article).
The following are the specific versions of the source and destination:
NetApp Release 9.1: Fri Dec 23 04:09:51 UTC 2016
NetApp Release 9.9.1P2: Thu Aug 19 13:53:06 UTC 2021
(Note: This article is only for special cases, and it is recommended to follow the official interoperability list when conditions permit)
configuration process
After completing the preparatory work, the general idea of creating Snapmirror is as follows:
initial preparation work
The pre-preparation work mainly includes confirming the authorization of the two sets of NetApp. The source and destination need to confirm the relevant information of Mirror. The specific information is as follows
. It is a volume that is already in normal use. The preparatory work for the destination includes:
- Storage initialization configuration
- Create the destination SVM
- Create the source and destination Snapmirror networks, which can be created directly in the WebUI, confirm that the LIF role is inter-cluster, and confirm that the routes of the Snapmirror networks at both ends are reachable after the creation is complete
After completing the relevant preparations, you can enter the formal configuration
Cluster peer configuration
First enter the source configuration, mainly configure the peer IP and pairing password
psns::> cluster peer create -peer-addrs xx.xx.xx.185,xx.xx.xx.186
Notice: Choose a passphrase of 8 or more characters. To ensure the authenticity of the peering relationship, use a phrase or sequence of characters that
would be hard to guess.
Enter the passphrase:
Confirm the passphrase:
Then enter the destination configuration, and configure the IP and pairing password as the source configuration. Special attention should be paid here. Since the old version does not support encryption, the new version of Ontap is encrypted by default, so it needs to be canceled manually.
FAS2750::> cluster peer create -peer-addrs 137.40.142.191,137.40.142.192 -encryption-protocol-proposed none
Notice: Use a generated passphrase or choose a passphrase of 8 or more characters. To ensure the authenticity of the peering relationship, use a phrase or
sequence of characters that would be hard to guess.
Enter the passphrase:
Confirm the passphrase:
After the configuration is complete, the cluster peer status can be confirmed at both ends
FAS2750::> cluster peer show
Peer Cluster Name Cluster Serial Number Availability Authentication
------------------------- --------------------- -------------- --------------
psns 1-80-136245 Available ok
1 entries were displayed.
Vserver peer configuration
Also first enter the source to configure, and configure the SVM information from the source to the destination
psns::> vserver peer create -peer-cluster FAS2750 -peer-vserver SVM-CIFS -vserver svm-cifs -applications snapmirror
Info: [Job 15977] 'vserver peer create' job queued
psns::> vserver peer show
Peer Peer Peering Remote
Vserver Vserver State Peer Cluster Applications Vserver
----------- ----------- ------------ ----------------- -------------- ---------
svm-cifs SVM-CIFS initializing FAS2750 snapmirror SVM-CIFS
1 entries were displayed.
On the destination side, you can see the pairing request initiated by the source side, choose to accept
FAS2750::> vserver peer accept -vserver SVM-CIFS -peer-vserver svm-cifs
Info: [Job 157] 'vserver peer accept' job queued
FAS2750::> vserver peer show
Peer Peer Peering Remote
Vserver Vserver State Peer Cluster Applications Vserver
----------- ----------- ------------ ----------------- -------------- ---------
SVM-CIFS svm-cifs peered psns snapmirror svm-cifs
1 entries were displayed.
Confirm that the Vserver configurations at both ends are normal
Snapmirror configuration
Here is an additional step. When configuring the Snapmirror task on the normal UI interface, the target volume is automatically created, but I did not find the relevant command in the command line (friends who know it can communicate in the message), so I chose to manually create a Mirror volume.
There are a few points to note when creating volumes manually:
- The capacity must be greater than or equal to the source volume
- Since it is used as a Mirror volume, the type cannot be RW, it must be DP
FAS2750::> vol create -vserver SVM-CIFS -volume FAS2750_CIFS -aggregate DATA -size 6TB -state online -security-style ntfs -type DP
[Job 158] Job succeeded: Successful
FAS2750::> vol show
Vserver Volume Aggregate State Type Size Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
FAS2750-01
vol0 aggr0_FAS2750_01
online RW 151.3GB 117.4GB 18%
FAS2750-02
vol0 aggr0_FAS2750_02
online RW 151.3GB 117.8GB 18%
SVM-CIFS FAS2750_CIFS DATA online DP 6TB 6.00TB 0%
SVM-CIFS SVM_CIFS_root
DATA online RW 1GB 971.2MB 0%
SVM-NFS FAS2750_NFS DATA online RW 4.21TB 2.95TB 26%
SVM-NFS SVM_NFS_root DATA online RW 1GB 971.1MB 0%
6 entries were displayed.
Enter the destination to configure and create Snapmirror tasks according to the initial plan
FAS2750::> snapmirror create -source-cluster psns -source-vserver svm-cifs -source-volume CIFS_6TB -destination-cluster FAS2750 -destination-vserver SVM-CIFS -destination-volume FAS2750_CIFS
Operation succeeded: snapmirror create for the relationship with destination "SVM-CIFS:FAS2750_CIFS".
FAS2750::> snapmirror show
Progress
Source Destination Mirror Relationship Total Last
Path Type Path State Status Progress Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
svm-cifs:CIFS_6TB
XDP SVM-CIFS:FAS2750_CIFS
Uninitialized
Idle - true -
1 entries were displayed.
Initialize the MSnapmirror task
FAS2750::> snapmirror initialize -destination-path SVM-CIFS:FAS2750_CIFS
Operation is queued: snapmirror initialize of destination "SVM-CIFS:FAS2750_CIFS".
FAS2750::> snapmirror show
Progress
Source Destination Mirror Relationship Total Last
Path Type Path State Status Progress Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
svm-cifs:CIFS_6TB
XDP SVM-CIFS:FAS2750_CIFS
Uninitialized
Transferring 0B true 03/31 15:58:11
1 entries were displayed.
task verification
Both CLI and WebUI can view the current transfer progress
FAS2750::> snapmirror show
Progress
Source Destination Mirror Relationship Total Last
Path Type Path State Status Progress Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
svm-cifs:CIFS_6TB
XDP SVM-CIFS:FAS2750_CIFS
Uninitialized
Transferring 8.84GB true 03/31 16:02:33
2 entries were displayed.
After the completion of the WebUI
, the status display is normal. In the later stage, an appropriate Snapmirror policy can be configured according to the actual needs, data changes, bandwidth and other comprehensive considerations.