ONTAP 9.14.1の新機能、「テストフェイルオーバー」を試してみた

# はじめに
- 自然災害やサイバー攻撃など、予期せぬ事態に備えてDR（ディザスタリカバリ）対策を行うことは一般的になっていますが、有事の際に確実に復旧できるような状態を維持できているでしょうか？
- いざというときに確実に復旧できるよう、定期的な復旧訓練を行うのが望ましいですが、実際にやるのはなかなか大変ですよね？
- NetAppのストレージOS「ONTAP」のバージョン9.14.1から実装された **「テストフェイルオーバー」** という新機能を使えば、本番環境に全く影響を与えることなく非常に簡単に復旧訓練を行うことができます。
- ということで、その **「テストフェイルオーバー」** を実際にやってみました。


# テストフェイルオーバーについて
-  **「テストフェイルオーバー」** は、ONTAP 9.14.1から実装された新機能で、SnapMirror先のボリュームを使って簡単にDR発動時の復旧訓練を行うことができる機能です。
-  **「テストフェイルオーバー」** を実行すると、SnapMirror先のボリュームのクローンボリュームとそのマウントポイントが自動的に作成され、すぐにSnapMirror先のボリュームと同じデータに読み書きできる状態になります。
-  クローンボリュームにて復旧訓練を行うことで、本番環境やレプリケーションを停止することなく、実際にレプリケーションしたデータを使った復旧訓練が可能になります。
-  クローンボリュームはONTAPのFlexCloneという機能で作成されます。容量を消費せず、ボリュームサイズに関わらず数秒で作成することができるため、ストレージの空き容量を気にすることなく、すぐに復旧訓練を開始することが可能です。
- 災対サイト側での業務復旧の確認が完了したら、 **「クリーンアップ」** を実行することで、マウントポイントとクローンボリュームが自動的に削除され、復旧訓練の後片付けも非常に簡単に行えます。

# やってみた
## 検証環境の準備
- 実際に試した環境はこちら。
![test_failover_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/fdb57397-7948-ce04-4992-78c5d299d0c4.png)

- ***cluster1*** の ***svm-src*** に ***vol1*** を作成し、共有フォルダ「***vol1***」として公開します。
- ***vol1*** は、 ***cluster2*** の ***svm-dst*** にSnapMirrorしました。SnapMirror先のボリューム名は ***vol1_dest*** です。
- この状態で、テストフェイルオーバーを実行してみます。

## テストフェイルオーバー実行
- テストフェイルオーバーはSnapMirror先の ***cluster2*** で実施するので、まずは ***cluster2*** のSystem Managerにログインします。
- System Managerの画面左のメニューから **「保護」** → **「関係」** を選択し、該当するSnapMirror関係の **「︙」** をクリック、 **「テストフェイルオーバー」** を選択します。
![test_failover_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/e6d7ec2d-8395-a7a6-1d43-70b484a7a371.png)

- 必要に応じてテストボリュームのマウントパスをコピーしておき、 **「テストフェイルオーバー」** をクリックします。
![test_failover_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/a0ddb664-96c4-3dad-cf91-dc16b4471f2e.png)

- System Managerの画面左のメニューから **「ストレージ」** → **「ボリューム」** を選択し、テストボリュームが作成されたことを確認します。
![test_failover_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/9e8d4eb5-ce65-e936-63cc-6c26d474a3b8.png)

- System Managerの画面左のメニューから **「ストレージ」** → **「共有」** を選択し、テストボリュームにアクセスするための共有を作成します。
![test_failover_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/ff41837f-d485-5e04-2693-33485736d36d.png)

- **「＋追加」** をクリックし、 **「共有」** を選択します。
![test_failover_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/77ac52ce-d4c5-c131-f9d0-d933283134d9.png)

- 共有名に「***vol1***」を入力、フォルダ名テストボリュームのマウントパスを選択し、必要なアクセス権限を追加して、 **「保存」** をクリックします。
![test_failover_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/529fbd9d-cc12-7368-e68e-91c39ffab8f9.png)

- このような状態になりました。
![test_failover_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/c5d43624-59bc-17d6-2f66-64bb360684db.png)

- SnapMirror元の共有フォルダがこちら。
![test_failover_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/e7830e45-0e91-fe0a-b39d-75170eeaac6c.png)

- テストボリュームの共有フォルダがこちら。同じデータが複製されていることがわかります。
![test_failover_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/ac418073-88e0-b57a-e600-ef3e2f64a797.png)

- 試しに新しいファイルを作成してみると作成できました。テストボリュームへの読み書きができることがわかります。
![test_failover_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/e3b28abe-bd09-aa2a-a594-e2d8e829636b.png)

- これで復旧訓練は完了ということにして、テスト環境の後片付けを行います。

## クリーンアップ実行
- System Managerの画面左のメニューから **「保護」** → **「関係」** を選択し、該当するSnapMirror関係の **「︙」** をクリック、 **「テストフェイルオーバーのクリーンアップ」** を選択します。
![test_failover_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/c82239b8-3e5c-e01d-cb10-da6db76c1fe7.png)

- **「関連するデータ、Snapshotコピー、レプリケーション・・・（以下略）」** にチェックを入れ、 **「クリーンアップ」** をクリックします。
![test_failover_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/0bb60ded-8b99-37ee-522a-11c24400df48.png)

- System Managerの画面左のメニューから **「ストレージ」** → **「ボリューム」** を選択し、テストボリュームが削除されたことを確認します。
![test_failover_12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/bbca8df2-d0d1-ee12-aa02-91d166f2530e.png)

- System Managerの画面左のメニューから **「ストレージ」** → **「共有」** を選択し、共有一覧を確認すると、手動作成したテストボリューム用の共有 ***「vol1」*** は残っていました。
![test_failover_13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/162d2535-c660-dec0-06a3-fb95036b481c.png)

- ***「vol1」*** の **「︙」** をクリック、**「削除」** を選択します。
![test_failover_14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/6a8bfe5b-9c7e-f010-c2c4-327322e48e7c.png)

- **「共有を削除する」** にチェックを入れ、 **「削除」** をクリックします。
![test_failover_15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/036d56f6-a26e-d848-2ed6-38389711025c.png)

- 手動作成したテストボリューム用の共有 ***「vol1」*** が削除されました。
![test_failover_16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/1299abd3-efef-55f8-c5da-fa2db16e3755.png)

- このようなテストフェイルオーバー前の状態に戻り、後片付けが完了しました。
![test_failover_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523630/f4bb0dae-b2e9-06f4-065b-2c5b601dc273.png)

# まとめ
- テストフェイルオーバー機能を使うことで、本番環境やレプリケーションを停止することなく簡単に復旧訓練用のデータにアクセスすることができました。
- これで復旧訓練はやり放題です。