企業の仮想化を加速するCitrix XenServer
オープンソースXenとCitrix XenServer
本連載では全5回にわたって、仮想化の様々なシーンで活躍するXenシリーズについて解説していきます。第1回では、Citrix XenServerの基本的な仕組みについて、最新バージョン5.5の紹介と合わせて解説していきます。
Citrix XenServerは、Xenとよばれるオープンソースの仮想ソフトウエアをベースにしています。Xenの開発は、2002年からケンブリッジ大学の研究プロジェクトXenoServer Projectとしてはじまりました。そのプロジェクトメンバーによって2005年に設立されたのがXenSource社です。2006年にはXenEnterprise1.0が出荷開始されました。
2007年には、Citrix Systems(以降Citrix)がXenSource社を買収し、Citrix XenServer(以降XenServer)と名前を変更しています。
また、2009年にはXenServerを無償化し、エンタープライズ向けの機能の無償提供をはじめました。最新のバージョンは2009年6月にリリースしたXenServer 5.5です。また、オープンソースXenプロジェクトも引き続き、Citrixによりけん引されています。
さらに、このオープンソースXenは、さまざまなベンダーに採用されていて、仮想化製品としては、Oracle、Virtual Iron(Oracle社に買収)、Sun、Citrixに、またOSの仮想化機能としては、SUSE Linux Enterprise Server、 Red Hat Enterprise Linux、その他に採用されています。
XenServerは、仮想化によるオーバーヘッドを軽減するために、準仮想化とよばれるアーキテクチャ(パラバーチャライゼーション)を採用しています。XenServerでは起動時に管理用の仮想マシンが必ず起動され、この管理用の仮想マシンが、物理デバイスへのI/Oを制御します。
XenServerでは仮想マシンのことをDomain(ドメイン)とよびます。管理用の仮想マシンのことを、Domain 0またはホストOSとよびます。またこのホストOSは、Linux(Cent OS)ベースで構成されています。通常のユーザーが作成する仮想マシンのことをDomain UまたはゲストOSとよびます。
図1-1のように、準仮想化ではゲストからのネットワークI/O、ファイルI/Oに関しては、ホストOS経由で実際の物理デバイスにアクセスします。また、CPUやメモリへのアクセスはゲストOSから仮想レイヤー経由でアクセスします。そのため、XenServerはインストールするためのハードウエア制限はあまりありません。ホストOSが対応している物理デバイスであれば、XenServerをインストールできます。
ゲストOSがWindows OSの場合、Intel VTやAMD-VというCPUの仮想化支援機能を使用することで、なるべく仮想化によるオーバーヘッドを小さくするように工夫をしています。Windows OSを起動する場合は、Intel VTやAMD-Vに対応したハードウエアである必要がありますが、最近リリースしている製品はほとんど仮想化支援機能に対応しているので、あまり心配する必要はありません。
Linux OSの場合、一般的に準仮想化対応は各ディストリビューションで、すでに済まされています。
XenServerのインストールと運用管理
XenServerのインストールは10分程度で完了します。非常に簡単なため、ホストOSのバックアップは一般的に必要ありません。万が一、ハードウエア障害などがあった場合でも、あらかじめ設定情報(メタデータ)をバックアップしておきゲストOSを共有ストレージに配置しておけば、基本的にはXenServerを再インストールし設定情報を復元することで、簡単に復旧できます。
一般的にXenServerの管理はGUIベースの管理ツール「XenCenter」より行います(図1-2参照)。非常に直感的で分かりやすいユーザーインターフェースで、また日本語化もされています。
最新バージョンのXenCenter 5.5日本語版も2009年7月23日にリリースされ、フォルダを作成してユーザーがViewをカスタマイズできたり、検索機能が充実されていたり、GUIからスナップショットがとれるようになっています。
さらに、Microsoftのアクティブディレクトリとの連携も可能で、アクティブディレクトリユーザーをXenCenterの管理者として追加することが可能です。
また、管理用に追加のサーバーなどを用意する必要はなく、無償で複数のXenServerを管理することができます。リソースプールを構成し、ネットワーク構成、ISOライブラリや仮想ディスク等のリソースを共有することも可能です。仮想ディスクを共有ストレージに配置している場合は、それらを停止させることなく移動できるライブマイグレーション「XenMotion」も無償で使用できます。
XenCenterはXenAPI経由でXenServerとのコミュニケーションをとります。XenAPIは、XML-RPCを採用していますので、どういった言語からも、非常に簡単にXenAPI使用してXenServerとコミュニケーションをとることが可能です。また、WindowsゲストOS等GUIデスクトップへの接続を行う際にはVNCを使用しています。
複雑な管理を行う場合は、xeコマンドでコンソールより行います。XenCenterより、ホストOSのコンソールにも接続できます。