はじめに
ストレージにおけるデータ移行の手間や複雑さは移行の対象や環境によって大きく異なるかと思います。
NetAppストレージ間におけるReplaceの際に発生する移行においても、ONTAPの同一クラスタ内でのデータ移行の場合Volume Moveを用いる事比較的簡単に完了しますが異なるクラスタ間でのデータ移行となると、SnapMirrorやSVM DRなど別の手法が必要となります。
本記事では異なるクラスタ間におけるオンラインで可能な移行として、SVM Data Mobilityについて取り上げ、その利点や具体的な方法について記載致します。
SVM data mobilityのBest Practicesについては、SnapMirror configuration and best practices
guideを参照して下さい。

何をしたい?できる?
NAS環境におけるオンラインデータ移行
NFS領域が移行できる事の確認
CIFSのWORKGROUP環境が移行できる事の確認
ONTAPにおける主なリソース移動方式について
ONTAPでは様々なリソース移動の方法がありますが、本記事ではSVM Data Mobilityを使用した内容になります。
SVM Data Mobilityとは
いわゆる、Nondisruptive Migrationと呼ばるクライアント側の停止を必要としないデータ移行機能で、ONTAPではSnapMirrorの機能を利用してNASで使用しているSVM全体のデータ複製と移動を可能にします。
これによってクラスタ間でのデータの移動が可能となり、データセンターの再構築、機器のReplace、別クラスタへの負荷分散の実施、災害発生後の復旧などのシナリオでデータを柔軟に移動することができます。
SVM 名、 SVMのUUID 、データ LIF 名、 IP アドレス、Volume名は移行後も変更される事はありませんが、SVM 内のオブジェクトのUUIDは変更されます。
SVM Data Mobilityのサポートされない機能やVersionの制約等の前提条件については、マニュアルを参照してください。

記事における環境情報
本記事では、以下の環境で実施した内容について説明します。
移行元のSVMには、NFSおよびCIFS用のVolumeをそれぞれ作成し、アクセスするVLANも分けた環境を構築しています。
特にCIFS環境では、WORKGROUP環境を移行し、ローカルユーザーの移行が可能かどうかを確認します。
- 移行元 Cluster : ONTAP 9.14.1
- 移行先 Cluster : ONTAP 9.16.1
- 移行用SVM : mig_test01

実行手順
本記事では、切り替え(Cutover)タイミングを特定時間に実施する事を想定し、以下の遷移図における03の状態で留めておき、切り替えを手動にて実施します。
(自動切換えを実施しない)

1. ONTAP側における設定確認
1-1. 機器のVersion確認
移行先Clusterは移行元と同じかメジャーVersionとの差を2世代以下にする必要があります。
# 移行元Clusterで確認
> version
NetApp Release 9.14.1P11: Wed Jan 22 11:55:28 UTC 2025
# 移行先Clusterで確認
PS-C250::> version
NetApp Release 9.16.1: Sat Jan 18 19:31:15 UTC 2025
1-2. ライセンス確認
SVM data mobilityの実施にあたってSnapMirrorライセンスが必要となりますが、NetApp Oneライセンスを購入されていれば特に問題は無いはずです。
# 各Clusterで確認
> system license show
(中略)
Owner: PS-C250-01
Installed License: ONTAP ONE
Capacity: 1.20PB
Package Type Description Expiration
----------------- -------- --------------------- -------------------
(中略)
SnapVault capacity SnapVault License -
SnapLock capacity SnapLock License -
SnapManagerSuite capacity SnapCenter License -
TPM capacity Trusted Platform Module License -
VE capacity Volume Encryption License -
SnapMirror_Sync capacity SnapMirror Synchronous License -
(中略)
1-2. ClusterのPeer設定がなされている事の確認
互いのCluster間でPeer設定がなされているか確認します。
ClusterにおけるPeer設定方法については過去の記事を参照してください。
# 移行元lusterで確認
> cluster peer show
Peer Cluster Name Cluster Serial Number Availability Authentication
------------------------- --------------------- -------------- --------------
PS-C250 1-80-000011 Available ok
# 移行先Clusterで確認
> cluster peer show
Peer Cluster Name Cluster Serial Number Availability Authentication
------------------------- --------------------- -------------- --------------
PS-8200cl02 1-80-000011 Available ok
1-3. Cluster間のラウンドトリップタイム (RTT) 確認
Networkに関する要件として、ONTAP 9.12.1以降ではRTT値が10msまでサポートとなっている為、クラスタ間のRTTを確認しておきます。
# 移行元か移行先Clusterで確認
> cluster peer ping -originating-node PS-C250-01 -destination-cluster PS-8200cl02
Node: PS-C250-01 Destination Cluster: PS-8200cl02
Destination Node IP Address Count TTL RTT(ms) Status
---------------- ---------------- ----- ---- ------- -------------------------
PS-8200cl02-01 192.168.100.101 1 64 0.169 interface_reachable
PS-8200cl02-02 192.168.100.102 1 64 0.126 interface_reachable
2 entries were displayed.
1-4. 移行元におけるNFS設定の状態確認
ONTAP側とLinux ClientからNFSの状態を確認します。
本記事ではNFS用VolumeにQtreeを作成しています。
# 移行元ClusterでNFS設定の確認
> nfs show -vserver mig_test01
Vserver: mig_test01
General NFS Access: true
NFS v3: enabled
NFS v4.0: enabled
UDP Protocol: enabled
TCP Protocol: enabled
Default Windows User: -
NFSv4.0 ACL Support: disabled
NFSv4.0 Read Delegation Support: disabled
NFSv4.0 Write Delegation Support: disabled
NFSv4 ID Mapping Domain: example.com
NFSv4 Grace Timeout Value (in secs): 45
Preserves and Modifies NFSv4 ACL (and NTFS File Permissions in Unified Security Style): enabled
(中略)
# 移行元ClusterでVolumeの確認
> vol show -vserver mig_test01
Vserver Volume Aggregate State Type Size Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
mig_test01 cifs_vol node1_aggr1 online RW 10GB 8.49GB 10%
mig_test01 mig_test01_root node2_aggr1 online RW 1GB 972.4MB 0%
mig_test01 nfs_vol node1_aggr1 online RW 10GB 6.92GB 27%
# 移行元ClusterでVolume上のQtree確認
> qtree show -vserver mig_test01 -volume nfs_vol
Vserver Volume Qtree Style Oplocks Status
---------- ------------- ------------ ------------ --------- --------
mig_test01 nfs_vol "" unix enable normal
mig_test01 nfs_vol tree01 unix enable normal
mig_test01 nfs_vol tree02 unix enable normal
3 entries were displayed.
# 移行元ClusterでSVMのLIF確認
> net int show -vserver mig_test01
(network interface show)
Logical Status Network Current Current Is
Vserver Interface Admin/Oper Address/Mask Node Port Home
----------- ---------- ---------- ------------------ ------------- ------- ----
mig_test01
cifs_lif up/up 172.16.20.112/24 PS-8200cl02-01 a0a-20 true
nfs_lif up/up 172.16.10.55/24 PS-8200cl02-01 a0a-10 true
2 entries were displayed.
Linuxクライアントからのmount状態を確認します。
# Linuxクライアントで確認
# NFSv4で接続しているのでSVMとDomainが合っているか確認
> cat /etc/idmapd.conf |grep Domain
Domain = example.com
# mountの確認
> df -h /mnt10
ファイルシス サイズ 使用 残り 使用% マウント位置
172.16.10.55:/nfs_vol 9.5G 2.6G 7.0G 28% /mnt10
# Qtreeがある事の確認
> ls -l /mnt10
合計 152532
-rw-r--r--. 1 root daemon 155569530 2月 10 16:49 netapp-manageability-sdk-9.8P7-linux.zip
drwxr-xr-x. 2 root root 4096 2月 10 16:49 tree01
drwxr-xr-x. 2 root root 4096 2月 10 16:17 tree02
1-5. 移行元におけるCIFS設定の状態確認
ONTAP側とWindows ClientからCIFSの状態を確認します。
CIFSはWorkgroupで構成しており、ローカルユーザーの作成を実施しています。
# 移行元ClusterでCIFS設定の確認
> cifs show -vserver mig_test01
Vserver: mig_test01
CIFS Server NetBIOS Name: MIG_TEST01
NetBIOS Domain/Workgroup Name: WORKGROUP
Fully Qualified Domain Name: -
Organizational Unit: -
Default Site Used by LIFs Without Site Membership: -
Workgroup Name: WORKGROUP
Authentication Style: workgroup
CIFS Server Administrative Status: up
CIFS Server Description:
List of NetBIOS Aliases: -
# 移行元ClusterでVolumeの確認
> vol show -vserver mig_test01
Vserver Volume Aggregate State Type Size Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
mig_test01 cifs_vol node1_aggr1 online RW 10GB 8.49GB 10%
mig_test01 mig_test01_root node2_aggr1 online RW 1GB 972.4MB 0%
mig_test01 nfs_vol node1_aggr1 online RW 10GB 6.92GB 27%
# 移行元ClusterでSVMのLIF確認
> net int show -vserver mig_test01
(network interface show)
Logical Status Network Current Current Is
Vserver Interface Admin/Oper Address/Mask Node Port Home
----------- ---------- ---------- ------------------ ------------- ------- ----
mig_test01
cifs_lif up/up 172.16.20.112/24 PS-8200cl02-01 a0a-20 true
nfs_lif up/up 172.16.10.55/24 PS-8200cl02-01 a0a-10 true
2 entries were displayed.
# 移行元ClusterでCIFSのローカルユーザー確認
> cifs users-and-groups local-user show -vserver mig_test01
Vserver User Name Full Name Description
------------ --------------------------- -------------------- -------------
mig_test01 MIG_TEST01\admin10 - -
mig_test01 MIG_TEST01\admin20 - -
mig_test01 MIG_TEST01\Administrator Built-in administrator account
mig_test01 MIG_TEST01\user10 - -
4 entries were displayed.
# 移行元ClusterでCIFSのローカルユーザ-の所属するローカルグループ確認
> cifs users-and-groups local-group show-members -vserver mig_test01
Vserver Group Name Members
-------------- ---------------------------- ------------------------
mig_test01 BUILTIN\Administrators MIG_TEST01\Administrator
MIG_TEST01\admin20
BUILTIN\Users MIG_TEST01\admin10
MIG_TEST01\gp01 MIG_TEST01\user10
3 entries were displayed.
また、事前にSVMへ作成したローカルユーザーのSIDを確認しておきます。
# 移行元Clusterで確認
> set advanced
Warning: These advanced commands are potentially dangerous; use them only when directed to do so by NetApp personnel.
Do you want to continue? {y|n}: y
*> vserver services access-check authentication translate -vserver mig_test01 -win-name admin10 -node local
S-1-5-21-3819799148-4021820110-2083859364-1001
*> vserver services access-check authentication translate -vserver mig_test01 -win-name admin20 -node local
S-1-5-21-3819799148-4021820110-2083859364-1000
*> vserver services access-check authentication translate -vserver mig_test01 -win-name user10 -node local
S-1-5-21-3819799148-4021820110-2083859364-1003
WindowsクライアントからのCIFS共有へのアクセス状態を確認します。
併せて、作成したファイルに対してローカルユーザーのアクセス権限を追加しています。
(Everyone以外の権限を追加している)

1-6. 移行先におけるNetwotk設定の確認
本記事ではVLAN環境の移行を実施する為、移行先ClusterにVLAN環境が用意されている事を確認しておきます。
# 移行先Clusterで確認
> vlan show
Network Network
Node VLAN Name Port VLAN ID MAC Address
------ --------- ------- -------- -----------------
PS-C250-01
a0a-10 a0a 10 d2:39:ea:59:05:a2
a0a-20 a0a 20 d2:39:ea:59:05:a2
PS-C250-02
a0a-10 a0a 10 d2:39:ea:59:0f:db
a0a-20 a0a 20 d2:39:ea:59:0f:db
4 entries were displayed.
> broadcast-domain show
(network port broadcast-domain show)
IPspace Broadcast Update
Name Domain Name MTU Port List Status Details
------- ----------- ------ ----------------------------- --------------
Cluster Cluster 9000
PS-C250-01:e0c complete
PS-C250-01:e0d complete
PS-C250-02:e0c complete
PS-C250-02:e0d complete
Default Default 1500
PS-C250-01:e0M complete
PS-C250-02:e0M complete
data-vlan1 1500
PS-C250-01:a0a complete
PS-C250-02:a0a complete
data-vlan10 1500
PS-C250-01:a0a-10 complete
PS-C250-02:a0a-10 complete
data-vlan20 1500
PS-C250-01:a0a-20 complete
PS-C250-02:a0a-20 complete
(中略)
2. SVM data mobilityの実行
本記事では、移行時における転送速度を指定し、切り替え(Cutover)直前の状態で留めておく形で実施します。(移行時における負荷影響を減らし、切り替えタイミングを明確にする)
2-1. SVM data mobilityの事前チェック
操作は移行先Clusterで実施が必要となります。
まずは事前チェックを行い転送できる状態であることを確認します。
# 移行先Clusterで確認
> vserver migrate start -vserver mig_test01 -source-cluster PS-8200cl02 -check-only true
Info: Vserver migrate checks finished. Vserver migrate can be started now.
2-2. SVM data mobilityの開始
auto-cutoverを無効にし、転送速度(Kbytes/sec)を100MB/secで指定してSVM data mobilityを実行します。
# 移行先Clusterで確認
> vserver migrate start -vserver mig_test01 -source-cluster PS-8200cl02 -auto-cutover false -throttle 102400
Info: To check the status of the migrate operation use the "vserver migrate show" command.
2-3. SVM data mobilityの状態確認
vserver migrate showコマンドで移行状態を確認できます。
Cutoverの前で留めていますが、バックグラウンドでは定期的に差分の更新転送がなされています。
差分転送が実施されている点については、snapshotの一覧でSnapMirror用のSnapshotの名前の時間部分が変化する事で確認できます。
(30秒毎にSnapshotが作成されている点が確認できるかと思います)
# 移行先Clusterで確認
> vserver migrate show -instance
Vserver: mig_test01
vserver-uuid: cc6628b2-e77c-11ef-b29a-00a098d21b2e
Destination Cluster: PS-C250
Source Cluster: PS-8200cl02
Migrate Vserver Type: migrate-destination
Status: ready-for-cutover
Automatic cutover: false
Start Time: 2/10/2025 18:52:03
End Time: -
(中略)
Automatic Source Cleanup: true
Throttle: 102400
# Volume単位の一覧確認
> vserver migrate show-volume
Volume Transfer
Vserver Volume State Healthy Status Errors
-------- ---------------- -------- --------- --------- ----------------------
mig_test01
cifs_vol online true ReadyForCutoverPreCommit -
mig_test01_root online true ReadyForCutoverPreCommit -
nfs_vol online true ReadyForCutoverPreCommit -
3 entries were displayed.
# 移行先ClusterでSnapMiror用のSnapshotの確認
> snapshot show -vserver mig_test01 -volume *_vol -snapshot snapmirror* -fields create-time
vserver volume snapshot create-time
---------- -------- ---------------------------------------------------------------------------- ------------------------
mig_test01 cifs_vol snapmirror.cc6628b2-e77c-11ef-b29a-00a098d21b2e_2156424388.2025-02-10_191122 Mon Feb 10 19:10:19 2025
mig_test01 cifs_vol snapmirror.cc6628b2-e77c-11ef-b29a-00a098d21b2e_2156424388.2025-02-10_191154 Mon Feb 10 19:10:51 2025
mig_test01 nfs_vol snapmirror.cc6628b2-e77c-11ef-b29a-00a098d21b2e_2156424387.2025-02-10_191122 Mon Feb 10 19:10:19 2025
mig_test01 nfs_vol snapmirror.cc6628b2-e77c-11ef-b29a-00a098d21b2e_2156424387.2025-02-10_191154 Mon Feb 10 19:10:51 2025
4 entries were displayed.
また、adminモードではsnapmirror show コマンドでSnapmirror状態を確認できませんが、diagモードに変更する事で確認ができます。
# 移行先Clusterで確認
> set diag
Warning: These diagnostic commands are for use by NetApp personnel only.
Do you want to continue? {y|n}: y
*> snapmirror show
Progress
Source Destination Mirror Relationship Total Last
Path Type Path State Status Progress Healthy Updated
----------- ---- ------------ ------- -------------- --------- ------- --------
mig_test01:/cg/mig_src_mig_test01
XDP mig_test01:/cg/mig_dst_mig_test01
Snapmirrored
ReadyForCutoverPreCommit
- true -
2-4. Cutoverの実行
手動で切り替え(Cutover)を実行します。
移行が完了すると移行元は自動的に削除されます。
(移行元のSVMを削除しないオプションもあるが本記事では利用してません)
# 移行先Clusterで確認
> vserver migrate cutover -vserver mig_test01
Info: The "cutover trigger" task was queued.
To check the status of the migrate operation use the "vserver migrate show" command.
> vserver migrate show
Destination Source
Vserver Cluster Cluster Status
---------------- ------------------- ------------------- ---------------------
mig_test01 PS-C250 PS-8200cl02 migrate-complete
3. 移行後における状態確認
3-1. 移行先におけるNFS設定の状態確認
ONTAP側とLinux ClientからNFSの状態を確認します。
# 移行先ClusterでNFS設定の確認
> > nfs show -vserver mig_test01
Vserver: mig_test01
General NFS Access: true
NFS v3: enabled
NFS v4.0: enabled
UDP Protocol: enabled
TCP Protocol: enabled
Default Windows User: -
NFSv4.0 ACL Support: disabled
NFSv4.0 Read Delegation Support: disabled
NFSv4.0 Write Delegation Support: disabled
NFSv4 ID Mapping Domain: example.com
NFSv4 Grace Timeout Value (in secs): 45
(中略)
# 移行元ClusterでVolumeの確認
> vol show -vserver mig_test01
Vserver Volume Aggregate State Type Size Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
mig_test01
cifs_vol aggr1_node2 online RW 10GB 8.49GB 10%
mig_test01
mig_test01_root
aggr1_node2 online RW 1GB 971.7MB 0%
mig_test01
nfs_vol aggr1_node2 online RW 10GB 6.92GB 27%
# 移行元ClusterでVolume上のQtree確認
> qtree show -vserver mig_test01 -volume nfs_vol
Vserver Volume Qtree Style Oplocks Status
---------- ------------- ------------ ------------ --------- --------
mig_test01 nfs_vol "" unix enable normal
mig_test01 nfs_vol tree01 unix enable normal
mig_test01 nfs_vol tree02 unix enable normal
3 entries were displayed.
# 移行元ClusterでSVMのLIF確認
> net int show -vserver mig_test01
(network interface show)
Logical Status Network Current Current Is
Vserver Interface Admin/Oper Address/Mask Node Port Home
----------- ---------- ---------- ------------------ ------------- ------- ----
mig_test01
cifs_lif up/up 172.16.20.112/24 PS-C250-01 a0a-20 true
nfs_lif up/up 172.16.10.55/24 PS-C250-01 a0a-10 true
2 entries were displayed.
Linuxクライアントからのmount状態を確認します。
# Linuxクライアントで確認
# mountの確認
> df -h /mnt10
ファイルシス サイズ 使用 残り 使用% マウント位置
172.16.10.55:/nfs_vol 9.5G 2.6G 7.0G 28% /mnt10
# Qtreeがある事の確認
> ls -l /mnt10
合計 152532
-rw-r--r--. 1 root daemon 155569530 2月 10 16:49 netapp-manageability-sdk-9.8P7-linux.zip
drwxr-xr-x. 2 root root 4096 2月 10 16:49 tree01
drwxr-xr-x. 2 root root 4096 2月 10 16:17 tree02
3-2. 移行先におけるCIFS設定の状態確認
# 移行先ClusterでCIFS設定の確認
> cifs show -vserver mig_test01
CIFS Server NetBIOS Name: MIG_TEST01
NetBIOS Domain/Workgroup Name: WORKGROUP
Fully Qualified Domain Name: -
Organizational Unit: -
Default Site Used by LIFs Without Site Membership: -
Workgroup Name: WORKGROUP
Authentication Style: workgroup
CIFS Server Administrative Status: up
CIFS Server Description:
List of NetBIOS Aliases: -
# 移行先ClusterでVolumeの確認
> vol show -vserver mig_test01
Vserver Volume Aggregate State Type Size Available Used%
--------- ------------ ------------ ---------- ---- ---------- ---------- -----
mig_test01
cifs_vol aggr1_node2 online RW 10GB 8.49GB 10%
mig_test01
mig_test01_root
aggr1_node2 online RW 1GB 971.7MB 0%
mig_test01
nfs_vol aggr1_node2 online RW 10GB 6.92GB 27%
# 移行先ClusterでSVMのLIF確認
> net int show -vserver mig_test01
(network interface show)
Logical Status Network Current Current Is
Vserver Interface Admin/Oper Address/Mask Node Port Home
----------- ---------- ---------- ------------------ ------------- ------- ----
mig_test01
cifs_lif up/up 172.16.20.112/24 PS-C250-01 a0a-20 true
nfs_lif up/up 172.16.10.55/24 PS-C250-01 a0a-10 true
2 entries were displayed.
# 移行先ClusterでCIFSのローカルユーザー確認
> cifs users-and-groups local-user show -vserver mig_test01
Vserver User Name Full Name Description
------------ --------------------------- -------------------- -------------
mig_test01 MIG_TEST01\admin10 - -
mig_test01 MIG_TEST01\admin20 - -
mig_test01 MIG_TEST01\Administrator Built-in administrator account
mig_test01 MIG_TEST01\user10 - -
4 entries were displayed.
# 移行先ClusterでCIFSのローカルユーザーの所属するローカルグループ確認
> cifs users-and-groups local-group show-members -vserver mig_test01
Vserver Group Name Members
-------------- ---------------------------- ------------------------
mig_test01 BUILTIN\Administrators MIG_TEST01\Administrator
MIG_TEST01\admin20
BUILTIN\Users MIG_TEST01\admin10
MIG_TEST01\gp01 MIG_TEST01\user10
3 entries were displayed.
移行先のローカルユーザーのSIDを確認します。
# 移行先Clusterで確認
> set advanced
Warning: These advanced commands are potentially dangerous; use them only when directed to do so by NetApp personnel.
Do you want to continue? {y|n}: y
*> vserver services access-check authentication translate -vserver mig_test01 -win-name admin10 -node local
S-1-5-21-3819799148-4021820110-2083859364-1001
*> vserver services access-check authentication translate -vserver mig_test01 -win-name admin20 -node local
S-1-5-21-3819799148-4021820110-2083859364-1000
*> vserver services access-check authentication translate -vserver mig_test01 -win-name user10 -node local
S-1-5-21-3819799148-4021820110-2083859364-1003
WindowsクライアントからのCIFS共有へのアクセス状態を確認します。
(ローカルユーザーの権限が不明なSIDとなっていない事が確認できる)

参考及びリンク
Maximizing data availability and performance with SVM data mobility