日本ヒューレット・パッカード 小川 大地

 昨今、マイクロソフトのHyper-VやレッドハットのKVM(Kernel-based Virtual Machine)など、ハイパーバイザー型仮想化機能を標準搭載するOSが増えている。しかし、このようなOS純正のハイパーバイザーがあるにもかかわらず、VMware vSphereを選択するユーザーは多い。では、なぜユーザーは追加投資をしてまでVMware vSphereにこだわるのか。理由の一つである「性能面での優位性」にフォーカスを当てて解説しよう。

 なお、本記事の「ESX」とは、ESX ClassicとESXiの両方を指すものとする。

ハードウエアアシストで性能向上

 ハードウエアアシストは、仮想化のエミュレーション処理の一部をハードウエア側でオフロードすることにより、プロセッサに掛かる負荷を減らす技術だ。

 ESX 4では、新たに三つのハードウエアアシストに対応している(表1)。対応した技術の中で最も期待できるのはIntel EPT(Extended Page Table)とAMD RVI(Rapid Virtualization Indexing)だろう。これらは「第2世代ハードウエアアシスト」と呼ばれ、待望されていた。ヴイエムウェアのベンチマーク結果によれば、Intel EPTを利用すると、利用しない場合に比べてゲストOSの処理性能が3~5割向上するという(http://www.vmware.com/pdf/Perf_ESX_Intel-EPT-eval.pdf)。

表1●vSphere 4が対応しているハードウエアアシスト
[画像のクリックで拡大表示]
表1●vSphere 4が対応しているハードウエアアシスト

 また、別のハードウエアアシストを利用した魅力的な機能として「VMDirectPath I/O」がある。この機能は、ゲストOSがネットワークやディスクアクセスを行う際に、チップセット上に実装されたIntel VT-d(IntelによるI/O仮想化支援機能の総称)という技術を用いてアシストすることで、ハイパーバイザーを介さずに物理NIC(Network Interface Card)やHBA(Host Bus Adapter)に直接アクセスするというものだ(図1)。ハイパーバイザーを介さないため、仮想化によるオーバーヘッドは発生しない。つまり、仮想化しない場合と同じスループットを得ることができる。また、外部ストレージのコントローラーなども、ゲストOSから直接認識できる(図2)。

図1●「VMDirectPath I/O」ではゲストOSが物理デバイスに直接パススルーアクセスする
図1●「VMDirectPath I/O」ではゲストOSが物理デバイスに直接パススルーアクセスする
[画像のクリックで拡大表示]
図2●VMDirectPath I/Oでは外部ストレージのコントローラーなどもゲストOSから直接認識できる
図2●VMDirectPath I/Oでは外部ストレージのコントローラーなどもゲストOSから直接認識できる
[画像のクリックで拡大表示]

 ただし、VMDirectPath I/Oは、まだ第1フェーズという位置付けで、試験実装に近い。対応するNICやHBAは限定されており、vMotionなども利用できない。このため、VMDirectPath I/Oの利用を今回見送るというユーザーも多いだろう。しかし、近い将来この機能がフルサポートされたときのインパクトはとても大きい。物理環境と同じスループットを出せるとなれば、性能低下を理由に躊躇していた範囲まで仮想化でカバーできるようになる。

 ハードウエアアシストを活用するには、当然ながらサーバー機器などのハードウエア側の対応も必要だ。vSphereを導入する際には、ハードウエア選定が非常に重要なポイントとなってくるだろう。