2.ハードウェア仮想化の誕生
現在ではストレージやネットワークなどITテクノロジーのほとんどのものが仮想化され、何の抵抗もなく普通に使われており、仮想化のメリットを誰もが享受しています。そして、最後まで仮想化されずに残った1つがハードウェアの仮想化です。
仮想マシン(VM)の歴史は意外に古く1972年にIBMがメインフレーム用にリリースしたSystem/370までさかのぼります。昔、メインフレームを使っていた方にとっては、x86ハードウェアの仮想化は特に新しい技術ではなく、抵抗なく受け入れることができるのではないでしょうか。それから26年後、スタンフォード大学のMendel Rosenblum教授のグループがメインフレームで行っていた仮想化技術を基に、x86 CPUのシステムで仮想化を行う研究を行っていました。この技術が確立され製品化の目処が立って設立されたのがVMware社になります。VMware社はシリコンバレーで1998年に設立され、翌1999年にまずLinux OSで仮想マシンを動かすVMware Workstationが、その後Microsoft OSで仮想化を行う製品をリリースしました。
日本では2000年にネットワールド社がVMwareとディストリビューション契約を行い国内で販売を開始しましたから、国内の仮想化の歴史はそれほど遅いものではありませんでした。VMware社はテクノロジーカンパニーで、シリコンバレーによくある「こんなもの作ってみたけど、何かに使えないかな」的なところがありましたが、ネットワールド社は仮想マシンを使用したレガシーマイグレーションというマーケットを作り出したのです。当時はWindows XPが出始めた頃でしたが、まだWindows 95をベースにしたアプリケーションが多く残っていました。しかしWindows 95が動くハードウェアがなかったのです。
そこで同社は、ハードウェアの入れ替え時にWindows XPをホストOSとして使用し、VMware Workstation上の仮想マシンで従来のWindows 95とアプリケーションを動かしました。このソリューションは大ヒットし、長らくレガシーマイグレーションは仮想化ソリューションの代表的な使用方法でした。しかし、VMware社は仮想化をデータセンターで使用することを次のソリューションとして定義したのです。
ハイパーバイザーの登場
ホストベースの仮想化ソフトウェアの場合には、仮想化ソフトウェアはホストOSのアプリケーションとして動きます。すなわち、仮想マシンへのCPU割り当てやメモリアロケーション、ディスク/ネットワークの処理はすべてホストOSが行います。また、ホストベースの仮想化ソフトウェアでサーバOSを仮想マシンで動かす場合には、他のアプリケーションを一緒に動かさないことも分かっていました。つまり、仮想化ソフトウェアだけをホストOSで動かすことが特に本番業務では一般的だったのです。汎用OSは処理が重い(すなわち、仮想マシンからはオーバヘッドが大きくなる)ことや、仮想マシンに最適なリソース制御を行えないことが、データセンターでの使用で問題となっていました。また、ホストOSのメンテナンスや万が一のホストのクラッシュでは、その上で動いている仮想マシンがすべてダウンしてしまうことも懸念事項です。
そこで、仮想マシンのための専用OSを作りました。2002年のことです。このOSの働きをするものをVMwareではvmkernelと呼び、一般的にはハイパーバイザーと呼ばれるものです。基本的な仮想化アーキテクチャーはVMware Workstationのものを踏襲し、それまでホストOSで行わせていたリソーススケジューリングやディスク/ネットワークに対するI/Oを新たにvmkernelで行わせました。この製品は、ESX Serverと名づけられ、現在の仮想化製品の主流となったのです。