[VMware] インスタントクローンについて

 

このポストは、vExperts Advent Calendar 2016 に参加しています。

 

※少し古い(?)内容かもしれません。

今年3月、Horizon View 7がリリースされました。メジャーバージョンのため沢山の新機能が追加されましたが、個人的には”インスタントクローン”が一番興味深い機能でした。
でな訳で、”インスタントクローン”の話をします。

既にいろんな情報が出ていますが念のため、簡単に”インスタントクローン”について説明します。
”インスタントクローン”は以前は”Project Fargo”とも”VMFork”とも呼ばれていた技術で、ESXiホストのメモリ上で高速にクローンを作成します。

Linuxのforkの’仮想マシン版’とも言えるでしょうか。親仮想マシンの静止点(スナップショット)を取り、メモリ上で子仮想マシンとしてコピー(クローン)を作成します。コピーされる子仮想マシンは親仮想マシンのメモリとディスクを共有します。ここに仮想マシンに書き込みが発生したタイミングで差分ディスクとメモリを確保するCopy-on-Write方式を採用し可能な限りクローン作成時に必要なメモリ、ディスクを抑制します。そのためより、高速で多くのクローンが作成できるというわけです。ちなみにこの”インスタントクローン”ではView Storage AcceleratorとTPSが自動的に有効化されます。

instantclone-overview

↑の図のように”インスタントクローン”プールを作成すると①”マスターイメージ”からスナップショットを作成し、”テンプレート”を作成します。”テンプレート”の作成が終わったら②今度はこの”テンプレート”で”レプリカ”を作成します。この”レプリカ”は”インスタントクローン”プール作成の際に指定したデータストアに保存され’読み取り専用’として共有されます。③この”レプリカ”を基に各ESXiホストのメモリ上に”親仮想マシン”を作成します。”マスターイメージ”から”レプリカ”までは停止状態で処理されますが、”親仮想マシン”はパワーオン状態でESXiホストのメモリ上に常駐します。④”親仮想マシン”より”子仮想マシン”をコピーされます。

実際にプールを作成するとvCenterからは”テンプレート”、”レプリカ”、”親仮想マシン”そして”子仮想マシン”がそれぞれ作成されていることが確認できます。

instantclone-overview02

さて、速い速いとは言ってるけどどれぐらい速いのか比較してみました。(もちろん比較のデータも色々出てますが…)
リンククローンと同じ条件で (1)仮想デスクトッププール作成 (2)仮想デスクトップの追加時の時間を比較しました。

 

まず、検証環境は以下のとおりです。
– ESXiホスト 4台構成のvSAN環境で、ESXiホストあたり1つのディスクグループ(1xSSD、4xHDD)
– vSAN用ネットワークは10Gb

(1)仮想デスクトッププール作成
イニシャルデプロイとして10台の仮想デスクトップを作成するプール作成時間

ic-vs-lc-01_jp

インスタントクローン

ic-vs-lc-02_jp

リンククローン

(2)仮想デスクトップの追加
作成済みのプールに仮想デスクトップを90台追加作成時間

ic-vs-lc-03_jp

インスタントクローン

ic-vs-lc-04_jp

リンククローン

 

上記の結果はハードウェアスペックやESXiホスト数などによって異なりますが、プール作成にかかる時間はリンククローンでもインスタントクローンでもさほど変わらないことが分かります。しかし仮想デスクトップの追加にかかった時間はインスタントクローンがリンククローンより2倍以上速かったことが分かります。(この差はESXiホストが増えるほど大きくなります)
このように仮想デスクトップデプロイの所要時間、メモリ、ディスクなどのリソースを最小限に抑えられるス・テ・キ・な機能ですが、今のところ利用シーンは限られています。それは色々と制限されているためです。

  • ”インスタントクローン”は自動かつ流動プールのみ利用可能です。専用プールでは利用できません。
  • Persistent Diskが利用できませんし、Persona Managementもサポートしません。
  • サポートのゲストOSはWindows 7、Windows 10だけで他のWindows OS バージョンやLinuxそしてRDSHもサポートしません。
  • SysprepもQuickPrepも利用できません。(その変わりインスタントクローン用ClonePrepが提供されます)
  • VVolやNFS、ローカルデータストアもサポートしません。
  • IPv6もサポートしません。

 

フルクローンやリンククローンと比べてかなり条件が厳しいことが分かります。それに”インスタントクローン”特性上、ユーザが仮想デスクトップからログオフするとその仮想デスクトップを削除、新たにクローンを作成するため、ユーザプロファイルを維持するためには工夫が必要です。ちなみにVMware社ではApp Volumesを推奨しています。

[VMware] インスタントクローン vs リンククローン

Horizon View 7より追加されました”インスタントクローン”がどんなものか検証をしてみました。
ご存知のとおり、”インスタントクローン”はESXiのメモリ上で仮想デスクトップのクローンを高速にデプロイする技術です。
VMware社のブログの検証結果ですと、1台の仮想デスクトップを展開するのにかかる時間はわずか1.5秒ということでした。

 

メモリ上でクローンを作成するから、そりゃ~速いわ。しかもVMware社で検証結果も公開しているのはわざわざ同じことをするか?って自問自答しながら検証した結果をこうなりました。

 

まず、検証環境は以下のとおりです。

・ESXi 4台構成のVSAN環境で、ESXiホストあたり1つのディスクグループ(SSD×1、HDD×4)が作成されています。
・VSAN用ネットワークは10Gbで構成されています。

 

(1) 仮想デスクトッププールの作成にかかる時間

イニシャル作成としてインスタントクローン、リンククローンそれぞれ、仮想デスクトップ10台のプールを作成した時間を比較してみました。

 

ic-vs-lc-01_jp 

インスタントクローン : 仮想デスクトップ10台のプール作成

 

 ic-vs-lc-02_jp

リンククローン : 仮想デスクトップ10台のプール作成

 

(2) 作成したプールに仮想デスクトップを追加した際にかかった時間

今度は(1)で作成したプールに、それぞれ90台の仮想デスクトップを追加してみました。

 

ic-vs-lc-03_jp

インスタントクローン : 仮想デスクトップ90台追加

 

ic-vs-lc-04_jp

リンククローン : 仮想デスクトップ90台追加

 

当たり前の結果ですよね。w
イニシャルデプロイでは、インスタントクローンもリンククローンもほぼ同じ時間がかかりました。しかし仮想デスクトップを追加した際には、インスタントクローンがリンククローンより2倍速かったことが分かります。初期プール作成ではインスタントクローンもマスタイメージからテンプレートVMやらレプリカVMやら、各ESXiホストにペアレントVMやらをコピーするのでそこそこ時間がかかりましたが、一旦作成してしまえば、あとは高速でコピーするだけなので、速かったです。検証環境ではESXiホストが4台でしたが、VMware社の検証時と同様、ESXiホストを15台にすると本当に1.5秒で1台コピーされるんじゃないでしょうか。