NetAppのスナップショットを扱えるvSphere用プラグインって知ってる？

# はじめに
こんにちは。ネットアップ合同会社 SEの岩井です。
皆さん、仮想基盤のバックアップ・リストアの戦略をどうお考えですか？

仮想基盤の安全性を考えるうえで、「どの単位でバックアップするのか」という事を意識すると思います。アプリケーションのバックアップ、仮想マシンのバックアップ、DBのバックアップなどなど、、、
でもバックアップに高額な追加ソフト購入したくないな～と当然思われますよね。
もちろん本当に必要な場合はそこに投資をすべきですが、現状足りていない機能のみが提供されていて価格帯が見合うなら当然そちらを選びますよね？

というわけで、本記事ではSnapCenter Plug-in for VMware vSphereについて紹介していきたいと思います。

# NetApp SnapCenter Plug-in for VMware vSphereとは
SnapCenter Plug-in for VMware vSphere(以降SCV)は、その名の通りNetAppから提供されているVMware vSphere用プラグインです。↓こんな感じでvSphere Client内にNetAppのロゴが表示されています。
こちらのプラグインはONTAPを既にご利用中で、かつONTAP Oneライセンスをご利用中ならばSCVの全機能(例えばSnapMirrorとの連携など)が利用可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/ed65985e-3b9b-f4fb-43fe-7f9fde27a73f.png)

### SCVとvSphereを組み合わせると何がうれしいのか？

NetApp SnapCenterと呼ばれるスナップショットの管理ソフトウェアがvSphereのプラグインという形で提供されているメリットはざっくり以下の二つです。

・高速なバックアップ&リストア
・専用バックアップソフトの追加購入が不要

**1. 高速なバックアップ&リストア**
vSphere上でVMwareスナップショットという機能があり大変便利です。しかしVMwareスナップショットの問題点としてデルタファイル(VMDKとの差分)の生成による性能面への影響問題があります。デルタファイル自体が重かったり、リストアする際オリジナルのVMDKファイルとのマージで大量のread/writeが発生してしまったり、といったものです。要は、デルタファイルをアクティブな領域に置かないことが、性能低下を防ぐことになります。
SnapCenterを使うことで、バックアップ時のストレージ性能に対する影響を改善することが出来ます。以下の図がSCVを使った場合のフローを表しています。まずVMのスナップショットを作成すると、VMDKファイルとデルタファイルが作成されます。ここでVMDKファイルとデルタファイルのNetAppスナップショットを取ります。デルタファイルの内容はスナップショットに含まれているので、デルタファイルを削除することが出来ます。そうすることで、毎回作成するデルタファイルの大きさを抑え、リストア時にはNetAppスナップリストアで高速にVMDKファイルとデルタファイルを戻し、VMDKとデルタファイルのマージに必要な時間やIOが短縮されます(マージサイズが小さいから)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/d0d76a71-d875-e42f-782d-a8f296676a3d.png)
(FASというのがNetAppのストレージです。)


**2. 専用バックアップソフトの追加購入が不要**
仮想化環境のバックアップにはシステム領域(OS)と、アプリケーション領域の２つがあり、バックアップの方式としてはエージェント型・ストレージ機能連携型・仮想機能連携型の３つがあります。詳しくは[こちら](https://atmarkit.itmedia.co.jp/ait/articles/1211/21/news016.html)をご覧ください。一般的にはシステム領域のバックアップにはストレージ機能連携型・仮想機能連携型で、アプリケーション領域にはエージェント型が有効とされています。
もしお使いのバックアップツールがエージェント型(Oracle Database, Microsoft SQL Server, IMBS Lotusなど)で、システム領域のバックアップを行っていない/バックアップをシステム領域とアプリケーション領域合わせて行いたい場合、SCVを使えば追加購入ナシでバックアップが取れるというわけです。
また、上記の運用で仮想マシンがクラッシュしてしまった場合、クラッシュ→再起動→ディスクのアタッチなどで復旧に時間がかかりますが、SCVを使ってストレージ側に仮想マシンのスナップショットを保管しておくと、仮想マシンの復旧を待たずに早々リストアが可能です。

# さわってみる
VMのバックアップ・リストアを目的として、以下の操作を紹介していきます。
①ストレージの追加
②単一ファイル復旧用にWindowsのクレデンシャル追加
③バックアップポリシーの作成
④リソースグループの作成
⑤バックアップの実行
⑥リストア(VM)
⑦リストア(単一ファイル)

今回使用した環境は以下です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/7466aa5b-1599-bf4a-6c71-b41b28abc17b.png)


## ①ストレージの追加
SnapCenterダッシュボードはこんな感じ↓。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/42c837f7-9d56-a97d-ef89-cbf00241d01f.png)

・「Storage Systems」→「Add」からセカンダリのONTAPクラスタを追加します(プライマリは既に登録済)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/8ce62c81-2130-0cb0-eaff-1abacb151620.png)

・バックアップ元のcluster1と、バックアップ先のcluster2が登録されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/788f926c-c352-5b36-00e2-f0ce9d35e573.png)

## ②単一ファイル復旧用にWindowsのクレデンシャル追加
リストアオペレーションの際、数個のファイルだけリストアできればいいのに、VM全体が戻ってしまったら不便ですよね？SCVの便利機能の一つにWindowsクライアント上(のみ、Linuxクライアントはできません)での単一ファイルのリストアがあります。ここでは、そのオペレーションを実行するための適切なWindows認証情報を設定します。

・「Guest File Restore」→「Run As Credentials」→「+」から、ONTAPが連携しているADにおいてリストア先のクラスタに書き込みが可能な権限を持ったアカウントの認証情報を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/937b138c-a532-62ce-f5e6-334def382549.png)

・次に「Select VM」をクリックして、復元するファイルを含むVMを選択します。(時々「Search by ESXi Host」を選択しても、以下の様なドロップダウンメニューが出てこない場合があります。一旦「CANCEL」を押して、再度「Select VM」を選択すると表示されます)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/977bd6a9-abf8-f459-0ec6-d69767027361.png)

・Windows上での書き込み用認証情報の登録が完了しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/31939549-1c47-d1a3-17e4-55bebecc4956.png)

## ③バックアップポリシーの作成
SCVでは、リソースグループ単位でポリシーをアサインしてバックアップと取ります。リソースグループ単位なので、任意のVMなどでグルーピングしたり、データストア単位でのバックアップといった柔軟な設定が可能になります。まずは、リソースグループにアサインするバックアップのポリシーを作成します。

・「Policies」→「Create」から、新たにバックアップポリシーを作成します。以下の画像はオンデマンドのバックアップポリシーです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/9e0a1d12-3878-9263-068f-53654edb13ae.png)

・こちらは毎日取得するバックアップのポリシーです。保管期間(リテンション)は30日間です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/d085a2fe-3ba2-2b4a-6a5b-d45a6c866258.png)

## ④リソースグループの作成
次に、先ほど作成したポリシーで保護するプライマリ側のリソースのグループを登録します。

・「Resource Groups」→「Create」から、リソースグループの登録を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/c91fb5ad-31cd-8f05-0166-7b41be314f65.png)

・保護する対象を選択します。「Available Entities」で選択したのち、ウィンドウ真ん中の「＞」で登録します。以下の図はnfs1というデータストアを対象とした場合の画像です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/6f46ba77-51eb-e24c-07fc-a499ed9e8d6e.png)

・対象ディスクの選択をします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/fb46df00-6597-e4c8-4e89-7f59645d5504.png)

:::note info
ここの選択肢で何をしているかというと、「Resource」で選択したVM(今回はnfs1)を構成しているデータストアをどのようにリソースグループに追加するかを選択しています。
今回は「Always exlude...」を選択していますが、この場合VMが配置されているデータストア内(「Resource」の「Scope」で選択したデータストア)のディスクだけが対象になります。
１つのVMが複数のデータストア上に構成されている場合は「Always inlcude...」で全てのディスクをリソースグループに追加することが可能です。
「Manually Select..」の場合はドロップダウンメニューからディスクを選択します。
:::

・適応するバックアップポリシーを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/dff739dc-82e2-aa6b-6bda-00846159ab62.png)

・続いて「Schedule」で実行スケジュールを任意に設定し、「Summary」で確定します。

## ⑤バックアップの実行
・先ほど作成したリソースグループページから、RGを選択し、「Run Now」バックアップを実行します。(「Run Now」で実行するのはOn Demand Policyのバックアップです)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/72f799c6-a59e-3306-8d37-c27a61c935e5.png)

・「Dashboard」→「Job Monitor」から、先ほど実行したバックアップポリシーが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/bd9f35b0-1922-684d-a642-a0f5ee145aad.png)

## ⑥リストア(VM)
・「vSphere Client」→「VMs and Templates」からリストアするVMを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/d54085d4-e378-4c7e-3912-fc70e7e8dca2.png)

・対象のVMを右クリック→「SnapCenter Plus-in for ....」→「Restore」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/38c5478c-177b-0423-6a12-72ba0acb0701.png)

・リストアするバックアップを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/5a433c6a-4104-3b48-5a91-625ca2a00298.png)

・バックアップを実行するスコープを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/79f5b1e2-40bb-53df-b6d3-55ad4f86c52d.png)

・バックアップ先のロケーションを選択します(セカンダリクラスタを選択)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/24934925-ac24-09c9-2945-2c3e99846cb7.png)

・「FINISH」で実行します。

・「Recent Tasks」で進行状況を確認できます。一番上に「Power On virtual machine」とあるので、リストアされた仮想マシンが起動していることがわかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/c00c44fa-9e29-e4ab-c3bc-83ac35c5b4d4.png)

## ⑦リストア(単一ファイル)
例えばマルウェアやランサムウェアに感染してしまった場合、仮想マシン全体のリストアではなく選択したファイルのみリストアしたい、という場合があるかもしれません。最後にそのオペレーションについて紹介します。

・「vSphere Client」→「VMs and Templates」からファイルをリストアするVMを選択し、「LAUNCH WEB CONSOLE」をクリックし、VMに入ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/83dbfbf6-44a9-3f9b-1f0a-93ed63c110e0.png)

・File Explorerから適当なファイルを選んで消してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/6a9ce23c-1e89-4595-2743-2c970ccf9c4d.png)

・vSphere Clientに戻り、vMを右クリック→「SnapCenter Plug-in for...」→「Guest File Restore」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/6f09d671-e368-3c79-06a1-32023d6a1256.png)

・最新のバックアップを選択し、ファイルをリストアしたい場所を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/c217d08c-cb60-9438-8719-accf5455aeca.png)

・②で作成した認証情報を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/16dd1ad0-1432-a6e5-f4b6-603cc3170dfc.png)

・「FINISH」をクリックし、操作を完了します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/7a37d6f5-1fd3-ed84-9ca4-5f511e1991cc.png)


:::note warn
Attach operation will start when you click the Finish button. You can monitor the progress in the Recent Tasks tab and perform a restore operation from the Guest File Restore page listed under SnapCenter Plug-in for VMware vSphere.
:::
とありますが、「FINISH」ボタンを押したらすぐにディスクのアタッチが始まるので、リストアの進行状況はRecent Tasksから確認できます。↓リストアが完了した後に確認するとこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/13616dae-5d31-3223-7e8c-382ade2b380d.png)


・「三」→「SnapCenter Plug-in for...」でSnapCenterに入ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/a899cb50-899a-67ff-c311-cee088839a80.png)

・「Guest File Restore」→「Browse Files」からリストアするファイルを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/959e4837-047d-0378-3a21-0cc63eb3a7c8.png)

・ポップアップウィンドウ内で、リストアするファイルの選択とリストア先を入力します(画像は元と同じ場所)。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/c98b6ec0-825c-9fa6-ac07-c242d90a90b6.png)

・VMに戻り、ファイルエクスプローラーからファイルのリストアを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/504005/f918d295-a056-6f19-94d4-1f0a4bbdcc11.png)

# まとめ
今回は、NetApp SnapCenter Plug-in for VMware vSphereについて紹介させていただきました。
このSCVとNetApp Snapshotを組み合わせることで、バックアップ・リストアの作業が仮想基盤側(vCenter)から、しかも爆速で実行できます。
本記事がデータ保護戦略の参考になれば、幸いです。


# 参考記事
 仮想環境におけるバックアップ・リストアはどうすればいい？

https://www.networld.co.jp/solution/netapp_it_onayami/part2/onayami3.html

SnapCenter Plug-in for WMware vSphere 4.8 Product Overview

https://docs.netapp.com/us-en/sc-plugin-vmware-vsphere/scpivs44_concepts_overview.html