11月7日から3日間,米国ロサンゼルスで「VMworld 2006」が開催された。米VMwareが主催のカンファレンスで,全世界から7000人もの人々が集まった。仮想化の用途というと,いまだに「Windows NT 4.0やWindows 95といった旧OSの移行」や「サーバー集約」と考えているユーザーが少なくないようだ。だが,VMworldに集まった人々は「仮想化はすべてのエンタープライズ・システムの根幹をなすもの」だと実感したことだろう。

 仮想化は,サーバーとクライアントのどちらにとっても重要な技術である。サーバー分野では,ハードウエア資源の利用効率や可用性,管理性を向上させる。実際,このような「仮想化2.0」とでも呼ぶべき先進的な使い方をしているユーザーも出てきている。例えばエンタープライズ向け仮想化ソフトである「VMware Infrastructure 3」には3つのエディションが用意されているが,そのユーザーの多くは,「VMotionと呼ぶライブ・マイグレーション(あるいはホット・マイグレーション)を利用しようと考えており,最下位エディションはほとんど引き合いがない」(ヴイエムウェア社長の三木 泰雄氏)という。

 VMotionとは,あるホスト上で動作している仮想マシンを,停止することなく別のホストに移動させる仕組みである(VMotionに関する関連記事)。仮想環境でVMotionを利用すれば,サーバー機能を停止することなくハードウエアのメンテナンスが可能になる。そのため,仮想マシンが数台の比較的規模の小さいシステムであっても,ホストを2台用意し,VMotionを利用するユーザーがあるという。このVMotionは,VMware Infrastructure 3の上位2つのエディションでしか利用できない。そのため,最下位エディションの引き合いがあまりないそうだ。

 VMware Infrastructure 3には,ほかにもVMotionを応用したいくつかの機能がある。例えば,複数のホストでそれぞれ稼働している仮想マシンの負荷を監視し,ある仮想マシンの負荷が高まったら,負荷の低いホストに自動的に移動させて,システム全体の負荷を分散させる。あるいは,仮想マシンの負荷が高いときに,その仮想マシンが稼働するホスト上の仮想マシン数を減らし,負荷が低くなったら稼働する仮想マシン数を増やすというように,仮想環境ならばホストの処理性能を使い切ることができる。それに対して仮想マシンを使用しない物理環境だけでは,このような運用は不可能に近い。特に時間帯による負荷変動が大きいWebサーバーなどを運用するときは,負荷のピークに合わせてシステム全体の処理性能を決定しなければならず,平常時はシステムのハードウエア資源をほとんど使い切れないでいることが多いはずだ。

 一方デスクトップ分野では,ソフト開発時のテストのように多くの実行環境(OS環境)を必要とする用途だけでなく,セキュリティや管理性を向上させるために仮想化技術を導入する例が増えてくるだろう。11月6日にNECが発表した新しいシン・クライアント・システムはその一例である(関連記事)。これは,VMwareが提唱する「Virtual Desktop Infrastructure」と呼ぶ仕組みに沿ったもので,各エンドユーザーが利用するデスクトップ環境を,それぞれサーバー上の独立した仮想マシンとして実装し,稼働させる。そしてエンドユーザーは,Windowsのリモート・デスクトップ機能を利用して,シン・クライアントからサーバー上の仮想マシンに接続するというものだ。同様なコンセプトを米Advanced Micro Devices(AMD)も,開発コード名「Raiden」として発表している(Raidenに関する関連記事)。

 仮想マシンとして実装されているので,ユーザーごとにOS環境が異なっていても運用できる。さらに,複数のホストで仮想マシンを運用し,負荷に応じて自動的にVMotionすることも可能だ。クライアントには外部記憶装置を接続できないので,情報漏えい対策になる。

 純粋な技術的興味では,仮想マシン上での処理を記録する機能が面白い。VMwareの次期デスクトップ向け仮想化ソフト「VMware Workstation 6」に実装される予定だ(VMware Workstation 6の新機能に関する関連記事)。仮想マシン上で実行される命令をすべて記録しておき,後からそれを“再生”できる。ソフトウエアの新製品などのデモや,トレーニングに使えそうだ。そのような用途には現在,動画を利用することがあるが,仮想マシン上の“再生”は,実際の動作そのものである。その後自分で操作することもできる。しかも仮想マシンなので,デモが終わったら仮想マシンをデモ開始直前の状態にいつでも戻せる。

 今後発売されるサーバー機はもちろん,ほとんどのビジネスPCのCPUには,処理性能向上を狙った機能が実装される予定だ。その1つがNested Page Table(AMD)やExtended Page Table(Intel)と呼ぶ,仮想環境から物理メモリーにアクセスする際のアドレス変換の仕組みだ。現在,仮想環境の処理性能上の最も大きなボトルネックになっているのが,このアドレス変換である。

 VMworld 2006では,実際にNested Page Table機能が実装されたCPUと,そうでない既存のCPUでの仮想マシンの処理性能の違いがデモされた。定量的な数値は示せないが,Nested Page Table機能を備えた方が数倍速いと感じた。仮想環境の処理性能は,処理内容にもよるが,物理環境の80~90%程度だ。Nested Page Table/Extended Page Tableをはじめ,I/Oの仮想化など,今後ハードウエアの仮想化支援機能が充実し,仮想環境でも物理環境と同じ程度の性能が出るようになれば,仮想化技術を使わない理由はなくなるはずだ。