SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

Horizon インスタントクローンとは~これから主流の仮想マシン展開方式~

仮想化
2021.03.31

こんにちは。SB C&Sの石井です。
VMware製品のプリセールスSEチームに所属しております。

VMware Horizonは仮想デスクトップ環境(VDI)を実現するソリューションとして、多くの企業で使用されています。このVMware Horizonは、2020年8月に新メジャーバージョンである「Horizon 8」がリリースされました。そして今後は、リリース時期の年月をベースとして「2020年12月」であれば「Horizon Version 2012」といったバージョン表記となります。
こちらの新しいメジャーバージョンである「Horizon Version 2012」より、これまでの仮想マシン展開方式のひとつであるリンククローンの機能が削除されました。よって今後は、リンククローンの代替機能となるインスタントクローンの需要が伸びてくることが予想されます。
そのため、本ブログではこのタイミングで改めてインスタントクローンの機能について紹介していきたいと思います。

1.インスタントクローンとは

インスタントクローンは「Horizon 7」で追加された機能で、ESXi上に高速で仮想マシンのクローンを作成することができます。これにより、仮想デスクトップのデプロイや更新が高速になります。下図は、インスタントクローンの仮想マシンが作成される流れです。

Hz01.png

まず、作成したマスターイメージのスナップショットからテンプレートが作成されます。このテンプレートは、マスターイメージが配置されているデータストアと同じデータストアに作成されます。

次に、テンプレートのクローンとしてレプリカが作成されます。このレプリカは、デスクトッププールに指定したデータストアに1つずつ作成されます。

次に、レプリカのクローンとしてペアレントが作成されます。このペアレントは、各ESXiホストに対して1つずつ作成されます。ペアレントは常時サスペンド状態になっており、起動された状態の仮想マシンを使用してクローンを作成します。その結果、高速に仮想デスクトップ用の仮想マシンを展開することができます。

インスタントクローン方式の仮想デスクトップにおける大きな特徴として、ユーザーがログアウトをすると即時に仮想マシンが削除され、新しい仮想マシンが作成されます。これにより、ユーザーは常にログイン時にクリーンな状態の仮想デスクトップを使用することができます。

なおHorizonの新メジャーバージョンのインスタントクローンでは、「スマートプロビジョニング」と呼ばれるペアレントを作成しない展開方式が追加されました。しかし本ブログでは、「Horizon 7」でも使用できる通常のインスタントクローンについて記載します。

2.リンククローンとの比較

ここまで、インスタントクローンの概要をご紹介しました。次に、リンククローンとの違いについて特徴を比較してみます。

2-1. コンポーネント

リンククローンを使用する場合、Horizon Connection Serverとは別にView Composerが必要になります。View Composerは、Horizon Connection Serverと通信をして、マスターイメージから複数の仮想マシンをクローンすることができます。また、View Composerのデータを格納するデータベースが必要です。

一方、インスタントクローンはConnection Serverが機能を提供するため、View Composerとそのデータベースは必要ありません。
下図は、Horizonの環境を構築する際の全体像です。赤枠で囲まれたコンポーネントは、インスタントクローンでは不要になります。

Hz02.png
Horizonのイベントを管理するデータベースはインスタントクローンでも必要です。

2-2. 仮想デスクトップの運用
リンククローン方式では、仮想デスクトップの使用に伴ってユーザー設定やアプリケーションのデータなど、各種の変更差分情報が差分ディスクとして保存されていきます。そのため、仮想デスクトップの利用を続けていくにしたがってディスクの容量が増えていきます。

そのため、リンククローンでは上記のように増加してしまった差分ディスクの容量をリフレッシュして元に戻すための[更新]と呼ばれる機能があります。また、複数のデータストアを使用している場合、[更新]を行うと同時に各データストア間においての仮想マシン数の偏りをなくし、容量を均等に調整する[再調整]と呼ばれる機能があります。
さらに、仮想デスクトップのOSパッチ適用やアプリケーション追加などの際に使用する[再構成]と呼ばれる機能もあります。

Hz03.png

一方、インスタントクローンの場合、仮想デスクトップのログオフ時に仮想マシンは削除され、新しい仮想マシンが作成されます。
そのため、次に新しく作成された仮想マシンは、ログオフ前の差分ディスクを維持しないため[更新]の処理が必要ありません。
また仮想マシンは、データストアの全体に対して最適に分散させて仮想マシンを作成されているため、[再調整]も必要ありません。

ただし、インスタントクローンでは[メンテナンス]と呼ばれる機能があり、こちらの[メンテンス]はリンククローンの[再構成]と同様の利用用途となり、仮想デスクトップのOSパッチ適用やアプリケーション追加の際に使用します。

Hz04.png

2-3. ログオフ時の動作
リンククローンは、ログアウトした際にデフォルトの設定だと仮想マシンが即時に削除されることなく残り続けます。そのため、仮想デスクトップ環境の利用を続けているうちに、仮想マシンの差分ディスクの容量が肥大化してしまったタイミングなどで管理者が手動で[更新]を実行する必要があります。もしくは、必要に応じて[プールの編集]の[デスクトップのプールの設定]から[ログアウト時にマシンを削除または更新]で設定をあらかじめ変更する必要があります。

リンククローン設定.png

一方、インスタントクローンは、ユーザーがログアウトした際、自動的に仮想マシンが即時削除・再構成されるので[更新]の必要もありません。たとえば、仮想デスクトップにマルウェアが侵入してしまったとしてもログアウトのタイミングで仮想マシンごとマルウェアも同時に削除されることになります。

2-4. プロビジョニングの速度
プロビジョニングが終了して、ログインが可能になるまでの手順を紹介します。

まずは、リンククローンのプロビジョニング手順です。
①レプリカから仮想マシンのクローンを作成
②仮想マシンの再構成
③仮想マシンのパワーオン
④Microsoft SysprepまたはVMware QuickPrepによるゲストのカスタマイズ
⑤仮想マシンのパワーオフ
⑥カスタマイズ情報のチェックポイント作成
⑦仮想マシンのパワーオン
⑧ログイン

続いて、インスタントタントクローンのプロビジョニング手順です。
①ペアレントからvmFork技術を使用して仮想マシンのクローン作成
②インスタントクローン用に設計されたClonePrepによるゲストのカスタマイズ
③ログイン

Hz03.png

インスタントクローンの場合は、vmForkという技術を使用してクローンを作成しています。こちらの技術を使用することにより、ディスクだけでなくメモリも共有することが可能になるため、仮想マシンのクローンを非常に高速に作成することができ、再構成も必要ありません。
またパワーオンしたままActive Directoryのドメイン参加を行ってくれるため、リンククローンより少ないプロセスで、仮想マシンを作成することができます。
ただしインスタントクローンは、Microsoft Sysprepをサポートしておりません。そのため、SIDを変更することが出来ないので注意が必要です。

2-5. 仮想ディスクの共有
最後に、リンククローンとインスタントクローンがそれぞれどのようにして仮想ディスクを共有しているのか、その仕組みについてみていきたいと思います。

リンククローンの場合、マスターのスナップショットからクローンされたレプリカが作成されます。仮想デスクトップは、このレプリカのディスクを共有します。

Hz07.png

インスタントクローンはレプリカ+ペアレントのディスクの共有をしています。仮想デスクトップはペアレントを参照し、そのペアレントがレプリカを参照してディスク共有を行っています。

Hz08.png

3.まとめ

本ブログでは、インスタントクローンの概要とこれまでのリンククローンとの比較について紹介しました。

インスタントクローンには、仮想マシンを迅速に展開できる点や、ユーザーのログアウトごとに仮想デスクトップをクリーンな状態にできる点、などといったメリットがあることをご理解いただけたと思います。

「Horizon Version 2012」でリンククローンの機能が削除されます。そのため、Horizonのアップグレードにおける検討事項としてインスタントクローンを考える必要があり、需要も伸びてくると思います。本ブログが、新たにインスタントクローンを採用する際の足掛かりになると幸いです。

SB C&S が提案する仮想化ソリューションについての情報はこちら

著者紹介

SB C&S株式会社
ICT事業本部 販売推進・技術本部 技術統括部 第1技術部 1課
石井 基久 - Motohisa Ishii -