NetApp SnapMirror とは
遠隔地へ高速にデータを転送し、筐体間レプリケーションを実現するテクノロジです。初回転送時は、全データをコピーし、次回以降は Snapshot によって取得された変更データブロックのみを転送します。
出典:NetApp Inc,
SnapMirror の設定
SnapMirror 送信元設定
コピー元ボリューム"vol_test"を aggr1 に 100g で作成します。オプションを適当に設定します。
src> vol create vol_test -s none aggr1 100g src> vol options vol_test nosnap on src> vol options vol_test create_ucode on src> vol options vol_test convert_ucode on src> snap reserve vol_test 0 src> snap sched vol_test 0 0 0
SnapMirror 送信先設定
コピー先ボリュームを作成します。基本的にコピー元の構成と合わせます。
dst> vol create vol_test_mirror -s none aggr1 100g dst> vol options vol_test_mirror nosnap on dst> vol options vol_test_mirror create_ucode on dst> vol options vol_test_mirror convert_ucode on dst> snap reserve vol_test_mirror 0 dst> snap sched vol_test_mirror 0 0 0
コピー先ボリュームを"restricted mode"に指定します。
dst> vol restrict vol_test_mirror Volume 'vol_test' is now restricted.
vol status コマンドで確認すると"restricted"となっている事が確認できます。
dst> vol status vol_test_mirror Volume State Status Options vol_test restricted raid_dp, flex Containing aggregate: 'aggr1'
SnapMirror Initialize を実行します。
dst> snapmirror initialize -S src:vol_test dst:vol_test_mirror Transfer started. Monitor progress with 'snapmirror status' or the snapmirror log.
snapmirror status で状態を確認します。
dst> snapmirror status Snapmirror is on. Source Destination State Lag Status src:vol_test dst:vol_test_mirror Snapmirrored 00:00:28 Idle
詳細を確認する場合は、snapmirror status -l を実行します。
dst> snapmirror status -l Snapmirror is on. Source: src:vol_test Destination: dst:vol_test_mirror Status: Idle Progress: - State: Uninitialized Lag: - Mirror Timestamp: - Base Snapshot: - Current Transfer Type: Initialize Current Transfer Error: cannot connect to source filer Contents: - Last Transfer Type: - Last Transfer Size: - Last Transfer Duration: - Last Transfer From: -
SnapMirror スケジュール設定
SnampMirror のスケジュールは、snapmirror.conf 上に定義します。
※wrfile を実行すると、全ての設定が消えますのでご注意ください。
月曜 - 金曜の 9:30, 13:30, 19:30 に SnapMirror を実行する例になります。
> wrfile /etc/snapmirror.conf src:vol_test dst:vol_test_mirror - 30 9,13,19 * 1,2,3,4,5
毎月10日と20日の7時に SnapMirror を実行する場合は下記のようになります。
> wrfile /etc/snapmirror.conf src:vol_test dst:vol_test_mirror - 0 7 10,20 *
SnapMirror の手動実行
手動で更新する場合は、snapmirror update コマンドを使用します。
dst> snapmirror update -S src:vol_test dst:vol_test_mirror
SnapMirror Initialize 時のエラー
SnapMirror Initialize 実行時、下記エラーが出力される場合があります。
dst> snapmirror initialize -S src:vol_test dst:vol_test_mirror Transfer aborted: cannot connect to source filer. dst> [dst:replication.dst.err:error]: SnapMirror: destination transfer from src:vol_test to vol_test_mirror : cannot connect to source filer.
Source 側で snapmirror.access を定義する事で収束する可能性があります。
src> options snapmirror.access all src> options snapmirror.access snapmirror.access all
通信を許可する Filer を定義する場合は、下記のように定義します。*1
src> options snapmirror.access host=dst src> options snapmirror.access snapmirror.access host=dst
SnapMirror の関係解除
送信先 Filer で実行
snapmirror break を実行します。
dst> snapmirror break vol_test_mirror
Base Snapshot*2 の存在を確認します。
dst> snap list vol_test_mirror
Base Snapshot を削除します。
dst> snap delete vol_test_mirror <Base Snapshot Name>
Snapmirror が削除された事を確認します。
dst> snapmirror status
送信元 Filer で実行
Base Snapshot の存在を確認します。
src> snap list vol_test
snapmirror release を実行します。
src> snapmirror release vol_test dst:vol_test_mirror
Base Snapshot が削除された事を確認します。
src> snap list vol_test
Snapmirror が削除された事を確認します。
src> snapmirror status
以上