XenServer

PVS-アクセラレーター

XenServer PVS-Accelerator機能は、Citrix ProvisioningとXenServerを使用しているお客様に拡張機能を提供します。Citrix Provisioningは、Citrix Virtual Apps and Desktops™またはCitrix DaaSのイメージ管理およびホスティングで広く利用されています。PVS-Acceleratorは、XenServerとCitrix Provisioningのすでに優れた組み合わせを劇的に改善します。この新機能が提供する利点には、次のようなものがあります。

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

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

  • VMの起動とブートストームの高速化: 読み取りI/O遅延の削減と効率の向上により、VMの起動時間を短縮し、多くのデバイスが短時間で起動する際のパフォーマンスを高速化できます。

  • ハイパーバイザーホストの追加によるスケールアウトの簡素化: ストレージ負荷がすべてのXenServerホストに効率的に分散されるため、Citrix Provisioning™サーバーの必要数が削減される可能性があります。ピーク負荷は、元のホスト内のキャッシュを使用して処理されます。

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

注記:

PVS-Acceleratorは、XenServer Premium Editionのお客様にご利用いただけます。PVS-Accelerator機能を使用するには、Citrix License Serverをバージョン11.14以降にアップグレードしてください。

UEFI対応VMでPVS-Acceleratorを使用するには、Citrix Provisioning 1906以降を使用していることを確認してください。

PVS-Acceleratorの仕組み

PVS-Acceleratorは、XenServerのコントロール ドメイン (dom0) に存在するプロキシメカニズムを採用しています。この機能が有効になっている場合、Citrix Provisioningターゲットデバイス(VM)の読み取り要求は、XenServerホストマシンに直接キャッシュされます。これらの要求は、物理メモリまたはストレージリポジトリにキャッシュされます。そのXenServerホスト上の後続のVMが同じ読み取り要求を行うと、仮想ディスクはCitrix Provisioningサーバーからではなく、キャッシュから直接ストリーミングされます。Citrix Provisioningサーバーからのストリーミングの必要性をなくすことで、ネットワーク使用率とサーバーでの処理が大幅に削減されます。このアプローチにより、VMのパフォーマンスが大幅に向上します。

考慮事項

PVS-Accelerator機能を使用する際は、次の点を考慮してください。

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

  • PVS-Acceleratorは、IPv4およびIPv6ベースのプロトコルの両方をサポートしています。(IPv6には、Citrix Provisioning 2402 CU1、Citrix Provisioning 2407、またはそれ以降が必要です。)

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

  • PVSサーバー通信に大きなポート範囲を使用しないでください。PVSサーバーで20ポートを超える範囲を設定する必要があることはめったにありません。ポート範囲が大きいと、パケット処理が遅くなり、PVS-Acceleratorを使用している場合のVMの起動時間が長くなる可能性があります。

  • PVS-Acceleratorが有効になっているVMを起動すると、VMのキャッシュステータスがXenCenter®に表示されます。
    • プールまたはホストのPVSタブ
    • VMのGeneralタブ
  • XenServerホスト上で200台を超えるPVS-Accelerator対応VMを実行することはできません。

  • お客様は、XenCenterのホストのPerformanceタブにあるRRDメトリックを使用して、PVS-Acceleratorの正しい動作を確認できます。詳細については、「展開の監視と管理」を参照してください。

  • PVS-Acceleratorには、Citrix Provisioning 7.13以降が必要です。

  • UEFI対応VMでPVS-Acceleratorを使用するには、Citrix Provisioning 1906以降を使用していることを確認してください。

  • PVS-Acceleratorは、XenServer Premium Editionのお客様にご利用いただけます。

  • PVS-Acceleratorには、License Server 11.14以降が必要です。

  • PVS-Acceleratorは、キャッシュされたVMの最初の仮想ネットワークインターフェース(VIF)で動作します。したがって、キャッシュが機能するように、最初のVIFをCitrix Provisioningストレージネットワークに接続してください。

  • PVS-Acceleratorは現在、IPが特定のMACアドレスにバインドされることを強制するネットワークポートでは使用できません。このスイッチ機能は「IP Source Guard」などと呼ばれることがあります。このような環境では、PVS-Acceleratorを有効にすると、PVSターゲットは「Login request time out!」というエラーで起動に失敗します。

PVS-Accelerator を有効にする

顧客は、PVS-Accelerator 機能を有効にするために、XenServer および Citrix Provisioning で次の構成設定を完了する必要があります。

  1. XenCenter または xe CLI を使用して、XenServer で PVS-Accelerator を構成します。この構成には、Citrix Provisioning サイトの追加と、Citrix Provisioning キャッシュストレージの場所の指定が含まれます。
    • CLI の手順については、次のセクションの「CLI を使用した XenServer での PVS-Accelerator の構成」を参照してください。
    • XenCenter を使用した PVS-Accelerator の構成に関する情報については、XenCenter ドキュメントの PVS-Accelerator を参照してください。
  2. XenServer で PVS-Accelerator を構成した後、PVS UI を使用して PVS サイトのキャッシュ構成を完了します。詳細な手順については、Citrix Provisioning でのキャッシュ構成の完了 を参照してください。

ポートの構成

Citrix Provisioning Services は次のポートを使用します。

  • 6901、6902、6905: プロビジョニングサーバーのアウトバウンド通信 (ターゲットデバイス宛てのパケット) に使用されます
  • 6910: Citrix Provisioning Services を使用したターゲットデバイスのログオンに使用されます
  • 構成可能なターゲットデバイスポート。デフォルトのポートは 6901 です。
  • 構成可能なサーバーポート範囲。デフォルトの範囲は 6910-6930 です。

Citrix Provisioning Services で使用されるポートに関する情報については、XenServer で使用される通信ポート を参照してください。

XenServer で構成されたポート範囲は、使用中のすべてのポートを含める必要があります。たとえば、デフォルト構成には 6901-6930 を使用します。

注:

PVSサーバー通信に広いポート範囲を使用しないでください。PVSサーバーで20を超えるポート範囲を設定する必要があることはほとんどありません。ポート範囲が広いと、パケット処理が遅くなり、PVS-Acceleratorを使用している場合のVMの起動時間が増加する可能性があります。

CLIを使用してXenServerでPVS-Acceleratorを構成する

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

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

ストレージリポジトリでのキャッシュストレージの構成

キャッシュストレージ用のストレージリポジトリ(SR)を選択する際は、次の特性を考慮してください。

利点:

  • 最も最近読み取られたデータは、ベストエフォート方式でメモリにキャッシュされます。データへのアクセスは、コントロールドメインメモリを使用するのと同じくらい高速になる可能性があります。
  • SR上にある場合、キャッシュははるかに大きくなる可能性があります。SRスペースのコストは、通常、メモリースペースのコストのほんの一部です。SRでのキャッシュは、Citrix Provisioningサーバーの負荷を軽減できます。
  • コントロールドメインのメモリ設定を変更する必要はありません。キャッシュはコントロールドメインで利用可能なメモリを自動的に使用し、コントロールドメインのメモリ不足を引き起こすことはありません。
  • キャッシュVDIは共有ストレージに保存できます。ただし、このストレージの選択が理にかなっていることはめったにありません。このアプローチは、共有ストレージがCitrix Provisioningサーバーよりも大幅に高速である場合にのみ意味があります。
  • キャッシュストレージには、ファイルベースまたはブロックベースのSRのいずれかを使用できます。

欠点:

  • SRが遅く、要求されたデータがメモリ層にない場合、キャッシュプロセスはリモートのCitrix Provisioningサーバーよりも遅くなる可能性があります。
  • 共有ストレージに保存されているキャッシュVDIは、ホスト間で共有できません。キャッシュVDIは1つのホストに固有のものです。

Storage Repository にキャッシュストレージを設定するには、以下の手順を実行します。

  1. キャッシュに使用する SR の UUID を見つけるには、次のコマンドを実行します。

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

    xe pvs-cache-storage-create host=host-name-label pvs-site-uuid=PVS_SITE_UUID \
             sr-uuid=SR_UUID size=10GiB
    <!--NeedCopy-->
    

    注:

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

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

キャッシュストレージにコントロール ドメイン メモリを選択する際は、以下の特性を考慮してください。

利点:

メモリを使用すると、キャッシュへのアクセスまたはキャッシュの投入時に、一貫して高速な読み取り/書き込みパフォーマンスが得られます。

欠点:

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

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

    注:

    キャッシュをコントロール ドメイン メモリに保存することを選択した場合、この機能はコントロール ドメイン メモリ内で指定されたキャッシュサイズまで使用します。このオプションは、コントロール ドメインに追加のメモリが割り当てられた後にのみ利用可能です。コントロール ドメイン メモリの増加に関する情報については、「コントロール ドメインに割り当てられるメモリ量の変更」を参照してください。

    ホストのコントロール ドメインに割り当てられるメモリ量を増やした後、追加のメモリを PVS-Accelerator 用に明示的に割り当てることができます。

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

    1. キャッシュ用に構成するホストのUUIDを見つけるには、次のコマンドを実行します。

      xe host-list name-label=host-name-label --minimal
      <!--NeedCopy-->
      
    2. 特殊なタイプ tmpfs のSRを作成します。

      xe sr-create type=tmpfs name-label=MemorySR host-uuid=HOST_UUID device-config:uri=""
      <!--NeedCopy-->
      

      注:

      特殊なタイプ tmpfs のSRの場合、必須パラメーター name-label の値は無視され、代わりに固定名が使用されます。

    3. キャッシュストレージを作成するには、次のコマンドを実行します。

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

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

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

XenServerでPVS-Acceleratorを構成した後、Citrix Provisioningサイトのキャッシュ構成を完了するには、次の手順を実行します。

Citrix Provisioning Administrator Consoleで、Citrix Virtual Desktops™ セットアップウィザードまたはストリーミングVMウィザード(展開タイプによって異なります)を使用して、プロキシ機能にアクセスします。両方のウィザードは似ており、多くの同じ画面を共有していますが、次の違いがあります。

  • Citrix Virtual Desktopsセットアップウィザードは、Citrix Virtual Desktopsを使用して制御されるXenServerハイパーバイザー上で実行されているVMを構成するために使用されます。

  • ストリーミングVMウィザードは、ホスト上にVMを作成するために使用されます。Citrix Virtual Desktopsは関与しません。

Citrix プロビジョニング 管理者コンソールを起動します:

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

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

  3. 展開に基づいて適切なウィザードを選択します。PVS-Accelerator機能を有効にするには、すべての仮想マシンでPVS-Acceleratorを有効にするオプションを選択します。

  4. 初めて仮想ディスクキャッシュを有効にする場合、Streamed Virtual Machine SetupウィザードにXenServer画面が表示されます。この画面には、XenServerで構成されているものの、まだCitrix Provisioningサイトに関連付けられていないすべてのCitrix Provisioningサイトのリストが表示されます。このリストを使用して、PVS-Acceleratorを適用するCitrix Provisioningサイトを選択します。同じXenServerホストを使用して同じCitrix Provisioningサイトに対してウィザードを実行する場合、この画面は表示されません。

  5. キャッシュ構成を完了するには、次へをクリックします。

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

キャッシュ操作

PVS-Accelerator機能は以下をキャッシュします。

  • 仮想ディスクからの読み取り(書き込みまたは書き込みキャッシュからの読み取りは除く)

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

  • 非永続的な書き込みキャッシュタイプを持つデバイス

  • アクセスモードStandard Imageの仮想ディスク。アクセスモードPrivate Imageの仮想ディスクでは機能しません

  • タイプProductionまたはTestとしてマークされたデバイス。タイプMaintenanceとしてマークされたデバイスはキャッシュされません

PVSアクセラレータ CLI操作

以下のセクションでは、CLIを使用してPVS-Acceleratorを使用する際に顧客が実行できる操作について説明します。顧客はXenCenterを使用してこれらの操作を実行することもできます。詳細については、XenCenterドキュメントのPVS-Acceleratorを参照してください。

Citrix Provisioningによって構成されたCitrix Provisioningサーバーのアドレスとポートを表示する

PVS-Acceleratorは、VMとCitrix Provisioningサーバー間のネットワークトラフィックを最適化することで機能します。Citrix Provisioningサーバーでの構成が完了すると、Citrix ProvisioningサーバーはXenServer上のpvs-serverオブジェクトにIPとポートを設定します。PVS-Acceleratorは後でこの情報を使用して、VMとそのCitrix Provisioningサーバー間のトラフィックを具体的に最適化します。構成されたCitrix Provisioningサーバーは、次のコマンドを使用してリストできます。

xe pvs-server-list pvs-site-uuid=PVS_SITE_UUID params=all
<!--NeedCopy-->

VMのキャッシュを構成する

PVS-Acceleratorは、以下のいずれかのツールを使用してVMで有効にできます。

  • Citrix プロビジョニング コマンドラインインターフェース
  • Citrix Virtual Desktopsセットアップウィザード
  • ストリーム配信VMセットアップウィザード
  • XenCenter
  • xe CLI

xe CLIは、VMのVIFを使用してPVS-Acceleratorを構成します。これにより、VMのVIFをCitrix ProvisioningサイトにリンクするCitrix Provisioningプロキシが作成されます。

VMを構成するには:

  1. キャッシュを有効にするVMの最初のVIFを見つけます:

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

    xe pvs-proxy-create pvs-site-uuid=PVS_SITE_UUID vif-uuid=$VIF_UUID
    <!--NeedCopy-->
    

VMのキャッシュを無効にする

PVS-Acceleratorは、VMのVIFをpvs-siteにリンクするCitrix Provisioningプロキシを破棄することで、VMに対して無効にできます。

  1. VMの最初のVIFを見つけます:

    VIF_UUID=$(xe vif-list vm-name-label=pvsdevice_1 device=0 --minimal)
    <!--NeedCopy-->
    
  2. VMのCitrix Provisioningプロキシを見つけます:

    PVS_PROXY_UUID=$(xe pvs-proxy-list vif-uuid=$VIF_UUID --minimal)
    <!--NeedCopy-->
    
  3. Citrix Provisioning プロキシを破棄する:

    xe pvs-proxy-destroy uuid=$PVS_PROXY_UUID
    <!--NeedCopy-->
    

ホストまたはサイトの PVS-Accelerator ストレージを削除する

ホストまたはサイトの PVS-Accelerator ストレージを削除するには:

  1. ストレージを破棄したいホストを見つける:

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

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

    xe pvs-cache-storage-destroy uuid=$PVS_CACHE_STORAGE_UUID
    <!--NeedCopy-->
    

サイトの PVS-Accelerator 構成を解除する

サイトの PVS-Accelerator 構成を解除するには:

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

    PVS_SITE_UUID=$(xe pvs-site-list name-label=My PVS Site)
    <!--NeedCopy-->
    
  2. Citrix Provisioning サイトを解除するには、次のコマンドを実行します:

    xe pvs-site-forget uuid=$PVS_SITE_UUID
    <!--NeedCopy-->
    
PVS-アクセラレーター