米Xen Source社のCHIEF SCIENCE OFFICERで,「Xen project」のLeader and chief architectも務めるIan Pratt氏(写真)に,仮想化技術の展望と次期Xenについて聞いた。同氏は2007年7月20日に東京都内で開催された「Xen Conference Japan 2007」に合わせて来日したもの。(聞き手は日経Linux編集 畑 陽一郎)
仮想化の将来像についてどのように考えているのか。
![]() 写真1 米Xen Source社のCHIEF SCIENCE OFFICERで,「Xen project」のLeader and chief architectも務めるIan Pratt氏 [画像のクリックで拡大表示] |
XenをLinux向けに最適化する,もしくはLinuxカーネルにXenを組み込むという選択肢についてはどう考えるか。
XenはさまざまなOSを動かすためのプラットホーム(基盤ソフト)であり,Linuxだけを特別視することはしない。そのため,Xen本体をLinuxカーネルに組み込むことはしない。ただし,LinuxカーネルにXen用のインタフェースを組み込む動きには協力している。
仮想化では実機との性能差をいかに縮めるかに苦労している。Xenではどのように改良していくのか。
現在のXenは,CPU性能にはほとんど影響を与えない。Red Hat Enterprise Linux 5では1ウエイ,2ウエイ,4ウエイのいずれの構成においても,5%以下しか性能が低下しない。Windows Server 2003では,10%前後の性能低下で済む。
Xenで改良が必要なのは,ディスク・アクセス性能とネットワーク性能だ。ディスク・アクセス性能を向上するには,(1)仮想マシン(ゲストOS)のインストール先や,(2)メイン・メモリーに占めるディスク・バッファ量の比率および転送単位などを,ディスク装置の種類に応じて最適化しなければならない。例えば,IDE接続のハード・ディスクとファイバ・チャネル接続のハード・ディスクでは,当然のことながら,最適値が異なる。将来的には,ハードウエア・ベンダーがサーバー・マシンを工場出荷する時点で,プリインストールするXenを最適化できるようにしたい。
ネットワーク・アクセスでは,ネット・チャネル2対応の高速化技術を取り込む。通常のネットワーク・インタフェース・カード(NIC)でも高速化が可能だが,複数のキューを内蔵するタイプの新しいNICと組み合わせれば,さらにネットワーク性能を向上できる。
Xenの次期版ではどのような機能を盛り込むのか。
2007年9月に公開する予定の「Xen 3.2」では,NICとDomain U(ゲストOS)の管理下にあるメモリーとの間で,DMA転送が利用できるように改良する。いったんDomain 0(管理用OS)を経由する場合と比べてネットワーク性能を高められる。
Xenは,準仮想化(パラ・バーチャライゼーション)と呼ばれるモードでゲストOSを動かした場合に最も性能がでる。ただし,現時点で最新のLinuxカーネル2.6.22では,Xen用のカーネルを用意しなければ準仮想化は利用できない。
現在,Linuxカーネル開発者やXenSource社,米VMware社,米Red Hat社,米IBM社などが協力し,「Paravirt-Ops」と呼ばれるインタフェースを開発中だ。Paravirt-Opsは,XenとLinuxカーネルが協調して動作するためのインタフェースである。既にVMware製品などでも利用されており,カーネル2.6.20からその一部が組み込まれている。次期版のカーネル2.6.23では,Paravirt-Opsが完全にカーネル内に組み込まれる。すると,Xen用のカーネルを用意しなくても準仮想化を利用できるようになる。つまり,通常のLinuxディストリビューションを,準仮想化のゲストOSとして使えるわけだ。