「1台のマシン上で複数のOS(オペレーティング・システム)を動作させ,それぞれのOS上で異なるサーバー(仮想サーバー)を動作させたい」---。従来,このような環境を実現するためには,大型汎用機(メインフレーム)や大型のUNIXサーバー機を用いるか,あるいはPCを使う場合は,高価な有償ソフトウエアが備える仮想化技術を利用するほかなかった。

 ここでいう仮想化技術とは,1台のマシンの上で複数OS(ゲストOS)を同時稼働させるための技術。個々のゲストOSは独立して動作するため,あたかも複数のマシンが稼働しているように扱えるわけだ。高価なマシンを有効利用できるだけでなく,電気代を節約できるし,サーバーの設置場所も狭められる,というメリットがある。

 最近,この仮想化技術を実現するソフトウエア「Xen」が注目を集めている。筆者も注目しているソフトウエアだ。

 Xenは,英ケンブリッジ大学コンピュータ・ラボラトリで開発されているオープンソース・ソフトウエアである。ライセンスはGNU GPL(General Public License)であり,無償利用可能だ。

 現在,Xen上で稼働できるゲストOSはLinux(カーネル2.4とカーネル2.6)とNetBSD,FreeBSD,Plan 9。このXenを搭載したLinuxディストリビューション(Linuxにはいろいろ種類があり,個々をディストリビューションと呼ぶ)も続々と登場してきている。Fedora プロジェクトが開発する「Fedora Core 4」や米ノベルの「SUSE LINUX Professional 9.3」,OpenSUSEプロジェクトが2005年10月に公開する「SUSE Linux 10.0」である。

Xenの導入は簡単

 「仮想化技術を実現するサーバー向けオープンソース・ソフトウエア」と聞くと,何やら導入が難しそう,と感じるかもしれない。でも,これがまた驚くほど簡単なのだ。

 筆者は,Xenをソース・コードから導入してみた。ゲストOSには,有償のLinuxディストリビューション「Red Hat Enterprise Server」をほぼそのままコピーした,いわゆる“Red Hatクローン”と呼ばれる「CentOS」を使った。1台のマシンにXenを導入し,複数動作させたCentOSをそれぞれWebサーバーとファイル共有サーバーとして別々に利用できるようにした。

 Xenをソースから導入するといっても,実際は簡単だった。Xenのインストール手順は,CentOSの場合には「make dist」というコマンドだけで必要なバイナリ・ファイルが自動的に作成される。あとは「make install」で導入し,ドキュメントに書かれた設定を行うだけだ。ドキュメントは英語だが分かりやすく書かれている。

 より詳細な導入手順については,2005年9月8日発売の日経Linux 2005年10月号特集1「CentOS & Xenでサーバーを統合する」でまとめているので,興味のある方は参照していただきたい。また,日経Linux 2005年8月号でも,Xenに関する特集記事「Fedora Core 4でXenを使いこなす」を掲載している。この記事では,Xenを用いてWebサーバーとデータベース・サーバーを動作させ,ブログ(Weblog)システムを構築している。併せてご覧いただければ幸いである。

 実際にXen上でゲストOSを動作させてみると分かるが,一般的なLinux OSを動かしているのとほとんど差がない。例えば,ゲストOS上で動作するサーバーを,SSH(Secure SHell)を用いて遠隔から操作できる。ゲストOSからはイーサネットのネットワークとディスク以外の外部デバイスにはアクセスできないが,サーバーでの利用ならあまり問題にならない。逆に設定していないデバイスにはアクセスできないため,セキュリティ上安心だ。

 筆者はXenをインストールしたものの,実環境では数日間しか稼働させていない。しかしその間は,停止するなどの問題は発生しなかった。今後もしばらくの間は使い続けて,Xenの性能を評価したいと考えている。

 なお,今回の仮想サーバー環境を構築するのにかかった費用は6万円弱。1Gバイトのメモリーを搭載したPCのハードウエア代だけである。

Windows XPも動作する

 実はXenは,ゲストOSをLinuxやNetBSDなどに限っていない。

 Xenの技術を利用した有償製品を開発する米XenSourceが,2005年8月23日から米サンフランシスコで開催された,米Intel社主催の開発者向けフォーラム「Intel Developer Forum」において,次期版「Xen 3.0」を用いたデモを実施した。そのデモでは,開発中のIntel Virtualization Technology対応プロセッサ上で,LinuxとWindows XP SP2の両方を動作させた。

 現在の安定版「Xen 2.0.7」上ではゲストOSのカーネル(OSの中核の部分)にXen用の修正を必要とする。しかし,Intel Virtualization Technology対応プロセッサとXen 3.0を組み合わせると,修正が不要となり,Windows XP SP2なども動作する。

 Xen 3.0の登場には,Linuxユーザーだけでなく,Windowsユーザーもぜひ注目したい。