2016年3月19日土曜日

インスタントクローンを使ってみよう その1(概要編)

インスタントクローンという言葉をご存知でしょうか?
インスタントというとラーメンがまずイメージされるかもしれませんが、ほぼ同じイメージをしていただければよいと思います。

通常仮想マシンのクローンを展開する場合、今までは
  • フルクローン
  • リンククローン
の2つがあることはご存知だと思います。

フルクローンは、仮想マシンの情報をすべてコピーすることです。
これだと、完全にコピー元マスターとは別物としてコピーされた仮想マシンが出来上がりますが、マスターの仮想マシンが、2TBなど大容量なVMDKファイルを持っていると、これを複数古コピーをすると時間もかかりますし、容量も大量に消費することになります。



これに対して、リンククローンは、マスターの仮想マシンにてスナップショットをとり、そのスナップショットまでのデーターをクローンされた各仮想マシンで共通のディスクとして参照します。
当然ながら各仮想マシンで、個別設定をするとマスターのディスクと別に差分ディスクが、リンククローンで展開された各仮想マシンに割り当てられます。
これにより、OSやOfficeなどの各仮想マシンで共通な部分は、1つのVMDKを参照し、そこからの差分だけを各仮想マシン個別で保存するため、ディスク容量を削減できることと、クローン作業も大変高速で行うことができます。(ディスクコピーが事実上不要のため)
(リンククローンで構成する場合基本的にスナップショットは、仮想マシンがパワーオフの状態で取得しなければいけない)



個人的には、リンククローンでも十分じゃないかと思うのですが、今動いている仮想マシンのメモリー状態までをスナップショットのようにとってしまい、その仮想マシンのメモリー状態までを含めてクローンをつくるというリンククローンにさらにメモリー状態をコピーした仮想マシンというのが、インスタントクローンとなります。
ちょっとわかりにくいですが、いわば仮想マシン上でWindowsが起動して、そのうえでExcelでなんらかのファイルを開いたままの状態の仮想マシンを瞬時にクローンを作るという方法です。
メモリー状態までをコピーするので、OSを起動するまでの時間すら不要になるため、クローンができた瞬間から仮想マシンにすぐに利用ができるというのが「インスタントクローン」の技術です。


そんなことして大丈夫なのかというのは、さておき、こういった高速なクローニングはどういったところで活用できるでしょうか?

1つは、クラウド上で大量にAPサーバーを展開する場合です。
モバイルゲーム業界など、パブリックにWEBサービスを展開する場合、ユーザーのピークに合わせてAPサーバーを大量に展開するケースがあります。
この場合、クラウドで環境を構築するケースが多いと思いますが、マスターの仮想マシンを大量にコピーして、OSやアプリケーションサーバーを起動してとなると、時間がかかります。

これを、インスタントクローンとDockerを活用し、VMwareの提供する、Dockerのための薄いOSであるPhoton OSを利用することで、APサーバーをコンテナ化したものを瞬時に展開し、展開後すぐにAPサーバーとして利用することができるというメリットがあります。

2つ目は、使い捨て仮想マシンです。
たとえば、KIOSK端末などの公開端末によるインターネット閲覧などです。
公開端末は、ユーザー側の様々な操作でマルウェアの感染やOSの破壊などが行われる可能性があります。この機能を利用すれば、OSの再起動など一切なく、マスターから瞬時にOS起動後のクローンができますので、ユーザー利用後新しいユーザーが利用するたびにマスターイメージの状態(クリーンな環境)を提供できます。
これは、昨今流行りのWeb分離においても同じく可能ではないかと思います。

このインスタントクローン、次期Horizon7 Hybrid Mode(Project Enzo)で利用される機能ですが、このインスタントクローンの機能自体は、vSphere6の機能であり、PowerCLIを利用することで、Horizon7に関係なく利用することができます。

では、次回から実際にインスタントクローンを作成するまでの手順をお伝えしたいと思います。




0 件のコメント:

コメントを投稿