PVSアクセラレータ

XenServerのPVSアクセラレータ機能には、XenServerおよびCitrix Provisioningのユーザー向けの追加機能があります。Citrix Provisioningは、Citrix Virtual AppsおよびDesktopsの画像管理とホスティングでよく使われます。PVSアクセラレータにより、既に申し分のないXenServerとCitrix Provisioningの組み合わせが大幅に改善されます。これにより、以下を含む機能が改善されます:

  • データの局所性: メモリ、SSD、およびNVMデバイスのパフォーマンスおよび局所性を読み取り要求に利用しながら、ネットワーク利用を大幅に削減します。

  • エンドユーザーエクスペリエンスの向上: データの局所性により、キャッシュされたターゲットデバイス(仮想マシン)の読み取りI/O遅延が短縮され、エンドユーザーアプリケーションの速度が向上します。

  • 仮想マシンの起動およびブートストームの高速化: 読み取りI/O遅延の短縮および効率の改善により、仮想マシンの起動が高速化し、短時間のうちに多数のデバイスが起動する場合のパフォーマンスがより速くなります。

  • ハイパーバイザーホストの追加によるスケールアウトの簡素化: XenServerホスト全体でストレージの負荷が効率的に分散されることにより、必要なCitrix Provisioningサーバーの数が少なくなります。ピーク負荷は元のホストのキャッシュを使用して処理されます。

  • TCOの削減およびインフラストラクチャ要件の簡素化: Citrix Provisioningサーバーがより少なくなることによってハードウェアおよびライセンス要件が削減され、管理オーバーヘッドも低減されます。解放された容量はワークロードに使用できます。

注:

PVSアクセラレータは、 XenServer Enterprise Editionユーザー、またはCitrix Virtual Apps and Desktops権限によりXenServerにアクセスするユーザーが使用できます。PVSアクセラレータ機能を使用するには、ライセンスサーバーを11.14にアップグレードする必要があります。

PVSアクセラレータの動作

PVSアクセラレータは、XenServerのコントロールドメイン(Dom0)に格納されているプロキシメカニズムを採用しています。この機能が有効化されると、Citrix Provisioningのターゲットデバイス(仮想マシン)の読み取り要求はXenServerホストマシン上で直接キャッシュされます。これらの要求は、物理メモリやストレージリポジトリでキャッシュされます。XenServerホスト上の後続仮想マシンが同じ読み取り要求を行う場合、仮想ディスクはCitrix Provisioningサーバーではなくキャッシュから直接提供されます。Citrix Provisioningサーバーからのコンテンツ提供を削減することにより、ネットワークの使用およびサーバー上の処理が大幅に軽減し、仮想マシンのパフォーマンスが向上します。

PVSアクセラレータの有効化

PVSアクセラレータ機能を有効にするには、XenServerとCitrix Provisioningで次の設定を完了する必要があります:

  1. PVSアクセラレータサプリメンタルパックをプール内の各XenServerホストにインストールします。サプリメンタルパックはXenServerの製品ダウンロードページから入手できます。サプリメンタルパックは、XenCenterまたはxe CLIを使用してインストールできます。XenCenterを使用したサプリメンタルパックのインストール方法について詳しくは、XenCenterのヘルプを参照してください。CLIについては、『XenServerサプリメンタルパックおよびDDKのガイド』(英文)を参照してください。

  2. XenCenterまたは xe CLIを使用したXenServerでのPVSアクセラレータの構成この構成には、Citrix Provisioningサイトの追加およびCitrix Provisioningキャッシュストレージの格納先の指定などがあります。
    • CLIの手順については、次のセクションの「CLIを使用したXenServerでのPVSアクセラレータの構成」を参照してください。
    • XenCenterを使用してPVSアクセラレータを構成する方法について詳しくは、XenCenterのオンラインヘルプを参照してください。
  3. XenServerでPVSアクセラレータを構成した後は、PVS UIを使用してPVSサイトのキャッシュ構成を完了してください。詳細な手順については、「Citrix Provisioningでキャッシュ構成を完了する」を参照してください。

CLIを使用してXenServerでPVSアクセラレータを構成する

  1. XenServerでCitrix Provisioningサイト構成を作成するには、次のコマンドを実行します:

    PVS_SITE_UUID=$(xe pvs-site-introduce name-label=My PVS Site)
    
  2. プールの各ホストに、どのキャッシュを使用するかを指定します。キャッシュをストレージリポジトリ(SR)に格納するか、コントロールドメインのメモリに格納するかを選択できます。

ストレージリポジトリでキャッシュストレージを構成する

キャッシュストレージとしてストレージリポジトリ(SR)を使用する場合は、次の特性を考慮する必要があります:

長所:

  • 最新の読み取りデータがメモリにベストエフォートベースでキャッシュされるため、このデータには、コントロールドメインメモリを使用した場合と同様に迅速にアクセスできます。
  • キャッシュは、SRに格納されている場合はより大きくなる可能性があります。SRの領域のコストは通常、メモリ領域のコストのほんの一部です。つまり、SRでのキャッシュはCitrix Provisioningサーバーの負荷をより削減することができます。
  • コントロールドメインのメモリ設定を変更する必要はありません。キャッシュによって、コントロールドメインで利用可能なメモリが自動的に使用されるため、コントロールドメインがメモリ不足になることはありません。

短所:

  • SRの動作が遅く、要求されたデータがメモリ層にない場合、キャッシュプロセスがリモートのCitrix Provisioningサーバーよりも遅くなることがあります。

ストレージリポジトリでキャッシュストレージを構成するには、次の手順を実行します:

  1. 次のコマンドを実行して、キャッシュに使用されるSRのUUIDを検索します:

        xe sr-list name-label=Local storage host=host-name-label --minimal)
    
  2. キャッシュストレージを作成します。

        xe pvs-cache-storage-create host=host-name-label pvs-site-uuid=PVS_SITE_UUID
         sr-uuid=SR_UUID size=10GiB
    

    注:

    ストレージリポジトリ(SR)を選択していると、この機能はSRで指定されたキャッシュの最大サイズまで使用します。また、使用可能なコントロールドメインメモリを、ベストエフォートキャッシュ層として暗黙的に使用します。

コントロールドメインメモリでのキャッシュストレージの構成

キャッシュストレージとしてコントロールドメインメモリを使用する場合は、次の特性を考慮する必要があります。

長所:

メモリを使用すると、キャッシュへのアクセスまたはキャッシュの入力を行う際の読み取り/書き込みのパフォーマンスが常に高速になります。

短所:

  • キャッシュストレージに使用されるRAMが仮想マシンに使用できないため、ハードウェアのサイズを適切に設定する必要があります。

  • キャッシュストレージを構成する前に、コントロールドメインのメモリを拡張する必要があります。

    注:

    キャッシュをコントロールドメインのメモリに格納する場合、この機能によってコントロールドメインのメモリが指定されたキャッシュサイズまで使用されます。このオプションは、追加のメモリがコントロールドメインに割り当てられた後でのみ使用できるようになります。コントロールドメインのメモリ量を増やす方法については、「コントロールドメインに割り当てられるメモリ量を変更する」を参照してください。

    ホストのコントロールドメインに割り当てられるメモリの量を増やすと、追加メモリを明示的にPVSアクセラレータに割り当てることができます。

    コントロールドメインメモリでキャッシュストレージを構成するには、次の手順を実行します:

    1. 次のコマンドを実行して、キャッシュに使用されるホストのUUIDを検索します:

      xe host-list name-label=host-name-label --minimal
      
    2. 特別な種類(tmpfs)のSRを作成します:

      xe sr-create type=tmpfs name-label=MemorySR host-uuid=HOST_UUID device-config:uri=""
      
    3. 次のコマンドを実行して、キャッシュストレージを作成します。

      xe pvs-cache-storage-create host-uuid=HOST_UUID
      pvs-site-uuid=PVS_SITE_UUID sr-uuid=SR_UUID size=1GiB
      

      SR_UUIDは、手順bで作成されたSRのUUIDです。

Citrix Provisioningでキャッシュ構成を完了する

XenServerでPVSアクセラレータを構成した後、次の手順を実行してCitrix Provisioningサイトのキャッシュ構成を完了します。

Citrix Provisioning管理コンソールで、(環境に応じて)Citrix Virtual Desktopsセットアップウィザードまたは仮想マシンのストリーミングウィザードを使用してプロキシ機能にアクセスします。この2つのウィザードは似たようなウィザードで、多くの画面を共有していますが、次の相違点があります。

  • Citrix Virtual Desktopsセットアップウィザードは、Citrix Virtual Desktopsを使用して制御されるXenServerハイパーバイザーで実行される仮想マシンの構成に使用します。

  • 仮想マシンのストリーミングウィザードは、ホストで仮想マシンを作成するために使用され、Citrix Virtual Desktopsには使用されません。

Citrix Provisioning管理コンソールを開始します:

  1. Citrix Provisioningサイトに移動します。

  2. Citrix Provisioningサイトを選択し、右クリックしてコンテキストメニューを表示します。

  3. 環境に応じて適切なウィザードを選択します。オプション[すべての仮想マシンの PVS アクセラレータを有効にします]を選択してPVSアクセラレータ機能を有効化します。

  4. 初めて仮想ディスクキャッシュを有効化する場合は、ストリーム配信仮想マシンのセットアップウィザードにXenServerの画面が表示されます。Citrix Provisioningサイトと関連付けられていないXenServerで構成されたすべてのCitrix Provisioningサイトの一覧が表示されます。一覧を使用して、PVSアクセラレータを適用するCitrix Provisioningサイトを選択します。この画面は、同じXenServerホストを使用して同じCitrix Provisioningサイトのウィザードを実行する場合は表示されません。

  5. [次へ]をクリックしてキャッシュ構成を完了します。

  6. [完了]をクリックしてCitrix Virtual Desktopsまたはストリーム配信された仮想マシンをプロビジョニングし、選択したCitrix ProvisioningをXenServerのPVSアクセラレータに関連付けます。この手順が完了すると、PVSアクセラレータ構成ウィンドウの [PVSサーバー表示] ボタンがXenCenterで有効になります。[PVSサーバー表示] ボタンをクリックすると、Citrix Provisioningサイトに関連付けられたすべてのPVSサーバーのIPアドレスが表示されます。

キャッシュ操作

PVSアクセラレータ機能を使用する場合は、次の点を考慮する必要があります:

  • XenCenterおよびCitrix ProvisioningのPVSアクセラレータユーザーインターフェイスは、PVSアクセラレータサプリメンタルパックがインストールされている場合にのみ表示されます。

  • Citrix Citrix Provisioningターゲットデバイスは、プロキシステータスを認識しています。機能がインストールされたら、追加の構成は必要ありません。

  • 同じVHDで複数のCitrix Provisioningサーバーが展開されていて、ファイルシステムタイムスタンプが異なる環境では、データが複数回キャッシュされる可能性があります。この制限により、Citrixでは仮想ディスク向けのVHDではなくVHDX形式を使用することをお勧めします。

  • PVSアクセラレータが有効になった仮想マシンを起動した後、仮想マシンのキャッシュステータスはXenCenterに表示されます:
    • プールまたはホストの [PVS] タブ
    • 仮想マシンの [一般] タブ
  • ユーザーは、XenCenterのホストの[パフォーマンス]タブでRRD測定値を使用して、PVSアクセラレータの正しい操作を確認できます。詳しくは、「展開環境の監視と管理」を参照してください。

重要:

  • PVSアクセラレータには、Citrix Provisioning 7.13以降が必要です。
  • PVSアクセラレータは、 XenServer Enterprise Editionユーザー、またはCitrix Virtual DesktopsおよびCitrix Virtual Apps権限によりXenServerにアクセスするユーザーが使用できます。
  • PVSアクセラレータにはライセンスサーバー11.14が必要です。
  • PVSアクセラレータ機能ではOVSの機能が使用されるため、ネットワークバックエンドとしてLinuxブリッジを使用しているホストではPVSアクセラレータ機能を利用できません。
  • PVSアクセラレータは、キャッシュされた仮想マシンの最初の仮想ネットワークインターフェイス(VIF)で機能します。そのため、キャッシュが機能するように、最初のVIFはCitrix Provisioningストレージネットワークに接続する必要があります。

PVSアクセラレータ機能では、以下がキャッシュされます。

  • 仮想ディスクからの読み取り(書き込みキャッシュからの書き込みや読み取りはキャッシュされません)

  • イメージのバージョンに基づくキャッシュ。複数のVMが同じイメージのバージョンを使用する場合、これらのVMはキャッシュされたブロックを共有します

  • あらゆる非永続書き込みキャッシュの種類があるデバイス

  • アクセスモードが「標準イメージ」の仮想ディスク。アクセスモードが「プライベートイメージ」の仮想ディスクには機能しません

  • 種類が「実稼働」または「テスト」としてマークされているデバイス。種類が「メンテナンス」としてマークされているデバイスはキャッシュされません

PVSアクセラレータのCLI操作

次のセクションでは、CLIを使用してPVSアクセラレータを使用する際に実行できる操作について説明します。これらの操作は、XenCenterを使用しても実行できます。詳しくは、XenCenterのオンラインヘルプを参照してください。

Citrix Provisioningサーバーアドレス、およびCitrix Provisioningで構成されたポートを表示する

PVSアクセラレータは、仮想マシンとCitrix Provisioningサーバー間のネットワークトラフィックを最適化することによって機能します。Citrix Provisioningサーバーの構成を完了すると、Citrix ProvisioningサーバーによってXenServerにpvs-serverオブジェクトがIPとポートとともに入力されます。PVSアクセラレータはその後、特に仮想マシンとCitrix Provisioningサーバー間のトラフィックを最適化するためにこの情報を使用します。次のコマンドを使用して、構成されたCitrix Provisioningサーバーを一覧表示できます:

xe pvs-server-list pvs-site-uuid=PVS_SITE_UUID params=all

キャッシュ用に仮想マシンを構成する

次のいずれかのツールを使用して、仮想マシンに対するPVSアクセラレータを有効化できます:

  • Citrix Provisioning CLI
  • Citrix Virtual Desktopsセットアップウィザード
  • ストリーム配信仮想マシンセットアップウィザード
  • XenCenter
  • xe CLI

xe CLIは、仮想マシンのVIFを使用してPVSアクセラレータを設定します。仮想マシンのVIFをCitrix ProvisioningサイトとリンクするCitrix Provisioningプロキシを作成します。

仮想マシンを構成するには、次の手順を実行します:

  1. キャッシュを有効にする仮想マシンの最初のVIFを見つけます。

    VIF_UUID=$(xe vif-list vm-name-label=pvsdevice_1 device=0 --minimal)
    
  2. Citrix Provisioningプロキシを作成します。

    xe pvs-proxy-create pvs-site-uuid=PVS_SITE_UUID vif-uuid=$VIF_UUID
    

仮想マシンのキャッシュを無効にする

仮想マシンのVIFとpvs-siteをリンクするCitrix Provisioningプロキシを破棄することによって、仮想マシンに対してPVSアクセラレータを無効化することができます。

  1. 仮想マシンの最初のVIFを見つけます:

    VIF_UUID=$(xe vif-list vm-name-label=pvsdevice_1 device=0 --minimal)
    
  2. 仮想マシンのCitrix Provisioningプロキシを見つけます:

    PVS_PROXY_UUID=$(xe pvs-proxy-list vif-uuid=$VIF_UUID --minimal)
    
  3. Citrix Provisioningプロキシを破棄します:

    xe pvs-proxy-destroy uuid=$PVS_PROXY_UUID
    

ホストまたはサイトのPVSアクセラレータストレージを削除する

ホストまたはサイトのPVSアクセラレータストレージを削除するには、次の手順を実行します:

  1. ストレージを破棄するホストを見つけます:

    HOST_UUID=$(xe host-list name-label=HOST_NAME --minimal)
    
  2. オブジェクトのUUIDを見つけます:

    PVS_CACHE_STORAGE_UUID=$(xe pvs-cache-storage-list host-uuid=$HOST_UUID --minimal)
    
  3. オブジェクトを破棄します:

    xe pvs-cache-storage-destroy uuid=$PVS_CACHE_STORAGE_UUID
    

サイトのPVSアクセラレータ構成を破棄する

サイトのPVSアクセラレータ構成を破棄するには、次の手順を実行します:

  1. Citrix Provisioningサイトを見つけます:

    PVS_SITE_UUID=$(xe pvs-site-list name-label=My PVS Site)
    
  2. 次のコマンドを実行して、Citrix Provisioningサイトを破棄します:

    xe pvs-site-forget uuid=$PVS_SITE_UUID