配置概述
Snapmirror用于在不同NetApp之间(或者同一台)做卷的镜像复制,是NetApp长期以来较为成熟的容灾解决方案,通常来讲,两套NetApp之间要实现Snapmirror至少需要满足以下条件:
- 两台NetApp均购买了高级软件包授权(Premium Lisence),其中包含了Snapmirror在内的多个高级功能
- 两台NetApp之间网络互通(Snapmirror网络路由可达)
- 目的端Ontap的版本必须大于等于源端,同时跨度不能太大,以下是部分官方的互操作列表:
这也是本文的重点,首先目的端Ontap版本大于等于源版本这是硬性要求,至于官方互操作列表的不超过3个大版本,主要也是因为新的镜像策略及相关加密策略随着版本的更新迭代会有较大差异,因此如果在WebUI中配置时,不符合官方表格的情况下确实会报错
但经实际生产环境测试,通过CLI,即使版本跨度很大(本文案例Ontap9.1至9.9),Snapmirror依然能够正常使用!
以下是源端和目的端具体版本:
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
(注:本文只针对特殊情况,条件允许的情况下建议遵循官方的互操作列表)
配置流程
在完成前期准备工作后,大致的Snapmirror创建思路如下:
前期准备工作
前期准备工作主要包括确认两套NetApp的授权,源端及目的端需要做Mirror的相关信息的确认,具体需要如下信息,主要是确认源与目的端卷的路径Cluster:SVM:Vol
首先源端应是已在正常使用的卷,目的端前期准备工作包括:
- 存储初始化配置
- 创建目的端的SVM
- 创建源端和目的端的Snapmirror网络,这个可直接在WebUI创建,确认LIF角色为集群间,创建完成后确认两端Snapmirror网络路由可达
完成相关准备工作后,即可进入正式配置
集群对等配置
先进入源端配置,主要配置对端IP及配对密码
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:
再进入目的端配置,与源端一样配置IP及配对密码,这里需要特别注意,由于老版本不支持加密,新版Ontap默认是加密的,因此需要手动取消
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:
配置完成后在两端均可确认集群对等状态
FAS2750::> cluster peer show
Peer Cluster Name Cluster Serial Number Availability Authentication
------------------------- --------------------- -------------- --------------
psns 1-80-136245 Available ok
1 entries were displayed.
Vserver对等配置
同样先进入源端进行配置,配置源到目的的SVM信息
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.
在目的端能看到源端发起的配对请求,选择接受
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.
确认两端的Vserver配置正常
Snapmirror配置
这里补充一步,正常UI界面配置Snapmirror任务的时候目的端的卷是自动创建,但在命令行中我并未找到相关命令(知道的朋友可以在留言里交流下),因此我选择了手动创建Mirror卷
手动创建卷需要注意几点:
- 容量必须大于等于源卷
- 由于用作Mirror卷,因此类型不能是RW,必须是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.
进入目的端进行配置,根据初期计划创建Snapmirror任务
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.
初始化MSnapmirror任务
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.
任务验证
CLI和WebUI中均可查看当前的传输进度
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.
WebUI
完成后状态显示正常,后期根据实际的需求,数据变化量,带宽等综合考量配置合适的Snapmirror策略即可