仮想化ソフトウェアのトップに躍り出たVMware Workstation 6
VMware Workstation(以下、Workstation)は、1台のコンピュータのホストOS上で複数のゲストOSを実行できる仮想化ソフトウェアである。Workstationを使えば、ホストマシン上のハードウェアとは無関係に、ハードディスク、CD-ROMドライブ、マルチプロセッサCPUなど多数の仮想ハードウェアを作成できる。ソフトウェア開発者なら、Workstationを使うことでプロジェクトの開発やデバッグのために複数マシンの仮想化が可能だ。仮想マシン(VM)は、ソフトウェアのテストやデモにも利用できる。
Workstation 6の初期ベータ版をレビューして以来、数多くの機能の追加または改良が行われている。VMwareでは、このソフトウェアをWindows Vista、Red Hat、openSUSE、Mandriva、Ubuntu、Solarisといった数々の新しい32ビットまたは64ビットオペレーティングシステムでテストしている。
しかし、これらは、正式にテストが行われたディストリビューションに過ぎない。私はゲストおよびホストOSのリストに挙げられていないディストリビューションをいくつか試してみたが、いずれも問題なくWorkstationが動作した。リストに載っていないディストリビューションで私が試したものには、Gentoo Linux 2007.0、Fedora Core 6、Fedora 7 Test 4が含まれる。今回は、その他にUbuntuの2つのバージョン(6.06、7.04)、openSUSE 10.2、Windows XP ProfessionalでもWorkstationの動作を試した。Workstation 6は、これらのディストリビューションやOSでインストール、実行とも問題なく行えた。
物理および仮想ハードウェアのサポート向上
Workstationのインストール手順に大きな変化はない。やはり、ファイルをコピーして実行中のカーネルのソースから取得したモジュールをコンパイルするPerlスクリプトによってインストールを行う。
今回、Workstationのホスト側ディストリビューションの実行マシンとして、メモリ2GBのデュアルコアIntelマシン、メモリ1GBでCPUがCeleron 1.5GHzのAcerノートPC、メモリ1.25GBでCeleron 1.4GHzのIBMノートPC、768MBのメモリと1.7GHzのPentium 4を搭載したデスクトップPCを用意した。ただし、Workstationを効果的に使いたければ、少なくとも1GBのメモリが必要になる。私のマシンの中では、メモリが1GB以上でCPUクロック周波数の低いCeleronノートPCのほうが、メモリが少なく処理能力の高いPentium 4デスクトップよりも、ずっとスムーズにWorkstationが動作した。
クリックで拡大 |
その他、ハードウェアに関係した機能向上として、Workstation 6のホームユーザがUSB 2.0デバイスからのデータ転送を行えるようになった点や、ノートPCのゲストOSがホストマシンのバッテリーステータスを認識する点が挙げられる。
便利な新機能
Workstation 6では、旧バージョンのWorkstationで作成したVMをアップグレードさせたり、逆にWorkstation 6で作成したVMを以前のバージョン用に変換したりすることができる。私の場合は、Mandriva上のWorkstation 6でGentooを実行するVMを変換して、Windows XP上のWorkstation 5で実行させ、そのVMを再変換して元の環境で実行させることに成功した。
今回のWorkstation 6では、ユーザインタフェースなしでVMを実行できる。Workstationのウィンドウを閉じると、VMを電源オフにするかバックグラウンドで実行を続けるかの選択肢が表示される。これは、Webサーバなど、後で接続したいサービスをVMが実行している場合に便利だ。
また、VNC(Virtual Network Computing)サーバをインストールしなくても、Workstation 6で作成したVMにVNC経由で接続することができる。そのためには、VNCオプションを有効にして、必要に応じてパスワードを入力するだけでよい。VMの構成を最小限に抑えてバックグラウンドで実行し、VNCクライアントを使ってリモート接続することも可能だ。
クリックで拡大 |
Workstation 6には、いくつかの実験的機能が備わっている。Linuxカーネル2.6.20に導入されたVMwareのVirtual Machine Interface (VMI)は準仮想化の恩恵をLinuxにもたらし、Ubuntu Feisty 7.04がこのカーネルを採用した最初のLinuxディストリビューションになっている。準仮想化のオプションがWorkstation 6で有効になったことにより、理論上はFeistyのパフォーマンスが向上するはずである。だが、実際に試してみたところ、見てわかるほどのパフォーマンスの向上は感じられなかった。
開発者向けとして、Workstationには実行中のマシンのスナップショットをとって後で確認する機能がある。スクリーンキャストとは異なり、こうしたスナップショットはネットワークトラフィック、ディスクの動作、マウスイベントなどVMの内部で起こるあらゆる現象を捉え、記録したスナップショットは後でリプレイすることできる。また、ホストの3D機能をVMに提供するためにMicrosoftのDirect3Dが実験的にサポートされている。しかし、Direct3Dが有効な私のWindows XPゲストでは、Linuxホストではスムーズに動作したGoogle Earthを実行できなかった。
私の環境で動作しなかったもう1つの開発者向け機能が、Eclipseプラグインである。Workstation 6にはEclipse IDEとVisual Studio用の各プラグインが含まれており、開発者はVMでコードの実行やデバッグが行えるようになっている。しかし、私の環境で「VMware attach to application(VMwareによるアプリケーションへのアタッチ)」または「VMware execute Java application(VMwareによるJavaアプリケーションの実行)」を右クリックして新たな設定を作成しようとすると、「プラグイン‘org.eclipse.jface’からのコード呼び出し時に問題が発生しました」というエラーが決まって出るのだ。私はEclipseの開発者ではないので、問題がVMwareのプラグインにあるのかEclipseに関する私の設定にあるのかは定かでない。
使い勝手の向上
クリックで拡大 |
また、ホストOSのフォルダをゲストOSと共有することもできる。こうしたフォルダは、Windowsゲストの\\.host\Shared Folders\で参照でき、ネットワークドライブとして追加することができる。Linuxゲストでは、/mnt/hfgsディレクトリにこの共有フォルダがマウントされる。
Workstation 6ではエラーダイアログが新しくなり、Workstationウィンドウの右下の隅にあるアイコンからアクセスできる。サウンドデバイスがブロックされているかDHCPサーバが利用できない場合は、エラーメッセージが表示されてエラーダイアログにそのログが記録されるが、VMのブート処理は続行される。
Workstationの以前のバージョンとは違い、今回のバージョンはフルスクリーンモードとウィンドウモードの切り換えがスムーズになっている。VMの画面は、フルスクリーンモードではホストの解像度に合わせて、またウィンドウモードでは可視領域に応じて、それぞれ適切なサイズに自動で変更される。また、マウスの動きも良くなっている。つまり、マウスを動かしてゲストOSやホストOSの画面を出入りする際に、カーソルが別の場所に飛んでしまうことがないのだ。
初めてWorkstationを使う人には、詳しく書かれた466ページものユーザマニュアルがありがたく思えるだろう。WorkstationのインストールやVMの作成といった基本的な項目だけでなく、上級者向けの設定オプションやパフォーマンスチューニングについても説明されている。
まとめ
クリックで拡大 |
Workstation 6.0は、仮想化ソフトウェアの今後を予見させる存在でもある。Direct3Dのような実験的機能が主流のバージョンに組み込まれれば、Cedegaのような特殊なアプリケーションにも対応できるようになるだろう。Windows OSの実行ホストで使えないままになっている機能がさらに減れば、Workstationはもっと便利なものになる。例えば、物理的なWindows OSでできているように、Workstationを使って物理的なLinuxマシンのVMへの変換を可能にしてほしいと私は思っている。
もちろん、USB高速モードのサポート、Eclipseプラグイン、スナップショットの記録/再生をはじめとする快適な機能がなくてもよいなら、VMware Server、Virtual Box、QEMU、Bochsといった数々のフリーおよびオープンソースの仮想化ソフトウェアが利用できる。だが当面は、その機能ゆえにVMware Workstationが今日手に入る最も優れた仮想化ソフトウェアだと言えよう。