[運用]

3大仮想化ソフトウェア機能比較
── Microsoft Hyper-V vs. VMware ESX vs. Xen ──

第2回 Citrix XenServerとMicrosoft Hyper-Vのアーキテクチャ概要

1.Citrix XenServerの概要

日本アイ・ビー・エム株式会社
Microsoft MVP for Virtualization - Virtual Machine(Jul 2007 - Jun 2009)
渡邉 源太
2009/05/20


仮想化関連記事
基礎解説
仮想化技術はじめの一歩
仮想化技術の性能を向上させる、ハードウェア仮想化支援機能とは?
Windows Server 2008の基礎知識
第14回 Windows OSに標準搭載された仮想化機能「Hyper-V」
運用
仮想化環境を効率よく管理するSCVMM 2008の概要
第1回 SCVMMによって複数のHyper-Vを一元管理する
第2回 SCVMMによる仮想システムの構築
第3回 SCVMMによる仮想サーバ作成と仮想システムの管理
Hyper-V実践サーバ統合術
第1回 仮想化環境導入の実際と構築ノウハウ
第2回 Hyper-Vゲスト環境管理法
第3回 Hyper-Vによる実践サーバ統合
第4回 Hyper-Vによるクイック・マイグレーションの実践
3大仮想化ソフトウェア機能比較
第1回 VMware ESXのアーキテクチャ概要
第2回 Citrix XenServerとMicrosoft Hyper-Vのアーキテクチャ概要
第3回 仮想化ソフトウェア選択の用途別ポイント

仮想化とは

 前回は、仮想化技術の概要と、比較的よく利用されている仮想化ソフトウェア「VMware Infrastructure 3」「Citrix XenServer」「Microsoft Hyper-V」のうち、VMware Infrastructure 3の主な機能と特徴を解説した。今回は残りのCitrix XenServerとMicrosoft Hyper-Vについて解説していく。

Citrix XenServerのアーキテクチャ概要

 Citrix XenServerのベースとなっているXenは、オープンソースのハイパーバイザ型仮想化ソフトウェアであり、英国ケンブリッジ大学の研究プロジェクトとして開発が進められてきたものだ。現在、Xenはオープンソースであるという特徴を生かし、RedHat Enterprise LinuxやSUSE Enterprise LinuxなどのLinuxディストリビューションの一部に組み込まれている。またCitrix XenServerだけでなく、Oracle VMやSun xVM Server、Virtual Ironなどのさまざまな仮想化ソフトウェア製品のベースとしても使用されている(「Competition:小中規模サーバ統合向け仮想化ソフトウェア」参照のこと)。

 Citrix XenServerとは、Citrix Systems(以下、Citrix)が提供しているXenベースの仮想化ソフトウェアであり、Xenにエンタープライズ環境に必要なさまざまな管理機能を付加したものである。Citrixは2007年8月にXenの開発を行っていたXenSourceの買収を発表し、現在XenSourceはCitrixの1部門としてCitrix XenServerの開発・サポートを行っている。2009年2月、CitrixはCitrix XenServerを無償化すると発表し、2009年3月31日よりダウンロードによる提供を開始した。またCitrix XenServerに高度な管理機能を付与する製品を、Citrix Essentials for XenServerとして有償で提供している。さらにCitrixは、Citrix Essentials for Hyper-Vを発表し、XenServerと同様にHyper-Vに対する管理機能を提供する予定である。Citrixによる発表の詳細は、以下のWebページを参照していただきたい。

 現在、CitrixはXenServerをはじめとして、XenAppやXenDesktopなどアプリケーション、デスクトップおよびサーバを含めたデータセンターの仮想化を実現する製品群を「Citrix Delivery Center」として定義しており、特にクライアント環境の仮想化を実現するインフラとして広く使用されている。

Citrix XenServerのアーキテクチャ

 Xenのアーキテクチャ上の最大の特徴は、準仮想化(Para Virtualization)の仕組みを取り入れたことにある。準仮想化では、完全仮想化のようにx86のハードウェアを仮想マシン上に完全に再現せず、ゲストOSにプロセッサの特権命令(ハイパーコール)を非特権命令に変換するための修正を加えることで、仮想化に必要なオーバーヘッドを最小化するものである。

 現在、準仮想化に対応した主要なOSとしては、Linuxが挙げられる。これは従来、Xenでは準仮想化に対応していないゲストOSが稼働させられなかったためだ。しかし、現在ではIntel VTやAMD-Vといったプロセッサの仮想化支援機能を利用した完全仮想化(Full Virtualization)の仕組みに対応したことによって、WindowsをはじめとするゲストOSを修正なしにそのまま稼働させることが可能になっている。よって、Xenではプロセッサの仮想化支援機能に対応していないハードウェア上では完全仮想化の機能を使用することはできない。

 Citrix XenServerは、Xenをベースとした仮想化ソフトウェアであるため、そのアーキテクチャの中心となるのは、オープンソースのXen Hypervisorである。VMware ESXでは、ハイパーバイザであるVMkernelがデバイスのアクセスを実行し、そのためのデバイス・ドライバはすべてVMkernel上に実装されている。しかし、Xen HypervisorはVMkernelとは異なり、ハイパーバイザ自体はデバイス・ドライバを持たず、デバイスへのアクセスは管理用のOSを経由して実行される。Xenでは、この管理用のOSを「ドメイン0」、またゲストOSが動作する部分を「ドメインU」と呼ぶ。

 Citrix XenServerの場合、ドメイン0はRedHat Enterprise LinuxクローンのCent OSをベースにしており、管理者はドメイン0のコンソールにローカルでログインすることにより、Linuxのコマンドラインを使用できる。また、GUIベースのXenCenterという管理コンソールをインストールすれば、WindowsベースのマシンでもXenServerを管理できる。これにより、管理者は通常コマンドラインではなく、XenCenterを使用しての管理作業も行える。

Citrix XenCenterの画面
管理コンソール・ツール「XenCenter」を利用すれば、WindowsベースのマシンでもXenServerを管理できる。

 VMware ESXと同様、XenServerはVLANを含む仮想ネットワーク・スイッチの機能や仮想マシンのテンプレート機能を持っている。XenServerのテンプレート機能は仮想マシンからテンプレートへの一方向であるため、テンプレートに修正を加えたい場合は一度テンプレートから仮想マシンをデプロイし、その後に再びテンプレート化を実行する必要がある。

 Citrix XenServerにおいて、ドメインUはゲストOSからは標準的なx86ハードウェアとして認識される。ディスクやネットワークなどのデバイスをエミュレーションすることで、OSに組み込まれている標準的なデバイス・ドライバを使用して、WindowsやLinuxなどのゲストOSがインストールできるようになっている。LinuxをゲストOSとして使用する場合、ゲストOSでは自動的に準仮想化に対応したカーネルおよびデバイスが使用され、最適なパフォーマンスでLinuxを稼働させられる。

 また、Windowsなどの準仮想化に対応していないゲストOSを稼働させる場合は、プロセッサの仮想化支援機能による完全仮想化によって動作させることが可能だ。この際、デバイス・ドライバは、準仮想化に対応した専用のものが利用できる。このデバイス・ドライバは、2つに分かれており、ゲストOS上で動作するデバイス・ドライバをフロントエンド・ドライバ、ドメイン0にて動作するドライバをバックエンド・ドライバと呼び、協調して動作することでデバイスへのアクセスのためのオーバーヘッドを最小限に抑えている。また、Citrix XenServerの特徴としてアプリケーション仮想化ソリューションの「Citrix XenApp」を実行するためにパフォーマンスを最適化するオプションが用意されており、これを設定することで、より少ないオーバーヘッドでXenAppを稼働できるようにしている。

 このように、Citrix XenServerではオープンソースのXenをベースとしながら、LinuxだけでなくWindows環境においてもパフォーマンスの最適化を行うことで、より物理環境に近いパフォーマンスでゲストOSを動かすことを目的に設計されていることが分かる。下図は、Citrix XenServerのアーキテクチャ概要を示したものである。

Citrix XenServerアーキテクチャ概要

Citrix XenServerの管理機能

 Citrix XenServerには無償化された基本部分以外に、有償で追加可能な「Citrix Essentials for XenServer」によって提供される管理機能がある。Essentials for XenServerにはEnterprise EditionおよびPlatinum Editionがあり、それぞれ使用できる機能が異なっている。

機能 XenServer Essentials for XenServer, Enterprise Edition Essentials for XenServer, Platinum Edition
サポート・プロセッサ・ソケット数
無制限
無制限
無制限
複数サーバ管理
XenMotion
リソースプール
パフォーマンス履歴
アラート機能
高可用性(HA)
StorageLinkによるストレージ管理
ワークフロー・オーケストレーション
ダイナミック・プロビジョニング(仮想環境)
ダイナミック・プロビジョニング(物理および仮想環境)
自動ラボ環境管理
XenServerのエディションによる機能の違い

 以下は、Citrix XenServerで利用できる管理機能である。Citrix XenServerでは、複数サーバの一元管理やXenMotionによるライブマイグレーションを無償で利用できるようになっている。

■複数サーバ管理/リソースプール
  複数のCitrix XenServerに対して、XenCenterを使用して管理できる。また、複数のサーバをリソースプールとして定義することによって、仮想マシンをリソースプールに登録し、新規に仮想マシンを起動するときに負荷の低いサーバで起動させるように設定可能だ。このとき、1台のXenServerがマスターとなり、管理者はXenCenterからマスター経由でリソースプールにアクセスし、管理を行う。マスターに障害が発生した場合は、ほかのメンバーが自動的にマスターを引継ぎ、XenCenterは新しいマスターに再接続される。リソースプールは、後述するXenMotionやXenServer HAの機能を使用する場合の前提となっている。

■XenMotion
  XenMotionによって、ゲストOSを稼働させたままほかのサーバに移動させるライブマイグレーションの機能を実現している。VMware VMotionと同様に、XenMotionを行うハードウェア間ではプロセッサ・ベンダ(Intel/AMD)およびアーキテクチャに互換性が必要である。また、XenMotionを使用するためには、SAN(ストレージ・エリア・ネットワーク)やiSCSIによって構成された共有ストレージに仮想マシンを格納しておく必要がある。

■XenConvert
  物理環境からCitrix XenServerの仮想環境に、ゲストOSの移行(P2V)が行える。移行元として物理環境のほかにMicrosoft Virtual Server 2005を、移行先としてはXenServerだけでなく、XenCenterでインポート可能なXVA(XenServer Virtual Appliance)形式、およびMicrosoftのVHD(Virtual Hard Disk)形式が選択できる。現在、XenConvertによるP2Vに対応しているOSとして、Windows Server 2003、Windows XPおよびWindows 2000がある。XenConvertは単体のツールとして無償でダウンロードが可能である。

 以下は、Essentials for XenServerにて使用できるようになる機能である。Essentials for XenServerは有償のため、これらの機能を使用する場合は別途ライセンスを購入する必要がある。

■XenServer HA
 共有ストレージを使用して、XenServerのホストに障害が発生した場合に仮想マシンをほかのXenServerホストで再起動させる機能である。これによって、ゲストOSに特別な変更を行う必要なく、高可用性が確保できる。XenServer HAを使用するためには、共有ストレージのほかに、ハートビート用のネットワークを構成しておく必要がある。

■StorageLinkによるストレージ管理
 複数のストレージをレポジトリとして一元管理し、XenCenterから仮想化されたストレージプールとしてアクセスすることを可能にする。これによって、管理者は複数のストレージにまたがって仮想マシンの再配置を行ったり、ストレージが持っているスナップショットやレプリケーションなどの機能を仮想環境から利用したりすることが可能になる。StorageLinkによるストレージ管理の機能は、Essentials for XenServerだけでなくEssentials for Hyper-Vにも搭載される予定である。

■ダイナミック・プロビジョニング(仮想環境/物理環境)
 CitrixがArdenceの買収により手に入れたCitrix Provisioning Serverの機能を使用して、仮想マシンのプロビジョニングを行う機能である。この機能は、仮想マシンのディスクをvDiskという仮想ディスクに格納し、配信用のサーバからネットワークを経由して仮想マシンを起動させることができる。これによって、1つのvDiskから複数のサーバを同時に起動させられるため、同じシステム構成の仮想マシンを利用する環境であればストレージ容量を大幅に削減できる。Essentials for XenServer Enterprise EditionではXenServerによって構築された仮想環境に対してのプロビジョニングを、Platinum Editionでは仮想環境だけでなく物理マシンに対してのプロビジョニングを行える。

 以下の機能については、現時点で提供されていないがEssentials for XenServer Platinum Editionにて追加される予定の機能である。

■ワークフロー・オーケストレーション
 Citrix Workflow Studioは、XenServerをはじめXenAppやXenDesktopなど含む製品の運用管理を自動化するものだ。Citrix Workflow StudioはWindows PowerShellおよびWindows Workflow Foundationの上で動作し、GUIによる操作でワークフローを作成できるため、スクリプトの作成なしにデータセンター運用を省力化することが可能になる。この機能によって、例えばサーバの電源管理や障害の復旧手順の自動化、繰り返し実行されるタスクの自動化が実現できる。

■自動ラボ管理
 Citrix Lab Managerは、開発環境の準備および管理作業の自動化を行うものだ。WebベースのLab Managerコンソールを使用して、アプリケーションのテスト環境やデモ環境などの用途に合わせた仮想環境のセットを登録し、必要に応じてそれを呼び出して再利用できる。利用した仮想環境は、不要になった時点でリソースを解放しプールに変換される。この機能によって、アプリケーション開発やテストなどにXenServerを使用する際の効率向上が期待できる。

 以上のように、Citrix XenServerではXenCenterによる複数サーバの管理やXenMotionによるライブマイグレーションを含む仮想環境の基本的な管理機能を無償で提供する一方、Essentials for XenServerによってXenServer HAによる高可用性やStorageLinkによるストレージ管理機能などを提供することで、エンタープライズ環境での利用も視野に入れて機能拡張されており、今後もワークフロー・オーケストレーションや自動ラボ管理などの高度な機能が追加される予定である。


 INDEX
  [運用] 3大仮想化ソフトウェア機能比較
  第2回 Citrix XenServerとMicrosoft Hyper-Vのアーキテクチャ概要
  1.Citrix XenServerの概要
    2.Microsoft Hyper-Vの概要

 運用


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間