製品の技術概要

XenServerは、デスクトップ、サーバー、およびクラウドの仮想化インフラストラクチャをコスト効率よく実現するためのオープンソースプラットフォームとして、業界で高い評価を得ています。XenServerを使用すると、組織の規模や種類を問わず、コンピューティングリソースを集約して仮想ワークロードに変換することで今日のデータセンターの要件に対応しつつ、シームレスな方法でワークロードをクラウドに移行することができます。

XenServerの主な機能は次のとおりです:

  • 物理サーバー上に複数の仮想マシン(VM)を集約できます。
  • 管理すべきディスクイメージの数を削減できます。
  • 既存のネットワークおよびストレージインフラストラクチャを容易に統合できます。
  • XenMotionを使用して、実行中の仮想マシンをXenServerホスト間で移行(ライブマイグレーション)して、ダウンタイムのない保守作業を行えます。
  • 高可用性機能を使用して、障害発生時に、そのサーバー上の仮想マシンをほかのサーバー上で再起動するためのポリシーを設定できます。
  • 幅広い仮想インフラストラクチャに対応する、汎用性の高い仮想マシンイメージを作成できます。

仮想化とハイパーバイザー

仮想化、つまりハードウェア仮想化は、単一の物理コンピュータ上で複数の仮想マシンを個別に実行する方法です。これらの仮想マシン上で実行されるソフトウェアは、基になるハードウェアリソースから分離されます。これによって最新の強力なサーバーで利用可能な物理リソースが最大限に活用されるため、サーバーの展開に必要な総所有コスト(TCO)を削減することができます。

ハイパーバイザーはソフトウェアの基本的な抽象化レイヤーで、CPUスケジューリングなどの下位レベルタスクや仮想マシンのメモリ分離などを行います。ハイパーバイザーは、ハードウェアの抽象化レイヤーを仮想マシンに提供し、ネットワーク、外部ストレージデバイス、ビデオなどの処理は行いません。

主要コンポーネント

ここでは、XenServerのしくみの概要を説明します。XenServerの以下の主要コンポーネントについては、次の図を参照してください:

アーキテクチャとコンポーネント

ハードウェア

ハードウェアレイヤーには、CPU、メモリ、ネットワーク、およびディスクドライブなどの物理サーバーコンポーネントが含まれます。

サポートされているすべてのゲストOSを実行するには、Intel VTまたはAMD-Vをサポートする、64ビットx86ベースのCPUが1つまたは複数必要です。XenServerホストのシステム要件については、「システム要件」を参照してください。 XenServerの認定済みのハードウェアおよびシステムの完全な一覧については、ハードウェア互換性リスト(HCL)を参照してください。

Xenハイパーバイザー

Xen Projectハイパーバイザーは、オープンソースのタイプ1またはベアメタルハイパーバイザーです。Xenハイパーバイザーを使用すると、単一のオペレーティングシステムまたは異なるオペレーティングシステムの複数のインスタンスを、単一のコンピュータ(ホスト)上で並行して実行できます。Xenハイパーバイザーは、サーバー仮想化、IaaS(Infrastructure as a Service)、デスクトップ仮想化、セキュリティアプリケーション、埋め込み、およびハードウェアアプライアンスなど、さまざまな商用アプリケーションとオープンソースアプリケーションの基礎として使用されています。

XenServerはXen Projectハイパーバイザーをベースに、Citrixが提供する機能やサポートが追加されています。XenServer 7.6では、Xenハイパーバイザーのバージョン4.7が使用されます。

コントロールドメイン

コントロールドメインは「Domain0」または「dom0」とも呼ばれ、XenServerの管理ツールスタック(「XAPI」とも呼ばれます)を実行するセキュアな特権Linux仮想マシンです。このLinux仮想マシンは、CentOS 7.2ディストリビューションに基づいています。コントロールドメインは、XenServer管理機能を提供するほか、ネットワークやストレージなどのための物理デバイスドライバーも実行します。コントロールドメインは、ハイパーバイザーと通信して、ゲスト仮想マシンを起動または停止するよう指示できます。

ツールスタック

ツールスタック(「XAPI」とも呼ばれます)は、仮想マシンのライフサイクル操作、ホストおよび仮想マシンのネットワーク、仮想マシンストレージ、およびユーザー認証を制御するソフトウェアスタックです。また、XenServerリソースプールを管理することもできます。 XAPIにより提供される管理APIについてはドキュメントが公開されており、このAPIは仮想マシンやリソースプールを管理するためのすべてのツールで使用されます。詳しくは、https://developer-docs.citrix.comを参照してください。

ゲストドメイン(VM)

ゲストドメインは、dom0のリソースを要求する、ユーザーが作成した仮想マシンです。XenServerのゲストドメインでは、完全な仮想化(HVM)、準仮想化(PV)、およびハードウェア仮想マシン上の準仮想化(PV on HVM)がサポートされています。サポートされているディストリビューションの詳細な一覧については、「 サポートされるゲストオペレーティングシステム、仮想メモリ、および仮想ディスクのサイズ制限」を参照してください。

完全な仮想化

完全な仮想化(「ハードウェア支援による仮想化」とも呼ばれます)では、ホストCPUの仮想化拡張機能を使用してゲストを仮想化します。完全に仮想化されたゲストでは、カーネルのサポートが不要になります。このようなゲストはハードウェア仮想マシン(HVM)と呼ばれます。HVMでは、メモリおよび権限のある操作のためにIntel VTまたはAMD-Vのハードウェア拡張機能が必要です。XenServerはQuick Emulator(QEMU)を使用して、BIOS、IDEディスクコントローラ、VGAグラフィックアダプター、USBコントローラ、ネットワークアダプターなどのPCハードウェアをエミュレートします。ディスクやネットワークへのアクセスなど、ハードウェアが重要となる操作のパフォーマンスを向上させるために、HVMゲストにはXenServerツールがインストールされています。詳しくは、「ハードウェア仮想マシン上の準仮想化」を参照してください。

通常、HVMは、カーネルを変更して仮想化が認識されるようにすることが不可能な、Microsoft Windowsなどのオペレーティングシステムを仮想化する場合に使用します。

準仮想化 (PV)

準仮想化は、Xen Projectが初めて発表した効率的かつ軽量な仮想化技術です。この技術は他の仮想化プラットフォームでも採用されています。PVでは、ホストCPUの仮想化拡張機能は不要ですが、PVゲストにはPVに対応したカーネルとPVドライバーが必要なため、ゲストはハイパーバイザーを認識して、エミュレートされた仮想ハードウェアを使わずに効率的に実行できます。PVに対応したカーネルは、Linux、NetBSD、FreeBSD、およびOpen Solarisに存在します。PVモードのサポート対象ディストリビューションの一覧については、「PV Linuxディストリビューション」を参照してください。

PVゲストの場合、XenハイパーバイザーはI/O操作の要求をコントロールドメインに転送します。ゲストはハイパーバイザーを認識し、ハイパーバイザーに特権命令を送信します。

ハードウェア仮想マシン上の準仮想化(PV on HVM)

ハードウェア仮想マシン上の準仮想化(PV on HVM)には、準仮想化と完全なハードウェア仮想化が混在しており、特別に最適化された準仮想化ドライバーを使用して、HVMゲストのパフォーマンスを向上させることを主な目的とします。このモードでは、最新プロセッサのx86仮想コンテナ技術により良好なパフォーマンスが得られます。ただし、これらのゲストでのネットワークアクセスおよびストレージアクセスは、カーネルに組み込まれたドライバーによりPVモードで行われます。

XenServerのPV on HVMモードでは、Windowsディストリビューションおよび一部のLinuxディストリビューションを使用できます。PV on HVMを使用するサポート対象Linuxディストリビューションの一覧については、「HVM Linuxディストリビューション」を参照してください。

XenServer Tools

XenServer Tools(ゲストツールともいいます)には従来型デバイスエミュレーションのようなオーバーヘッドがなく、高パフォーマンスのI/Oサービスが提供されます。XenServer Toolsは、I/Oドライバー(準仮想化ドライバーまたはPVドライバーともいいます)と管理エージェントで構成されています。

I/Oドライバーにはフロントエンドストレージ、ネットワークドライバー、および低レベル管理インターフェイスが含まれています。準仮想化ドライバーは、エミュレートされたドライバーに置き換わり、仮想マシンとXenServerソフトウェア間の高速トランスポートを提供します。

管理エージェント(ゲストエージェントともいいます)は、高レベルの仮想マシン管理機能を備えており、休止スナップショットを含むすべての機能をXenCenter(Windows仮想マシンの場合)に提供します。

注:

  • 完全にサポートされた仮想マシンを作成するには、各Windows仮想マシンにXenServer Toolsをインストールする必要があります。仮想マシンは、XenServer Toolsがなくても機能しますが、I/Oドライバー(PVドライバー)がインストールされていないと、パフォーマンスが大幅に低下します。
  • Windows仮想マシンの場合、XenServer ToolsはWindowsゲストツールと呼ばれ、Windows PVドライバーと管理エージェントが含まれています。
  • Linux仮想マシンの場合、PVドライバーはXenカーネルに含まれています。

詳しくは、XenServer Toolsを参照してください。

主な概念

リソースプール

XenServerリソースプールを使用すると、複数のサーバーとそれらの共有ストレージを単一のエンティティとして管理できます。リソースプールを使用すると、仮想マシンを別のXenServerホストに移動して実行できるほか、すべてのサーバーがネットワークとストレージの共通フレームワークを共有できるようになります。1つのプールには、互換性のあるハードウェアを持ち、同じバージョンのXenServerソフトウェア(適用されたパッチも含む)を実行するサーバーを最大で64台まで追加できます。詳しくは、「ホストとリソースプール」を参照してください。

リソースプールの概要

XenServerリソースプールには、XAPIによって実装されるマスタ/スレーブアーキテクチャが採用されています。プールマスタからプールメンバーにXAPIコールが転送され、プールメンバーはプールマスタに対してDBリモートプロシージャコール(RPC)を行います。プールマスタは、プール内のリソースの統合とロックを行い、すべての制御操作を処理します。メンバーホストは、HTTPとXMLRPCを通じてプールマスタと通信しますが、(同じチャネルを介して)相互に通信し、次のことを実行できます:

  • VMメモリイメージの転送(VMの移行)
  • ディスクのミラーリング(ストレージの移行)

ストレージリポジトリ

XenServerストレージ対象は、ストレージリポジトリ(SR)と呼ばれます。ストレージリポジトリには、仮想ディスクの内容を含む仮想ディスクイメージ(VDI)が格納されます。 ローカル接続のIDE、SATA、SCSI、およびSASドライブ、そしてリモート接続のiSCSI、NFS、SAS、およびファイバチャネルに対するサポートが組み込まれているため、目的に応じたさまざまなストレージリポジトリをホストで使用できます。ストレージリポジトリとVDIの抽象化によって、シンプロビジョニング、VDIスナップショット、高速複製などの高度なストレージ機能を、サポートされているストレージターゲット上で提供できるようになります。

ストレージリポジトリの概要

各XenServerホストでは、複数の異なる種類のストレージリポジトリを同時に使用することができます。これらのストレージリポジトリは、ホスト間で共有したり、特定のホスト専用にしたりできます。共有ストレージは、定義済みのリソースプール内の複数のホスト間でプール(共有)されます。共有されたストレージリポジトリは、各ホストとネットワークで接続されている必要があります。リソースプールでは、すべてのホストが少なくとも1つの共有ストレージリポジトリを使用している必要があります。

ストレージリポジトリの操作方法について詳しくは、「ストレージの構成」を参照してください。

ネットワーク

アーキテクチャレベルでは、ネットワークエンティティを表す3つの種類のサーバー側ソフトウェアオブジェクトがあります。以下のオブジェクトを使用します。

  • PIF(Physical Interface)は、dom0内で使用されるソフトウェアオブジェクトであり、ホスト上の物理インターフェイスを表します。PIFオブジェクトは、名前と説明、UUID、対応するNICのパラメータ、および接続先のネットワークとサーバーという属性を持ちます。
  • VIF(Virtual Interface)は、dom0内で使用されるソフトウェアオブジェクトであり、仮想マシン上の仮想インターフェイスを表します。VIFオブジェクトは、名前と説明、UUID、および接続先のネットワークと仮想マシンという属性を持ちます。
  • ネットワークは、ネットワークホスト上のネットワークトラフィックをルーティングするために使用されるホストの仮想イーサネットスイッチです。ネットワークオブジェクトは、名前と説明、UUID、および接続先のVIFとPIFの集合という属性を持ちます。

ネットワークの概要

XenServer管理APIでは、以下の操作が可能になります:

  • ネットワークオプションの設定
  • 管理操作に使用するNICの制御
  • 仮想ローカルエリアネットワーク(VLAN)やNICボンディングなどの高度なネットワーク機能の作成

XenServerでネットワークを管理する方法について詳しくは、「ネットワーク」を参照してください。

関連アドオンおよびアプリケーション

Xenハイパーバイザーはコアレベルで動作しますが、XenServerではアドオンに関連した、ハイパーバイザーに依存しないアプリケーションとサービスが提供されるため、仮想化エクスペリエンスを完成させることができます。

アドオンとアプリケーションの概要

  • XenCenter

    仮想マシン管理用のWindows GUIクライアント。管理APIに基づいて実装されます。XenCenterは、複数のXenServerホスト、 リソースプール、およびこれらに関連付けられた仮想インフラストラクチャ全体を管理するための、快適な操作性をユーザーに提供します。

  • ワークロードバランス(WLB)

    ワークロードバランスは、リソースプール内の最適なサーバーに仮想マシンを移行することでプールのワークロードを分散させるための機能で、ワークロードバランス仮想アプライアンスにより提供されます。詳しくは、「ワークロードバランス」(/en-us/xenserver/current-release/vswitch-controller.html)を参照してください。

  • 分散仮想スイッチコントローラ(DVSC)

    XAPIに対応したOpenFlow規則を作成するために使用するDebianベースのアプライアンス。この実装は以下によって構成されます:

    • 各XenServerおよびvSwitch Controller上で動作する、仮想化に対応したスイッチ(vSwitch)。

    • 単一のvSwitchの外観を実現するために、個々のvSwitchの動作を管理および調整する集中管理型サーバー。

    詳しくは、「vSwitchとController」を参照してください。

  • Citrixライセンスサーバー

    特定のサーバーのライセンスを要求するためにXenCenterが接続するLinuxベースのアプライアンス。

  • XenServer Conversion Manager(XCM)

    既存のVMware仮想マシンを同等のネットワークおよびストレージ接続を備えたXenServer仮想マシンに変換できるコンソール付きの仮想アプライアンス。詳しくは、「Conversion Manager」を参照してください。

  • メジャーブートのサプリメンタルパック

    ブート時にXenServerホストの主要コンポーネントを測定し、リモート構成証明ソリューションを通じてこれらの測定値を安全に収集することを可能にするAPIを提供します。詳しくは、「メジャーブートのサプリメンタルパック」を参照してください。

  • Citrix Provisioning

    共通イメージからのPXEブートをサポートするプロビジョニングサービス。Citrix Virtual DesktopsおよびCitrix Virtual Appsで広く使用されています。詳しくは、「Citrix Provisioning」を参照してください。

  • Citrix Virtual Desktops

    Windowsデスクトップに特化した仮想デスクトップインフラストラクチャ(VDI)製品。Citrix Virtual Desktopsでは、XAPIを使用して、プール内に複数のホストが含まれる構成のXenServerを管理します。詳しくは、「Citrix Virtual Apps and Desktops」を参照してください。

  • OpenStack/CloudStack

    パブリック/プライベートクラウドを構築するためのオープンソースソフトウェア。管理APIを使用してXenServerを制御します。詳しくは、https://www.openstack.org/およびhttps://cloudstack.apache.org/を参照してください。