サーバーの仮想化
この連載のテーマはWindowsとOSSの比較ですが、サーバー仮想化においてWindowsはホストOSまたはゲストOSという立場であり比較の対象にはなりません。
ですので今回は、Microsoftが提供するサーバー仮想化と、オープンソースのサーバー仮想化、それからサーバー仮想化と言ったら無視することのできないVMwareを取り上げることにします。
なお、サーバーの仮想化がどのような技術で実現され、どのような効果を与えるのかについては、ページの都合もありますし、なにより多くのメディアで紹介されていることもありますので、ここでは詳しくは控えます。
サーバー仮想化を実現するソフトウェアはハイパーバイザと呼ばれ、ハードウェア上で直接動作するものと、ホストOS上で動作するものの2種類があります。
前者はXen、KVM(Kernel-based Virtual Machine)、Microsoft Hyper-V、VMware vSphere(VMware ESX)などが、後者はSun VirtualBox、Microsoft Virtual PC、VMware Workstationなどがあります。
この中では、XenおよびSun Virtual Boxがオープンソースであり、Microsoft Hyper-V、Microsoft Virtual PC、VMware vSphere、VMware Workstationはそうではありません。
では、ハードウェア上で直接動作するハイパーバイザについて、簡単に見て行きましょう。
Xenはオープンソースのハイパーバイザで、ハードウェア上で直接動作します。
Xenはコマンドラインでの操作が基本なりますが、XenをベースとしたハイパーバイザであるCitrix XenServerなどを利用すれば、GUIでの管理も可能となります。
KVMはLinux kernel 2.6.20以降に標準で組み込まれているハイパーバイザです。Red Hat社からはRed Hat Enterprise Virtualization製品群として2009年12月より提供されています。
Microsoft Hyper-VはMicrosoftが提供するハイパーバイザで、ハードウェア上で直接動作します。Hyper-VはWindows Server 2008およびWindows Server 2008 R2のStandard エディション以上の「役割」の一つに含まれています。
またHyper-Vであれば、Windows Serverの標準機能として提供されるので追加コストがかからないといったメリットがあります。
Hyper-Vの管理には、無償でGUIのHyper-Vマネージャが用意されています。
また、Windows Server 2008 R2が動き、Intel-VTかAMD-Vに対応したCPUを搭載していれば動作が保証されるため、安価なハードウェア環境でもサポートを受けることができます。
複数のハイパーバイザを管理するなど、統合的な管理には、Microsoft System Center Virtual Machine Manager(SCVMM)が利用できます。SCVMMはVMware ESXの管理を行うこともできます。
VMware ESXは、ハードウェア上で直接動作するハイパーバイザです。
その管理は、GUIのVMware vSphere ClientやVMware vCenterを利用します。
また、VMware ESXの機能を制限した、VMware ESXiという無償のハイパーバイザもあります。
VMwareは1999年からサーバー仮想化製品を提供していて一日の長があるため、他に比べて実績が多くあります。
VMwareに認定されている構成でハードウェアを用意しようとすると、比較的高価になるようです。
なおサーバーを仮想化する場合、一般的に、ゲスト上で動作させるOSやアプリケーションにもライセンスを用意する必要があります。
ただし、マイクロソフトでは仮想化を意識したライセンス形態で提供しており、Windows Server 2008 Datacenterであれば、同一のハイパーバイザ(物理サーバー)上で仮想インスタンスを無制限に使えるなど、エディションに応じたライセンスの特典があります。この特典はHyper-V上での稼働に限ったことではなく、VMwareやKVM上でWindows Serverを稼働させる場合でも利用可能です。
Red Hat Enterprise Linux 5 Advanced PlatformのKVMを利用する場合、その上でゲストOSとして動かすRed Hat Enterprise Linuxには追加のライセンスが不要です。しかし、VMwareやHyper-Vなど他のハイパーバイザ上でRed Hat Enterprise Linuxを稼働させる場合は、ゲストOS毎にライセンスが必要になります。
文字数の制限もあって簡単になってしまいましたが、サーバー仮想化には多くの選択肢があることがおわかりいただけたのではないでしょうか。