Shallow Dive by Dozono

Horizon 8 では Instant Clone で Parent VM を作成しない展開が可能に!

Posted : 08 Sep 2020

従来、 Instant Clone を用いて仮想デスクトップを展開する場合には、以下の仮想マシンが作成されていた。

  • Master VM
  • Template VM
  • Replica VM
  • Parent VM
  • Instant Clone VM

従来のInstant Clone

Horizon 8 では Parent VM を利用しない Instant Clone の作成が可能になった。

そもそも Parent VM とは?

Parent VM は Windows の 起動プロセスの途中で静止している常にパワーオン状態の仮想マシンであり、実際にユーザーがログインする Instant Clone VM に対してメモリの差分管理機能を提供するために存在している。

Parent VMのイメージ

Instant Clone では、vSphere 6 で実装された vmFork 技術を用いて仮想マシンを作成している。
vmFork により、Parent VM と同じメモリを持った 仮想マシン(Instant Clone)を作成することで、仮想マシン作成からユーザーがログインできる状態になるまでの処理を高速化していた。

※ メモリ は Copy on Write により差分管理されている。

しかし、Parent VM は ホストの台数 * データストアの台数 の数だけ作成されるため、環境によっては Parent VM が大量に作成され ESXi のメモリを過度に消費する場合もあった。

Smart Provisioning で実現できること

前述の通り、Parent VM は Instant Clone にログインできるまでに必要な時間を短縮するために使用していたが、集約率の低い環境では Parent VM により消費されるメモリ/ストレージ容量が課題となる。
Smart Provisioning を用いることで、集約率の低い環境では Parent VM が作成されなくなるためメモリ/ストレージ容量の削減が可能となる。
逆に集約率の高い環境では自動的に Parent VM が作成される。

※ VMware 社の公開資料では Smart Provisioning を利用すると、Instant Clone が作成されてからログイン可能になるまでに追加の時間が必要となると記載されているが、筆者の環境では Instant Clone 以外の仮想マシンを削除することが困難であったため、正確な性能測定はできなかった。

Smart Provisioning を利用するには

Smart Provisioning は、Instant Clone の集約度に基づいて自動的に適用される。 筆者の環境で、ESXi ホスト2台、Instant Clone 20台 で作成した際には Parent VM は作成されなかった。

Instant Clone 20台でParent VMが作成されない

Instant Clone の台数を 30 台ほどに増やしたところ、自動的に Parent VM が作成された。

Instant Clone 29台でParent VMが作成されない

その後、Instant Clone を20台まで減らしたが Parent VM は自動的に削除されず残り続ける結果となった。

Smart Provisioning をコントロールする

Smart Provisioning の利用有無を指定する場合は、Connection Server の LDAP(設定情報などの格納に使用しているデータベース)を手動で変更する必要がある。

LDAP内の「OU=Server Groups」で制御したい対象のデスクトッププールの名前を見つけ、プロパティから「pae-ProvisionScheme」を変更する。

LDAPの設定変更

設定内容 動作
ModeA Parent VMを使用したInstant Clone
ModeB Parent VMを使用しないInstant Clone
<未設定> Smart Provisioning(自動制御)

Parent VM が作成されている状態で「ModeB」を指定すると、筆者の環境では設定変更の10分ほど後に Parent VM が削除された。

また、Parent VM が作成されていない状態で「ModeA」を指定すると、2時間ほど待っても Parent VM は自動作成されなかった。
その後、プール設定を変更し追加の Instant Clone が作成されるタイミングで Parent VM も自動作成されることを確認している。

Horizon 8 (2006)のまとめページ

参考:VMware Horizon version 8 (2006) - Smart Provisioning

参考:View ADAM データベースへの接続 (2012377)

Enjoy!