「Citrix XenServer」(以下、XenServer)は、オープンソースのハイパーバイザーであるXenをベースにした商用パッケージ製品である。無償で利用できるライセンスも用意されているため、スモールスタートで利用しやすい。今回はXenServerと運用管理ツール「XenCenter」を紹介する。
XenServerは、米シトリックス・システムズが販売している商用パッケージ製品である。XenServerはもともとXenの開発の中心を担ってきたXenSource社が販売していたが、2007年に米シトリックス・システムズがXenSouce社を買収したことで米シトリックス・システムズの製品となった。2009年3月にはXenServerを無償化し、大きな話題となった。2010年5月にはXenServer 5.6がリリースされた。
XenServerのベースとなっているXenは、GPLでライセンスされたオープンソースソフトウェアとして開発されている。特にLinuxとの親和性の高さで人気がある。例えばAmazon EC2のようなクラウドサービスでもXenは使用されており、インストールされている台数でいえば「VMware ESX」や「Hyper-V」にも引けは取らない。
Xenはハイパーバイザー型だが、Hyper-Vと同様に、仮想ホストの管理やデバイスドライバによるI/O処理を引き受ける特別な仮想マシンが必要となる。この特別な仮想マシンを「Domain 0」、そのほかの仮想マシンを「Domain U」(準仮想化)、「HVM Domain」(完全仮想化)と呼ぶ。

Xenの場合、Domain 0ではLinuxが動作し、仮想マシンのデバイスドライバへのアクセスは基本的にDomain 0を経由する。
Linuxのようにカーネルのソースコードが公開されているOSを仮想マシンで動かす場合は、カーネルにパッチを当てることでそのOSを仮想化に最適化する「準仮想化」(Paravirtualization)の手法を利用できる。しかし、Windowsのようにパッチを当てられないOSの場合は、「完全仮想化」と呼ぶ手法を利用する。
完全仮想化はさまざまなOSをそのまま実行できるが、ストレージやネットワークなど負荷が掛かる部分を高速処理することが難しくなる。そこで、ストレージやネットワークなどをXen環境用デバイスドライバで部分的に高速化する「完全仮想化+準仮想化ドライバ」で対応する。準仮想化ドライバ方式は、例えばVMware ESXでのpvscsiなど、ほかのハイパーバイザーでも採用されている仕組みである。XenServerでは、Windows用の準仮想化ドライバが提供されている。
XenServerは無償版が提供されているが、より高度な機能を利用したい場合には有償の製品を購入する必要がある。有償版にはAdvanced Edition、Enterprise Edition、Platinum Editionという3つのエディションがあり、それぞれの違いは以下のようになっている(参考:「XenServerとEssentials for XenServerのエディション」)。
XenServerのユニークな点は、「VMware vSphere 4」では上位の機能として位置付けられているライブマイグレーションが無償で利用でき、高可用性を実現するフェイルオーバーが有償となっている点だろう。また、XenServer 5.6からAdvanced Editionが追加され、中規模程度のシステムで利用したい機能のみが選択できるようになった点が挙げられる。
特徴的な幾つかの機能について、以下に挙げておく。
仮想マシンに割り当てるメモリの最大値と最小値を設定して、動的に割当量を変更できる機能。
ポリシーに基づいて、仮想マシンを集約したり分散したり、使用していないホストの電源を落とすなどの動作を行う機能。
リソースプールや仮想マシンを単位として管理権限を委譲できる機能。
OSやアプリケーションをストリーミング配信できる機能。
XenServer 5.6から、動的メモリ制御、自動化されたワークロードバランシング/電源管理、ライブメモリスナップショット、StrageLink(サイト復旧)などいろいろな機能が追加された格好だが、その背後にはVMware vSphere 4の影響がうかがえる。両者の間で各機能を対比しつつ、必要な機能をうまく活用する必要があるだろう。
XenCenterは、XenServerの運用管理ツールだ。「VMware vCenter Server」と異なり、専用の管理サーバを必要としないアーキテクチャとなっている。
管理コンソールはWindows用のアプリケーションで、1つのウィンドウから複数のサーバを管理できる。
VMware vSphere 4や「Microsoft System Center」に比べて、管理用のサーバが不要な分だけ、XenCenterの方がシステムの構成がしやすい。
性能監視も他社製品と同様、グラフ表示などで行える。
仮想マシンのコンソール画面は、VNC(Virtual Network Computing)の機能を使って表示される。仮想マシン側の画面サイズが大きい場合、XenCenterのウィンドウサイズに合わせて縮小表示できるのは便利である。
従来バージョンに比べ、XenServer 5.6ではXenCenterのコンソールは格段に使いやすくなったと感じた。以前のバージョンしか試していないのであれば、ぜひ試してみてほしい。
XenServerは、無償版でもXenCenterの管理コンソールから複数サーバを管理できるなど、小規模だがサーバ1台のスタンドアロンではない仮想化環境を構築したい場合、低コストで環境構築ができる。高可用性機能は有償となっているが、その点さえ我慢すればライブマイグレーション機能が無償で利用できるのも魅力だ。
LinuxにもWindowsにも両方に強みを持っているという点で、VMwareよりも低コストな仮想化ソリューションを探しているユーザーにとって検討してもよい製品だろう。