木村 智和,飯島 徹
日本ヒューレット・パッカード

 VMware Infrastructure 3はヴイエムウェアが提供するサーバー向け仮想化ソフトウエアである。サーバー向け仮想マシン・ソフトの「VMware ESX」と各種拡張機能で構成する。1台のサーバー上で論理的に複数の仮想サーバー・マシンを動作させるなどにより,物理リソースを各仮想マシンに効率的に割り当てることが可能だ。

 2007年12月からは,ESX 3.5などで構成する最新バージョンのVMware Infrastructure 3(VI3)が国内で一般向けに提供開始された。また,2008年7月25日にはマイナーアップデート版である「VMware Infrastructure 3 version 3.5アップデート2」の国内提供が始まっている。

 近年,PCサーバーの領域において急速にサーバー仮想化が進展している。VMware Infrastructureは,その市場で最も多くの企業が採用しているサーバー仮想化製品だろう。ここでは,VI3 v3.5で強化された主な新機能を紹介しながら,同製品を利用したシステムの構築方法やシステムを効率良く利用するためのヒントなどを紹介していきたい。

三つのエディションと無償の製品を用意

 ヴイエムウェアは,x86向けの仮想化ソフトウエアとして各種製品を提供している。このうちVI3は大規模環境やミッション・クリティカル環境での利用が可能なサーバー仮想化製品である。Foundation,Standard,Enterpriseという三つのエディションやVMware ESXiという無償の軽量化製品が用意されている(表1)。

表1●VMware Infrastructure 3の主な製品構成
[画像のクリックで拡大表示]
表1●VMware Infrastructure 3の主な製品構成

 VMware Infrastructure 3 Foundationは以前,Starterと呼ばれていたエディションで,中小規模システム向けである。仮想化ソフトのほかにバックアップやパッチ適用などの基本管理機能で構成する。

 VMware Infrastructure 3 Standardは,高可用性を求める場合に向く。Foundationに比べると,VMware HAという可用性向上機能が増えている。

 VMware Infrastructure 3 Enterpriseは最上位エディションで全機能が利用できる。Standardに,後述するVMware VMotionやVMware Storage VMotionおよびVMware DRSなどの機能を付加した。企業の大規模システムやデータセンターでの利用に向く。

 このほか,VMware ESXiという軽量化した仮想化ソフトのみで構成する製品が用意されている。サービス・コンソールの機能を簡素化しており,VI3との併用が前提になるが,仮想マシンが稼働するサーバーを容易に増やすことができる。詳しくは後述したい。

VI3はハイパーバイザー型の仮想化製品

 VI3の構成要素である仮想化ソフトは「VMware ESX」と呼ばれる。このソフトは「VMkernel」と呼ぶ独自のカーネル・プログラムがハードウエア上で動作し,その上に仮想マシンを構築する「ハイパーバイザー型」のアーキテクチャを採用している(図1)。

図1●VMware ESXとVMware Serverのアーキテクチャの違い
図1●VMware ESXとVMware Serverのアーキテクチャの違い
[画像のクリックで拡大表示]

 ヴイエムウェアには,VMware Serverというサーバー仮想化ソフトもある。VMware Serverは,通常のOSが稼働するコンピュータにアプリケーション・ソフトとして導入し,その上で仮想マシンを構築する「ホストOS型」のアーキテクチャである。

 ハイパーバイザー型のESXによる仮想化環境は,ホスト型のVMware Serverによる仮想化環境に比べ,ホストOSが不要な分,オーバーヘッドが小さい。

 また,ESXは大規模ミッション・クリティカル環境での利用に向く各種機能を備えている。

 例えば,仮想マシンを動作させるプロセッサの明示的な割り当てや仮想CPUの優先度を,仮想マシンを動作させたまま変更できる。また,ハイパースレッディングやNUMA(Non-Uniform Memory Access)といったハードウエアによる並列処理技術にも対応している。

 ESXの機能の中でも「VMware Virtual SMP」は特徴的だ。これは,一つの仮想マシンに複数の論理プロセッサを割り当てる機能である(図2)。論理プロセッサとはデュアルコアやクアッドコアといったマルチコア・プロセッサの場合,一つひとつのコアを指し,ハイパースレッディング・システムではそれぞれのハードウエア・スレッドを指す。

図2●仮想マシンをマルチプロセサ化するVirtual SMP
図2●仮想マシンをマルチプロセサ化するVirtual SMP

 Virtual SMPを使用すると,複数のプロセッサを一つの仮想マシンに割り当ててSMP構成の仮想マシンを作りだすことができる。ESX 3.0以降では,一つの仮想マシン当たり,最大で四つの論理プロセッサを割り当てられる。