仮想マシンとOS仮想化とは似て非なるもの
今ブームなのは「仮想マシン」
巷では「仮想化」がブームです。若干意味合いは異なりますが、MacのなかでWindowsが動く「Parallels Desktop for Mac」は、IntelMacに対する購入意欲を大いに引き立てられました。
また仮想マシンを利用するメリットとして、異なるOS環境の製品をデモンストレーションするといった際は、実機を別に用意するのに比べて大変手軽です。ではサーバ仮想化の分野はどのような状況なのでしょうか。
主にサーバ向けの仮想化技術として「VMWare」や「Xen」などの仮想マシンモニタ/ハイパーバイザタイプによる「ハードウェア仮想化」が一般 的に知られています。第1回では敢えてそれらとは異なるアプローチである「OS仮想化」のメリットについて紹介します。
オペレーションシステムの仮想化は、サーバ仮想化において存在感を急増させています。2006年9月に発表されたIDCレポートによると、OS仮想 化ソフトウェアである「Virtuozzo」は、すべての仮想化技術の中で最も急成長しています。また、Gartner Groupの11月のレポートでは、OS仮想化が2010年までに主流になるといわれています。
OS仮想化とハードウェア仮想化(仮想マシン)との比較
OS仮想化技術はハードウェア仮想化技術とどのように異なるのでしょうか。下記の図1は仮想マシンモニタ(VMM)/ハイパーバイザによるハードウェア仮想化とOS仮想化を比較したものです。
ハードウェア仮想化とは
仮想マシンモニタ(VMM)もしくはハイパーバイザの仮想化モデルでは、仮想サーバにおけるハードウェアへのアクセスを仮想化します。この方式では、ベースのレイヤにハイパーバイザもしくは標準OSがあり、ハードウェアと密接に関係しています。
ハードウェアおよびリソースを仮想マシンへ配分するためには、ハードウェアのすべてが仮想化される必要があり、上部レイヤでは仮想マシンへ割り当てる各種チップやボードなどを仮想化しています。
つまり、ハードウェアベンダーやOSソフトウェアベンダーが、すでにサポートを行っているハードウェアを、再度ソフトウェアへと作り変える作業が必要となります。仮想マシン自体には、完全なゲストOSのコピーおよびアプリケーションが存在します。
ハードウェア仮想化ソリューションの代表としては「VMWare」「Microsoft Virtual Server」「Xen」「Parallels」などがあります。
OS仮想化とは
次にOS仮想化では、仮想サーバにおけるOSへのアクセスを仮想化します。OS(カー ネル)レイヤにてサーバを仮想化するこのモデルでは、隔離された複数のパーティションもしくは仮想環境(VE)を単一の物理サーバとOSインスタンス上に 作成することにより、ハードウェアやソフトウェアの管理における効率を最大化します。このため、仮想環境におけるOSはホストOSと同じになります。
OS仮想化モデルでは、性能/管理性/効率性に関しての最適化がされていることが特徴となります。SWsoftのOS仮想化ソフトであるVirtuozzoのケースでは、ベースにWindowsもしくはLinuxの標準ホストOSが常駐しています。
上層の仮想化レイヤには異なる仮想環境(VE)間のリソース隔離とセキュリティを確実にする独自のファイルシステム、さらにカーネルサービス抽象化 レイヤが存在しています。仮想化レイヤはそれぞれの仮想環境をスタンドアロンサーバのように稼動させることが可能です。
OS仮想化ソリューションの代表としては、SWsoftの「Virtuozzo」やオープンソースの仮想化ソフトである「OpenVZ」、Sunの「Solaris Containers」などがあります。