前回の記事では、ESXiで「nfs-vaai-plugin」がインストールされていないNutanix環境での、VMのクローンを実施しました。今回は、「nfs-vaai-plugin」がインストールされている環境でのクローンを試してみます。
目次
1. 今回の環境
Platform: NX-1465-G5
AOS: 6.1 STS
ESXi: 7.0.1-16850804
データストア: nfs-datastore(ストレージコンテナ)
クローン元VM: test-clone(Windows10)
クローン先VM: test-clone01、02(Windows10)
2. VAAIが有効な環境でのVMクローン
Nutanixでは、VAAIプラグインのVIBがESXiへデフォルトでインストールされます。以下のようにNFSデータストアのハードウェアアクセラレーションでVAAIが有効になっていることが確認できます。
この状態で「nfs-datastore」へクローン元VMを作成します。ここでポイントですが「nfs-vaai-plugin」が有効な場合は、シックプロビジョニングのディスクの作成もサポートされます。
これは、前回記事で紹介した「Reserve Space(スペース予約)」が有効になり、シック用の領域の予約がサポートされるためです。
今回は、シックで作成した場合のPrismでの見え方も紹介したいので、シック(Eager Zeroed)で100GBのvDISKを作成し、Windows10をインストールします。また、AOSのバイナリをダウンロードするなど、ディスクへの書き込みも少し実施しました。
NutanixのPrismからも、対象のデータストアと仮想マシンのストレージ容量が確認できます。今回はシック(Eager Zeroed)で100GBのvDISKを作成したので、100GBが使用された容量としてPrismのストレージコンテナでは見えていますが、内訳を確認すると、実際の使用量は書き込みした容量だけになっています。
これは、例えばESXi側でシック(Eager Zeroed)であらかじめ確保する領域をゼロ書きする設定でvDISKを作成したとしても、Nutanix側ではあくまでシンDISKであり、VAAIによりシック用のスペース予約をサポートするだけのものとなります。
Nutanixでは、データの階層化でキャッシュや高速なSSD層をうまく使ってI/O性能を担保するので、従来のストレージのようにシックでパフォーマンスが出るといった構成にこだわらない思想のようですね。
このあたりの話は、以下のドキュメントが参考になります。
- vDisk Provisioning Types in VMware with Nutanix Storage
- Virtual disk provisioning types in VMware with Nutanix storage
少し話がそれましたが、このVMのクローンをvSphere Clientから2つ作成してみたところ、1VMあたりのクローン時間はわずか2、3秒でした。
これは、Nutanixストレージのブロック参照とメタデータ管理によるスナップショット機能によるものですが、細かい説明は割愛します。一般的には「Redirect-on-Write」と言われるような仕組みがNutanixでも使用されていると、お考えいただくとよいかと思います。
また、Nutanixでは、シックプロビジョニングで作成されたVMを同じデータストア内でクローンした場合、クローン先のVMは必ずシンプロビジョニングで作成されます。これは仕様のようですね。
さらに、Prismから確認すると、複製したvDISK分の容量が、ストレージコンテナとしては増加していないことが分かります。
これはクローン元のVMのデータが書き込まれているブロックが読み取り専用となり、同じブロックを参照するようにクローンVMが展開されるため、クローン直後ではストレージコンテナの容量に変化はなく、少しのメタデータが増えるというイメージになります。
もちろんクローン後にVMへ個別に新規データの書き込みなどを行うとストレージの使用容量は増加します。
これが、VAAIプラグインありの場合のクローンの様子でした。ストレージコンテナ容量を消費することなく、秒速でクローンが作成できていることが確認できたかと思います。
今後は、Horizonのデスクトッププールで色々検証してみたいと思います。。元気あれば。