XenServer 6をインストールしてみよう


 何度かCitrixのXenServerを紹介してきたが、機能の紹介などが中心で、実際にインストールしてのテストができなかった。今回は、HP社からインテルのXeon X5670を搭載したDL360G7サーバーをお借りしたので、実際にXenServerをテストしてみた。

 

XenServer 6.xの特徴は?

 まずは、XenServer 6.xの特徴を簡単におさらいしておこう。

 昨年CitrixがリリースしたXenServer 6.0は、オープンソースのXen 4.1がベースになっている。Xenが4.0にメジャーアップデートされたのは2010年だったが、Xen 4.0では大幅な変更が行われたため、CitrixはすぐにXenServerにXen 4.0を取り込まず、バグフィックスが行われ安定性が増したXen 4.1で、初めてXenServerに組み込んだ。

 Xen 4.0では、新しいスケジューラのCredit2が追加されている。Credit2は、遅延を起こしにくいアーキテクチャに変更されている。この変更により、CPUのコア数が増えても、効率のいいスケジューリングが行えるようになっている。

 また、Oracleが開発したTranscendent Memory(TMEM)というメモリ管理機能が搭載されている。TMEMは、Memory Page Sharingとは違い、余っているメモリをゲストOSがページキャッシュとして使用することで、システム全体でゲストOSのメモリ使用量を小さくしていこうというものだ。

 メモリ容量は、ホストでは最大1TBをサポート。さらに、仮想マシンあたり、最大16個の仮想CPUと128GBの仮想メモリをサポートしている。

 ストレージ関連では、XenDesktop向けにストレージへアクセスを最適化する機能のIntelliCacheが追加された。

 ネットワークストレージへのアクセスが頻繁になると、パフォーマンスは大きく低下する。そこでIntelliCacheでは、仮想デスクトップが使用する一時的な書き込みファイルを、ネットワークストレージではなく、サーバーのローカルにあるディスクに置き、性能を向上させようとしている。

 IntelliCacheが使用するディスクは、ローカルのHDDも使用できるが、Citrixでは高速なSSDを使用するを薦めている。SSDを利用することで、仮想デスクトップの性能を一気にアップできる。

 また、一時的な書き込みにローカルディスクを利用することで、高価なネットワークストレージ内部に仮想デスクトップが占めるディスク容量を最小限にすることが可能になる。これにより、高速で、大容量の高価なネットワークストレージを使わなくても、ほどほどのネットワークストレージでも高いパフォーマンスで仮想デスクトップを動かすことができる。

 このほか、XenServer 6.0上でのWorkload Balancing(動的負荷分散機能)は、Linuxベースの仮想アプライアンスとして提供されるようになった。仮想アプライアンスのイメージを仮想マシンにインストールするだけでいいため、OSのインストールやアプリケーションのインストールなどの動作環境を整える手間が一気に省ける。

 さらにXenServer 6.0では、MicrosoftのSystem Center Virtual Machine Manager(SCVMM) 2012から、ホスト仮想マシンの管理を可能にしている。さらに、System Center Operation Manager 2012から、XenServer 6.0や仮想マシンの管理も行える。これにより、Microsoftの環境とも親和性を持って、運用管理を行える。


XenServerは、無償版、Advanced、Enterprise、Platinumの4つのエディションが用意されている。Advanced、Enterprise、Platinum版は、有償だが、無償版は無料で利用できる。ただし、無償版では、OpenFlow、動的メモリ管理、HA機能などが提供されていない。ある意味、ハイパーバイザーとしての最低限の機能が提供されているといえる

 

Open Flowベースの仮想ネットワークスイッチOpen vSwitchをデフォルトに

 もう1つ、XenServer 6.0で注目する機能としては、Open Flowベースの仮想ネットワークスイッチのOpen vSwitchがある。

 Open vSwitchは、XenServer 5.6FP1から搭載されていたが、オプションサポートのような形だった(XenServer 5.6FP1のデフォルトは、旧来の仮想ネットワークスイッチ)。

 XenServer 6.0では、デフォルトでOpen vSwitchが採用されている。これは、オープンソースのXenが4.1にマイナーアップデートされて、Open vSwitchのバグフィックスや性能向上が行われ、安定性や性能面でも、実環境で利用できるように成熟してきたからだろう。

 Open vSwitchを利用することで、Jumbo Frameや、Cross-Server Private Networkといった機能が使用可能となる。これにより、クラウドのマルチテナント環境などおいて、仮想的なL2 スイッチ機能を容易に提供することができる。

 XenServer 6.0では、仮想アプライアンスとして提供されている仮想スイッチコントローラが用意されている。この仮想アプライアンスを利用すれば、ACL、QoS、RSPANなどのOpen Flowの細かな設定が利用できる(ただし、仮想スイッチコントローラの機能を使用する場合はAdvanced Editionのライセンスが必要)。

 Open vSwitchでは、ACL(Access Control List)をサポートすることで、リソースプール、XenServerホスト、ネットワーク、仮想マシン、仮想NIC単位で、アクセスコントロールが行える。さらに、帯域幅の制限や、バーストサイズの制限を行うQoSがサポートされている。特定のVLANに対して、パケットキャプチャリングを目的に、ネットワークトラフィックのミラーリングを行うことも可能。

 注目されているOpen vSwitchだが、すでにリリースされているOpen Flow対応の物理スイッチと連携できるわけではなさそうだ。Citrixでは、XenServer上だけでの動作テストが行われているため、各社のスイッチやコントローラとの互換性などは確かめられていない。このあたりは、将来的にOpen Flowが本格的に普及してくれば、相互互換性テストなども行われることになるだろう。

 Citrixが提供している仮想スイッチコントローラに関しては、Open vSwitchを利用する上で必要最低限の機能だけがそろっている。ユーザーインターフェイスに関しても、使いやすいとはいえない。

 なおCitrixには、仮想スイッチコントローラだけを商品化する考えはないようで、APIなどを公開して、サードパーティに高機能で使いやすい仮想スイッチコントローラを開発してほしいと考えているようだ。

 

XenServer 6.0をインストールしてみる

 今回は、日本HPからx86サーバーの「ProLiant DL360 G7」をお借りした。CPUとしては、Westmere世代のXeon X5670(2.93GHz)×2ソケットを搭載している。SandyBridge世代の最新CPU、Xeon E5シリーズと比べると性能は落ちるが、テストを行うには十分な性能を持っている。

 またXenServerについては、CitrixのWebサイトで提供されている試用版(Platinum版)を使用した。XenServerの試用版は、45日間、有償ライセンスの機能が利用できる。2012年4月5日現在、提供されているバージョンとしては、XenServer 6.02となっている。


お借りしたProLiant DL360 G7

CitrixのHPから、XenServerのISOイメージをダウンロードして、CD-Rに焼き付けておく。XenServerのインストールCDをHP DL360G7に入れ、XenServerをインストールする。インストール自体は、トラブルもなくインストールができたG7の再起動後、コンソールでIPアドレスの設定、サーバー名、ドメイン設定などを行う。今回は、ホームネットワークでの運用なので、DHCPからIPアドレスを取得して利用した。通常、仮想化するサーバーは、DHCPではなく、静的IPアドレスで運用すべきだろう。必要ならLinuxコンソールから、各種設定を変更しておくXenServerに接続するための専用クライアントソフトのXenCenterをサーバーとは別のクライアントPCにインストールする。クライアントPCのブラウザのURLに、XenServerをインストールしたサーバーのIPアドレスを入力してアクセスする
XenCenter Installerを選択して、XenCenterをインストールするXenCenterを起動する。XenCenter自体は、ユーザーインターフェイス部分で、実際の管理機能はXenServer上に存在するXenCenterにXenServerを登録する。XenServerのIPアドレス、ユーザー名、パスワードを入力して、XenCenterで管理できるようにする
XenCenterを起動したときに、XenServerに対応する接続を自動で行うかの設定XenServerに接続すると、XenServerの状態が表示される。XenCenterから、XenServerのリブート、シャットダウンなどもコントロールできる接続されているドライブなどを表示。今回のサーバーには、DVD、ローカルHDD、リムーバブルストレージなどが接続されている
ネットワークストレージとして、iSCSIドライブを設定する。Storageタブから、接続するドライブタイプを選択。今回は、Software iSCSIを選択iSCSIドライブのIPアドレスアドレスを入力iSCSIドライブのIPアドレスが正しければ、Target IQN、Target LUNに項目が表示される
XenServerにiSCSIドライブが追加された。複数のXenServerをインストールしたサーバー間で、仮想マシンを移動するにはネットワークドライブが必要になる

 

ライセンス認証サーバーを設置


XenServerに仮想アプライアンス化したライセンス認証サーバーをインポートする。Premiumエディションを利用するには、試用版でもライセンス認証が必要になる。あらかじめ、ダウンロードしておいた仮想アプライアンスをインポート仮想アプライアンスを設置するサーバーを指定。ライセンス認証サーバーは、システム全体で1台あればいい使用するストレージを指定。今回は、iSCSIドライブを指定
仮想アプライアンスで使用するNICを指定これで、ライセンス認証サーバーがXenServer上に設置できた。左側に新しくXenServer 6.02 Evaluation Licenseという仮想サーバーができている。まだ、起動していないため、ステータスは赤になっているXenServer 6.02 Evaluation Licenseという仮想アプライアンスを起動する
仮想コンソールで、ドメイン名、IPアドレスなどを設定するライセンス認証サーバーにブラウザでアクセスしてみる。現在の状況が表示される。ライセンスの登録を行う。License Managerでライセンス登録するXenServerを指定して、Assign Licenseボタンを押す
使用するXenServerのエディションを選択する。今回は、Platinumエディションを使用する

 

Open vSwitchのスイッチコントローラを設置


Open vSwitchのスイッチコントローラは、仮想アプライアンスとして提供されている。そこで、ライセンス認証サーバーと同じように仮想アプライアンスをインポートするOpen vSwitchのスイッチコントローラをインポートした後、起動すると、各種の設定が行われるOpen vSwitchのスイッチコントローラの操作は、ブラウザから行う。証明書に問題があると表示されるが、閲覧を続行する
スイッチコントローラにアクセスするためのIDとパスワードを入力。IDとパスワードは、XenServerのドキュメントに記述されているスイッチコントローラの管理画面。ここでフローのコントロールなどを記述する配布されているスイッチコントローラの仮想アプライアンスのバージョンが古かったので、アップデートを行う。スイッチコントローラの管理画面から、簡単に行える。事前に、アップデートをXenCenterを動かしているクライアントPCにダウンロードしておく
ダウンロードしてあるアップデートを適応するAdd Resource Poolで、XenServerを登録するこれで、XenServer上でOpen vSwitchが利用できるようになった
ダッシュボードでは、ネットワークのトラフィックの状況などがグラフで確認できるFlow Statisticsでは、ネットワークのフローの状態が確認できる

 XenServerをインストールを紹介した。今回はお借りしたサーバーが1台だったので、仮想マシンの移動やCloud Stackの構築までは行えなかった。しかし、最近注目されているOpen Flowが仮想環境でテストできるのは、XenServerのメリットといえるだろう。

 複数サーバーを使ったXenServer環境の構築、Cloud Stackの構築は、近々に紹介する予定だ。

関連情報