製品の技術概要
XenServer(旧Citrix Hypervisor)は、費用対効果の高いデスクトップ、サーバー、およびクラウド仮想化インフラストラクチャのプラットフォームであり、業界で高く評価されています。XenServerでは、あらゆる規模またはタイプの組織が、今日のデータセンター要件に合わせてコンピューティングリソースを集約して仮想ワークロードに変換できます。シームレスな方法でワークロードをクラウドに移行することができます。
XenServerの主な機能は次のとおりです:
- 物理サーバー上に複数の仮想マシン(VM)を集約できます。
- 管理すべきディスクイメージの数を削減できます。
- 既存のネットワークおよびストレージインフラストラクチャを容易に統合できます。
- 実行中の仮想マシンを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ハイパーバイザーを基礎とし、その上に追加の機能とサポートが提供されています。XenServerでは、Xenハイパーバイザーのバージョン4.13.4が使用されています。
コントロールドメイン
コントロールドメインは「Domain0」または「dom0」とも呼ばれ、XenServerの管理ツールスタック(「XAPI」とも呼ばれます)を実行するセキュアな特権Linux仮想マシンです。このLinux仮想マシンは、CentOS 7.5ディストリビューションに基づいています。コントロールドメインは、XenServer管理機能を提供するほか、ネットワークやストレージなどのための物理デバイスドライバーも実行します。コントロールドメインは、ハイパーバイザーと通信して、ゲスト仮想マシンを起動または停止するよう指示できます。
ツールスタック
ツールスタック(「XAPI」とも呼ばれます)は、仮想マシンのライフサイクル操作、ホストおよび仮想マシンのネットワーク、仮想マシンストレージ、およびユーザー認証を制御するソフトウェアスタックです。また、XenServerリソースプールを管理することもできます。 XAPIにより提供される管理APIについてはドキュメントが公開されており、このインターフェイスは仮想マシンやリソースプールを管理するためのすべてのツールで使用されます。詳しくは、「XenServer管理API」を参照してください。
ゲストドメイン(VM)
ゲストドメインは、dom0のリソースを要求する、ユーザーが作成した仮想マシンです。サポートされているディストリビューションの詳細な一覧については、「サポートされるゲストオペレーティングシステム、仮想メモリ、および仮想ディスクのサイズ制限」を参照してください。
完全な仮想化
完全な仮想化(「ハードウェア支援による仮想化」とも呼ばれます)では、ホストCPUの仮想化拡張機能を使用してゲストを仮想化します。完全に仮想化されたゲストでは、カーネルのサポートが不要になります。このようなゲストはハードウェア仮想マシン(HVM)と呼ばれます。HVMには、メモリと特権操作のためにIntel VTまたはAMD-Vのハードウェア拡張機能が必要です。XenServerは、Quick Emulator(QEMU)を使用して、BIOS、IDEディスクコントローラー、VGAグラフィックアダプタ、USBコントローラー、ネットワークアダプタなどのPCハードウェアをエミュレートします。ディスクやネットワークへのアクセスなど、ハードウェアが重要となる操作のパフォーマンスを向上させるために、HVMゲストにはXenServerツールがインストールされています。詳しくは、「ハードウェア仮想マシン上の準仮想化」を参照してください。
通常、HVMは、カーネルを変更して仮想化が認識されるようにすることが不可能な、Microsoft Windowsなどのオペレーティングシステムを仮想化する場合に使用します。
ハードウェア仮想マシン上の準仮想化 (PV on HVM)
ハードウェア仮想マシン上の準仮想化(PV on HVM)には、準仮想化と完全なハードウェア仮想化が混在しており、特別に最適化された準仮想化ドライバーを使用して、HVMゲストのパフォーマンスを向上させることを主な目的とします。このモードでは、最新プロセッサのx86仮想コンテナ技術により良好なパフォーマンスが得られます。ただし、これらのゲストでのネットワークアクセスおよびストレージアクセスは、カーネルに組み込まれたドライバによりPVモードで行われます。
XenServerのPV on HVMモードでは、WindowsおよびLinuxのディストリビューションを使用できます。PV on HVMを使用するサポート対象ディストリビューションの一覧については、「ゲストオペレーティングシステムのサポート」を参照してください。
XenServer VM Tools
XenServer VM Tools(旧称:Citrix VM ToolsまたはXenServer PV Tools)には従来型デバイスエミュレーションのようなオーバーヘッドがなく、高パフォーマンスのI/Oサービスが提供されます。
-
Windows向けXenServer VM Toolsは、I/Oドライバー(準仮想化ドライバーまたはPVドライバーともいいます)と管理エージェントで構成されています。
I/Oドライバーにはフロントエンドストレージ、ネットワークドライバー、および低レベル管理インターフェイスが含まれています。準仮想化ドライバーは、エミュレートされたドライバーに置き換わり、仮想マシンとXenServerソフトウェア間の高速トランスポートを提供します。
管理エージェント(ゲストエージェントともいいます)は、高レベルの仮想マシン管理機能を備えており、すべての機能をXenCenterに提供します(Windows仮想マシンの場合)。
仮想マシンが完全にサポートされる構成にするには、各Windows仮想マシンにWindows向けXenServer VM Toolsをインストールする必要があります。仮想マシンは、Windows向けXenServer VM Toolsがなくても機能しますが、I/Oドライバー(PVドライバー)がインストールされていないと、パフォーマンスが大幅に低下します。
-
Linux向けXenServer VM Toolsには、仮想マシンに関する追加情報をホストに提供するゲストエージェントが含まれています。動的メモリ制御(DMC:Dynamic Memory Control)を有効にするには、Linux仮想マシンごとにゲストエージェントをインストールします。
注:
Red Hat Enterprise Linux 8、Red Hat Enterprise Linux 9、Rocky Linux 8、Rocky Linux 9、またはCentOS Stream 9 VMでは、Dynamic Memory Control(DMC)機能を使用できません。これらのオペレーティングシステムは、Xenハイパーバイザーによるメモリバルーニングをサポートしていないためです。
詳しくは、「XenServer VM Tools」を参照してください。
主な概念
リソースプール
XenServerでは、リソースプールを使用して、複数のホストとそれらの共有ストレージを単一のエンティティとして管理できます。リソースプールを使用すると、仮想マシンを別のXenServerホストに移動して実行できるほか、すべてのホストがネットワークとストレージの共通フレームワークを共有できるようになります。1つのプールには、互換性のあるハードウェアを持ち、同じバージョンのXenServerソフトウェア(適用されたパッチも含む)を実行するホストを最大で64台まで追加できます。詳しくは、「ホストとリソースプール」を参照してください。
XenServerのリソースプールには、XAPIによって実装されるプライマリ/セカンダリアーキテクチャが採用されています。XAPIコールは、プールコーディネーター(プライマリ)からプールメンバー(セカンダリ)に転送されます。プールメンバーはプールコーディネーターに対してDBリモートプロシージャコール(RPC)を行います。プールコーディネーターは、プール内のリソースの統合とロックを行い、すべての制御操作を処理します。プールメンバーは、HTTPとXMLRPCを使用してプールコーディネーターと通信しますが、(同じチャネルを介して)ディスクのミラーリング(ストレージの移行)を使用して相互に通信することができます。
ストレージリポジトリ
XenServerのストレージターゲットは、ストレージリポジトリ(SR)と呼ばれます。ストレージリポジトリには、仮想ディスクの内容を含む仮想ディスクイメージ(VDI)が格納されます。 ローカル接続のSATA、SCSI、NVMe、およびSASドライブ、そしてリモート接続のiSCSI、NFS、SAS、SMBおよびファイバチャネルに対するサポートが組み込まれているため、目的に応じたさまざまなストレージリポジトリをホストで使用できます。ストレージリポジトリと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)
ワークロードバランスは、リソースプール内の最適なホストに仮想マシンを移行することでプールのワークロードを分散させるための機能で、ワークロードバランス仮想アプライアンスにより提供されます。詳しくは、「ワークロードバランス」(/ja-jp/xenserver/8/wlb.html)を参照してください。
-
Citrixライセンスサーバー
特定のサーバーのライセンスを要求するためにXenCenterが接続するLinuxベースのアプライアンス。
-
XenServer Conversion Manager
既存のVMware仮想マシンを同等のネットワークおよびストレージ接続を備えたXenServer仮想マシンに変換できる仮想アプライアンス。詳しくは、「Conversion Manager」を参照してください。
-
Citrix Provisioning
Provisioning Services。共通イメージからのPXEブートをサポートします。Citrix Virtual DesktopsおよびCitrix Virtual Appsで広く使用されています。詳しくは、「プロビジョニング」を参照してください。
-
Citrix Virtual Desktops
Windowsデスクトップに特化した仮想デスクトップインフラストラクチャ(VDI)製品。Citrix Virtual Desktopsでは、XAPIを使用して、プール内に複数のホストが含まれる構成のXenServerを管理します。詳しくは、「Citrix Virtual Apps and Desktops」を参照してください。