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タブで
-
1つの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はOVSの機能を使用するため、ネットワークバックエンドとしてLinux Bridge (非推奨) を使用するホストでは利用できません。
-
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で以下の構成設定を完了する必要があります。
- XenCenterまたはxe CLIを使用して、XenServerでPVS-Acceleratorを構成します。この構成には、Citrix Provisioningサイトの追加と、Citrix Provisioningキャッシュストレージの場所の指定が含まれます。
- CLIの手順については、次のセクションの「CLIを使用してXenServerでPVS-Acceleratorを構成する」を参照してください。
- XenCenterを使用してPVS-Acceleratorを構成する方法については、XenCenterのドキュメントのPVS-Acceleratorを参照してください。
- 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を構成する
-
XenServer上にCitrix Provisioningサイト構成を作成するには、次のコマンドを実行します:
PVS_SITE_UUID=$(xe pvs-site-introduce name-label=My PVS Site) -
プール内の各ホストについて、使用するキャッシュを指定します。キャッシュはストレージリポジトリ (SR) またはコントロールドメインメモリに保存することを選択できます。
ストレージリポジトリ上にキャッシュストレージを構成する
キャッシュストレージ用のストレージリポジトリ (SR) を選択する際には、以下の特性を考慮してください:
利点:
- 最も最近読み取られたデータは、ベストエフォート方式でメモリにキャッシュされます。データへのアクセスは、コントロールドメインメモリを使用するのと同じくらい高速になる可能性があります。
- SR上にある場合、キャッシュははるかに大きくなる可能性があります。SRスペースのコストは、通常、メモリースペースのコストのごく一部です。SR上でのキャッシュは、Citrix Provisioningサーバーの負荷をさらに軽減できます。
- コントロールドメインのメモリ設定を変更する必要はありません。キャッシュはコントロールドメインで利用可能なメモリを自動的に使用し、コントロールドメインのメモリ不足を引き起こすことはありません。
- キャッシュVDIは共有ストレージに保存できます。しかし、このストレージの選択はほとんど意味がありません。このアプローチは、共有ストレージがCitrix Provisioningサーバーよりも著しく高速である場合にのみ意味があります。
- キャッシュストレージとして、ファイルベースまたはブロックベースのSRのいずれかを使用できます。
欠点:
- SRが遅く、要求されたデータがメモリ層にない場合、キャッシュプロセスはリモートのCitrix Provisioningサーバーよりも遅くなる可能性があります。
- 共有ストレージに保存されているキャッシュされたVDIは、ホスト間で共有することはできません。キャッシュされたVDIは1つのホストに固有です。
ストレージリポジトリにキャッシュストレージを構成するには、次の手順を実行します。
-
キャッシュに使用するSRのUUIDを見つけるには、次のコマンドを実行します。
xe sr-list name-label=Local storage host=host-name-label --minimal) <!--NeedCopy--> -
キャッシュストレージを作成します。
xe pvs-cache-storage-create host=host-name-label pvs-site-uuid=PVS_SITE_UUID \ sr-uuid=SR_UUID size=10GiB <!--NeedCopy-->注:
ストレージリポジトリ(SR)を選択すると、この機能はSR上の指定されたキャッシュサイズまで使用します。また、利用可能なコントロール ドメイン メモリをベストエフォート型のキャッシュ層として暗黙的に使用します。
コントロール ドメイン メモリでのキャッシュストレージの構成
キャッシュストレージにコントロール ドメイン メモリを選択する際には、次の特性を考慮してください。
利点:
メモリを使用すると、キャッシュにアクセスしたり、キャッシュを投入したりする際に、一貫して高速な読み取り/書き込みパフォーマンスが得られます。
欠点:
-
キャッシュストレージに使用されるRAMはVMでは利用できないため、ハードウェアは適切にサイズ設定する必要があります。
-
キャッシュストレージを構成する前に、コントロール ドメイン メモリを拡張する必要があります。
注:
キャッシュをコントロール ドメイン メモリに保存することを選択した場合、この機能は、コントロール ドメイン メモリ内の指定されたキャッシュサイズまで使用します。このオプションは、コントロール ドメインに追加メモリが割り当てられた後にのみ利用可能です。コントロール ドメイン メモリの増加については、「コントロール ドメインに割り当てられるメモリ量の変更」を参照してください。
ホストのコントロール ドメインに割り当てられるメモリ量を増やした後、追加のメモリをPVS-Acceleratorに明示的に割り当てることができます。
コントロール ドメインのメモリにキャッシュ ストレージを構成するには、次の手順を実行します。
-
キャッシュ用に構成するホストのUUIDを見つけるには、次のコマンドを実行します。
xe host-list name-label=host-name-label --minimal <!--NeedCopy--> -
特殊なタイプ
tmpfsのSRを作成します。xe sr-create type=tmpfs name-label=MemorySR host-uuid=HOST_UUID device-config:uri="" <!--NeedCopy-->注:
特殊なタイプ
tmpfsのSRの場合、必須パラメーターname-labelの値は無視され、代わりに固定名が使用されます。 -
キャッシュ ストレージを作成するには、次のコマンドを実行します。
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 Provisioningサイトに移動します。
-
Citrix Provisioningサイトを選択し、右クリックしてコンテキストメニューを表示します。
-
展開に基づいて適切なウィザードを選択します。すべての仮想マシンでPVS-Acceleratorを有効にするオプションを選択して、PVS-Accelerator機能を有効にします。
-
仮想ディスクキャッシュを初めて有効にする場合、ストリーム仮想マシンセットアップウィザードにXenServer画面が表示されます。この画面には、XenServerで構成されているが、まだCitrix Provisioningサイトに関連付けられていないすべてのCitrix Provisioningサイトのリストが表示されます。このリストを使用して、PVS-Acceleratorを適用するCitrix Provisioningサイトを選択します。同じXenServerホストを使用して同じCitrix Provisioningサイトのウィザードを実行する場合、この画面は表示されません。
-
キャッシュ構成を完了するには、次へをクリックします。
-
完了をクリックして、Citrix Virtual DesktopsまたはストリームVMをプロビジョニングし、選択したCitrix ProvisioningサイトをXenServerのPVS Acceleratorに関連付けます。この手順が完了すると、XenCenterのPVS-Accelerator構成ウィンドウにあるPVSサーバーの表示ボタンが有効になります。PVSサーバーの表示ボタンをクリックすると、Citrix Provisioningサイトに関連付けられているすべてのPVSサーバーのIPアドレスが表示されます。
キャッシュ操作
PVS-Accelerator機能は以下をキャッシュします。
-
仮想ディスクからの読み取り(書き込みキャッシュからの書き込みまたは読み取りは除く)
-
イメージバージョンに基づく。複数のVMが同じイメージバージョンを使用する場合、キャッシュされたブロックを共有します。
-
非永続的な書き込みキャッシュタイプを持つデバイス
-
アクセスモードが標準イメージの仮想ディスク。アクセスモードがプライベートイメージの仮想ディスクでは機能しません。
-
タイプが本番またはテストとしてマークされているデバイス。タイプがメンテナンスとしてマークされているデバイスはキャッシュされません。
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 で有効にできます。
- シトリックス プロビジョニング CLI
- Citrix Virtual Desktops セットアップウィザード
- ストリーミング VM セットアップウィザード
- XenCenter
- xe CLI
xe CLI は、VM の VIF を使用して PVS-Accelerator を構成します。これにより、VM の VIF を Citrix Provisioning サイトにリンクする Citrix Provisioning プロキシが作成されます。
VM を構成するには:
-
キャッシュを有効にする VM の最初の VIF を見つけます。
VIF_UUID=$(xe vif-list vm-name-label=pvsdevice_1 device=0 --minimal) <!--NeedCopy--> -
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 に対して無効にできます。
-
VM の最初の VIF を見つけます。
VIF_UUID=$(xe vif-list vm-name-label=pvsdevice_1 device=0 --minimal) <!--NeedCopy--> -
VMのCitrix Provisioning プロキシを見つけます:
PVS_PROXY_UUID=$(xe pvs-proxy-list vif-uuid=$VIF_UUID --minimal) <!--NeedCopy--> -
Citrix Provisioning プロキシを破棄します:
xe pvs-proxy-destroy uuid=$PVS_PROXY_UUID <!--NeedCopy-->
ホストまたはサイトのPVS-Accelerator ストレージを削除する
ホストまたはサイトのPVS-Accelerator ストレージを削除するには:
-
ストレージを破棄したいホストを見つけます:
HOST_UUID=$(xe host-list name-label=HOST_NAME --minimal) <!--NeedCopy--> -
オブジェクトのUUIDを見つけます:
PVS_CACHE_STORAGE_UUID=$(xe pvs-cache-storage-list host-uuid=$HOST_UUID --minimal) <!--NeedCopy--> -
オブジェクトを破棄します:
xe pvs-cache-storage-destroy uuid=$PVS_CACHE_STORAGE_UUID <!--NeedCopy-->
サイトのPVS-Accelerator 構成を忘れる
サイトのPVS-Accelerator 構成を忘れるには:
-
Citrix Provisioning サイトを見つけます:
PVS_SITE_UUID=$(xe pvs-site-list name-label=My PVS Site) <!--NeedCopy--> -
次のコマンドを実行して、Citrix Provisioning サイトを忘れます:
xe pvs-site-forget uuid=$PVS_SITE_UUID <!--NeedCopy-->