Amazon FSx for NetApp ONTAP - Snapshotからのリストア試してみた（FSxからの操作編）

# はじめに
こんにちは。ネットアップ合同会社 Specialist SEの月岡です。

先日、Amazon FSx for NetApp ONTAPのSnapshotを利用したクライアント操作からのリストアについて、まとめました。

https://qiita.com/Yoshinori_Tsukioka/items/75b02532e51e32a0803f

ファイルサーバは、複数人で使うものですよね。（もちろん、個人でお持ちの方もいらっしゃるかと思います。）

- 誰かの誤操作で複数のファイルやフォルダを削除してしまったり...
- 誰かの上書きコピーでファイルやフォルダが先祖返りしてしまったり...
- ランサムウェアに感染して大量のファイルを暗号化されてしまったり...

ファイルやフォルダを復旧したいケースは様々あるかと思います。
急を要する時、クライアント操作ではなくシステム側から一気にファイルやフォルダを復旧したくはないですか？

今回は、そんな方向けにAmazon FSx for NetApp ONTAPから実行するSnapshotリストア方法を記事にしました。

# まず、公式マニュアルを見てみる
- 先ずは、NetAppが公開している公式マニュアルを見てみましょう。
Amazon FSx for NetApp ONTAPは、名前の通りストレージOSにNetApp ONTAPを利用しているので、ONTAPのコマンドを利用できます。
https://docs.netapp.com/ja-jp/ontap/data-protection/restore-contents-volume-snapshot-task.html
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/0b16494b-1890-728a-4a2f-c95270b1c032.png)

  なるほど、**volume snapshot restore**というコマンドを使ってリストアできそうです。

# 実際にやってみた
- それでは、実際にやってみましょう。
  以下、検証構成イメージです。
  ① Windows Server2016をクライアント端末に見立てて、Amazon FSx for NetApp ONTAPのVolumeをEドライブとしてCIFSマウント
  ② マウントしたVolumeに検証用のファイルとフォルダを配置
  ③ Amazon FSx for NetApp ONTAPのVolumeのSnapshotを取得した後、②で配置したファイルとフォルダを削除
  ④ Snapshotからファイルとフォルダをリストアする。

  [前回の記事](https://qiita.com/Yoshinori_Tsukioka/items/75b02532e51e32a0803f)との変更点は、②で配置する検証用のファイルとフォルダを大容量にし、
  ④の操作をAmazon FSx for NetApp ONTAPにSSH接続してコマンドで実行します。
  ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/67206bdd-e42e-a5ca-136d-005ea4124ab5.png)

## ① Amazon FSx for NetApp ONTAPのVolumeをEドライブとしてCIFSマウント
-  [前回の記事](https://qiita.com/Yoshinori_Tsukioka/items/75b02532e51e32a0803f)と同じく、CIFSマウント用に作成したSVM（svm1：10.0.10.111)が管理する/vol1をEドライブとしてマウントしています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/41078690-c01e-2bd5-a966-dfdb3d6ea7a8.png)

## ② マウントしたVolumeに検証用のファイルとフォルダを配置
- Eドライブにテスト用のファイルとフォルダを作成します。
今回は、10個のテストフォルダと10.600個のテストファイルの計68.3GBをEドライブに配置してみました。
ちなみにファイルの中身はランダム文字列が記入されたもので、空のダミーファイルではありません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/93e57c3e-4294-6e8d-ead1-cbfad8ca802c.png)

## ③ Amazon FSx for NetApp ONTAPのVolumeのSnapshotを取得した後、②で配置したファイルとフォルダを削除
- Amazon FSx for NetApp ONTAPにSSHで接続し、Volumeの状態を確認します。
今回マウントしているVolumeは、Vserver:svm1で管理しているVolume:vol1です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/24d4bc7c-1e72-b604-ab07-873e31f3dd6a.png)

- Snapshotの取得状態を確認します。
vol1のSnapshotが取得されていることが分かります。（Snapshotの取得ポリシーに基いた頻度で取得されています。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/c0ce30b5-0dbc-03ba-9318-2271909be361.png)

- Snapshotを手動で取得してみます。
今回は、Snapshot名を「test_snapshot」として取得しています。（約60GBのデータが格納されていても一瞬でSnapshotが取得されます。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/3209fa0f-33bb-8be9-b211-4de54c102a49.png)
  これでリストアする準備は整いました。

- テスト用のファイルとフォルダを削除します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/43b42ddf-4740-e152-b0e1-ae0d8d0d7713.png)
本当に業務で利用しているシーンでは、「やっちまった・・・」となるところですね。

## ④ Snapshotからファイルとフォルダをリストアする。
- それでは、実際にリストアしてみましょう。
[NetAppのマニュアル](https://docs.netapp.com/ja-jp/ontap/data-protection/restore-contents-volume-snapshot-task.html)に記載されている通り、Snapshot Restoreコマンドを実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/4192479c-dc9f-f4d3-e7d2-6dd2684847cd.png)

- Eドライブを確認してみましょう。
コマンドが正常に完了すると、Eドライブ内のファイルとフォルダが正常にリストアされています。（約60GBのデータ量でも一瞬でリストアされます。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2806894/fb8ea18b-6f92-dc41-9091-bfd45afa986b.png)
もちらん[前回の記事](https://qiita.com/Yoshinori_Tsukioka/items/75b02532e51e32a0803f)と同じく、エクスプローラの「以前のバージョンの復元」でもファイルとフォルダをリストアすることも可能です。
一気に復旧させたい場合は、今回のようにコマンドでの実行が即時性に優れていると思います。

# まとめ
今回は、Amazon FSx for NetApp ONTAPから実行するSnapshotリストア方法を検証してみました。
ファイルサーバ用途だけでなく、EC2インスタンスのデータ領域としてAmazon FSx for NetApp ONTAPを利用した際のリストアにも活用できるので、システムトラブル時の復旧作業を早める効果も期待できるかと思います。
この記事が少しでも参考になれば、幸いです。

## 主な参照元
- https://docs.netapp.com/ja-jp/ontap/data-protection/restore-contents-volume-snapshot-task.html
- https://docs.netapp.com/us-en/ontap-cli-93/volume-snapshot-create.html
- https://docs.netapp.com/us-en/ontap-cli-93/volume-snapshot-show.html