Following on from
the previous post (same but different) ... this time with Clustered ONTAP!
In the post, we run through the steps to setup a
Clustered ONTAP SnapMirror-ed Production and DR setup, additionally with a
SnapVault of the production volumes at the local site, and further mirror the volume
with the SnapVaults to a DR site.
In the lab I have two sites with the below named
Clustered ONTAP systems and Storage Virtual Machines. We will create 3 volumes
on the Production SVM (NASVM1) that
we want to protect.
NACLU1 -
Production Cluster (with node NACLU1N1)
NASVM1 -
Production SVM
NACLU2 - DR
Cluster (with node NACLU2N1)
NASVM2 - DR
SVM
NACLU3 - SnapVault
Cluster (with node NACLU3N1)
NASVM3 - SnapVault
SVM
NACLU4 - DR
SnapVault Cluster (with node NACLU4N1)
NASVM4 - DR SnapVault
SVM
IP Addressing:
NACLU1:
10.10.10.110 (N1 on .111)
NASVM1:
10.10.10.131
NACLU2: 10.10.10.210
(N1 on .211)
NASVM2:
10.10.10.231
NACLU3:
10.10.10.115 (N1 on .116)
NASVM3:
10.10.10.136
NACLU4:
10.10.10.215 (N1 on .216)
NASVM4:
10.10.10.236
Image: C to C
SnapMirrors with Local and Replicated Vaults
Legend:
Workflow
Note 1: The version
of Clustered Data ONTAP used in the lab is 8.2.1.
Note 2: SVMs are
already setup and Protocol Licenses applied.
Step 1) Licensing
Work
Here we add
licenses for SnapMirror and SnapVault (Primary or Secondary) as required.
NACLU1::>
sys lic add LICENSECODE
#SnapMirror
sys lic add LICENSECODE
#SnapVault
NACLU3::>
sys lic add LICENSECODE
#SnapMirror
sys lic add LICENSECODE
#SnapVault
NACLU2::>
sys lic add LICENSECODE
#SnapMirror
NACLU4::>
sys lic add LICENSECODE
#SnapMirror
2) Schedules
Production data has:
- hourly snapshots @:00 and keeps 24 (0 -> SnapVault)
- nightly snapshot @22:15 Sat-Thu and keeps 12 (24 -> SnapVault)
- weekly snapshot @22:15 Fri and keeps 3 (5
-> SnapVault)
- monthly snapshot
on the 1st of the Month @00:15
and keeps 2 (12 -> SnapVault)
Production data is mirrored every hour @:30
Production data is SnapVaulted every night @22:45
The SnapVault is mirrored every night @23:45
NACLU1::>
cron create -name PR_Hourly
-minute 0
cron create -name PR_Nightly
-minute 15 -hour 22 -dayofweek Sun-Thu,Sat
cron create -name PR_Weekly
-minute 15 -hour 22 -dayofweek Fri
cron create -name PR_Monthly
-minute 15 -hour 00 -day 1
snapshot policy create
-policy PRODUCTION -enabled true -schedule1 PR_Hourly -count1 24 -schedule2
PR_Nightly -count2 12 -snapmirror-label2 PR_Nightly -schedule3 PR_Weekly
-count3 3 -snapmirror-label3 PR_Weekly -schedule4 PR_Monthly -count4 2
-snapmirror-label4 PR_Monthly
NACLU2::>
cron create -name MirrorAt30Past
-minute 30
NACLU3::>
cron create -name VaultAt2245
-minute 45 -hour 22
snapmirror policy create -policy
SNAPVAULT -vserver NACLU3
snapmirror policy add-rule -policy
SNAPVAULT -vserver NACLU3 -snapmirror-label PR_Nightly -keep 24
snapmirror policy add-rule -policy
SNAPVAULT -vserver NACLU3 -snapmirror-label PR_Weekly -keep 5
snapmirror policy add-rule -policy
SNAPVAULT -vserver NACLU3 -snapmirror-label PR_Monthly -keep 12
NACLU4::>
cron create -name MirrorVaultAt2345
-minute 45 -hour 23
3) Volume Work
Here we create
volumes. Only the Production (NASVM1) volumes are type RW (Read-Write.)
NACLU1::>
vol create -vserver NASVM1
-volume prdvol1 -aggregate aggr1 -size 2g -space-guarantee none -type RW
-snapshot-policy PRODUCTION
vol create -vserver NASVM1
-volume prdvol2 -aggregate aggr1 -size 2g -space-guarantee none -type RW
-snapshot-policy PRODUCTION
vol create -vserver NASVM1
-volume prdvol3 -aggregate aggr1 -size 2g -space-guarantee none -type RW
-snapshot-policy PRODUCTION
NACLU2::>
vol create -vserver NASVM2
-volume prdvol1_DR -aggregate aggr1 -size 2g -space-guarantee none -type DP
vol create -vserver NASVM2
-volume prdvol2_DR -aggregate aggr1 -size 2g -space-guarantee none -type DP
vol create -vserver NASVM2
-volume prdvol3_DR -aggregate aggr1 -size 2g -space-guarantee none -type DP
NACLU3::>
vol create -vserver NASVM3
-volume SV_prdvol1 -aggregate aggr1 -size 2g -space-guarantee none -type DP
vol create -vserver NASVM3
-volume SV_prdvol2 -aggregate aggr1 -size 2g -space-guarantee none -type DP
vol create -vserver NASVM3
-volume SV_prdvol3 -aggregate aggr1 -size 2g -space-guarantee none -type DP
NACLU4::>
vol create -vserver NASVM4
-volume SV_prdvol1_DR -aggregate aggr1 -size 2g -space-guarantee none -type DP
vol create -vserver NASVM4
-volume SV_prdvol2_DR -aggregate aggr1 -size 2g -space-guarantee none -type DP
vol create -vserver NASVM4
-volume SV_prdvol3_DR -aggregate aggr1 -size 2g -space-guarantee none -type DP
4) Hosts Work
(Optional)
This step optional,
you can let your external DNS handle this (if configured.)
NACLU1::>
vserver services dns hosts
create -vserver NACLU1 -hostname NACLU2 -address 10.10.10.210
vserver services dns hosts
create -vserver NACLU1 -hostname NACLU3 -address 10.10.10.115
NACLU2::>
vserver services dns hosts
create -vserver NACLU2 -hostname NACLU1 -address 10.10.10.110
NACLU3::>
vserver services dns hosts
create -vserver NACLU3 -hostname NACLU1 -address 10.10.10.110
vserver services dns hosts
create -vserver NACLU3 -hostname NACLU4 -address 10.10.10.215
NACLU4::>
vserver services dns hosts
create -vserver NACLU4 -hostname NACLU3 -address 10.10.10.115
5) Intercluster
LIFs (Cluster to Cluster)
Intercluster LIFs
are created for Cluster to Cluster communication.
NACLU1::>
net int create -vserver
NACLU1N1 -lif rep1 -role intercluster -home-node NACLU1N1 -home-port e0b -address
10.10.10.121 -netmask 255.255.255.0
NACLU2::>
net int create -vserver
NACLU2N1 -lif rep1 -role intercluster -home-node NACLU2N1 -home-port e0b -address
10.10.10.221 -netmask 255.255.255.0
NACLU3::>
net int create -vserver
NACLU3N1 -lif rep1 -role intercluster -home-node NACLU3N1 -home-port e0b -address
10.10.10.126 -netmask 255.255.255.0
NACLU4::>
net int create -vserver
NACLU4N1 -lif rep1 -role intercluster -home-node NACLU4N1 -home-port e0b -address
10.10.10.226 -netmask 255.255.255.0
Note: If these Intercluster
LIFs weren’t all on the same subnet, you’d need to create a route/default
gateway by using the command “net
ro ro create”.
6) Peering
The Cluster and
then Vserver (SVM), need to be peered as per requirements.
NACLU1::>
cluster peer create
-peer-addrs 10.10.10.221 -username admin
vserver peer create -vserver
NASVM1 -peer-cluster NACLU2 -peer-vserver NASVM2 -applications snapmirror
cluster peer create
-peer-addrs 10.10.10.126 -username admin
vserver peer create -vserver
NASVM1 -peer-cluster NACLU3 -peer-vserver NASVM3 -applications snapmirror
NACLU2::>
vserver peer accept -vserver
NASVM2 -peer-vserver NASVM1
NACLU3::>
vserver peer accept -vserver
NASVM3 -peer-vserver NASVM1
cluster peer create
-peer-addrs 10.10.10.226 -username admin
vserver peer create -vserver
NASVM3 -peer-cluster NACLU4 -peer-vserver NASVM4 -applications snapmirror
NACLU4::>
vserver peer accept -vserver
NASVM4 -peer-vserver NASVM3
7) SnapVault Work
The SnapVaults run
from NACLU1/NASVM1 -> NACLU3/NASVM3.
NACLU3::>
snapmirror create
-source-path NASVM1:prdvol1 -destination-path NASVM3:SV_prdvol1 -type XDP -throttle unlimited
-vserver NASVM3 -schedule VaultAt2245
-policy SNAPVAULT
snapmirror create
-source-path NASVM1:prdvol2 -destination-path NASVM3:SV_prdvol2 -type XDP -throttle unlimited
-vserver NASVM3 -schedule VaultAt2245
-policy SNAPVAULT
snapmirror create
-source-path NASVM1:prdvol3 -destination-path NASVM3:SV_prdvol3 -type XDP -throttle unlimited
-vserver NASVM3 -schedule VaultAt2245
-policy SNAPVAULT
snapmirror initialize
NASVM3:SV_prdvol1
snapmirror initialize
NASVM3:SV_prdvol2
snapmirror initialize
NASVM3:SV_prdvol3
8) SnapMirror Work
SnapMirrors run
from NACLU1/NASVM1 -> NACLU2/NASVM2...
NACLU2::>
snapmirror create
-source-path NASVM1:prdvol1 -destination-path NASVM2:prdvol1_DR -type DP -throttle unlimited
-vserver NASVM2 -schedule MirrorAt30Past
-policy DPDefault
snapmirror create
-source-path NASVM1:prdvol2 -destination-path NASVM2:prdvol2_DR -type DP -throttle unlimited
-vserver NASVM2 -schedule MirrorAt30Past
-policy DPDefault
snapmirror create
-source-path NASVM1:prdvol3 -destination-path NASVM2:prdvol3_DR -type DP -throttle unlimited
-vserver NASVM2 -schedule MirrorAt30Past
-policy DPDefault
snapmirror initialize
NASVM2:prdvol1_DR
snapmirror initialize
NASVM2:prdvol2_DR
snapmirror initialize
NASVM2:prdvol3_DR
And from NACLU3/NASVM1
-> NACLU4/NASVM4
NACLU4::>
snapmirror create
-source-path NASVM3:SV_prdvol1 -destination-path NASVM4:SV_prdvol1_DR -type DP -throttle unlimited
-vserver NASVM4 -schedule MirrorVaultAt2345
-policy DPDefault
snapmirror create
-source-path NASVM3:SV_prdvol2 -destination-path NASVM4:SV_prdvol2_DR -type DP -throttle unlimited
-vserver NASVM4 -schedule MirrorVaultAt2345
-policy DPDefault
snapmirror create
-source-path NASVM3:SV_prdvol3 -destination-path NASVM4:SV_prdvol3_DR -type DP -throttle unlimited
-vserver NASVM4 -schedule MirrorVaultAt2345
-policy DPDefault
snapmirror initialize NASVM4:SV_prdvol1_DR
snapmirror initialize NASVM4:SV_prdvol2_DR
snapmirror initialize NASVM4:SV_prdvol3_DR
THE END
Comments
Post a Comment