XenApp and XenDesktop

コネクションリース

重要:

ローカルホストキャッシュ (LHC) は、コネクションリースの代わりに推奨される XenApp および XenDesktop の高可用性ソリューションです。詳細については、ローカルホストキャッシュを参照してください。

  • このリリースでは、XenApp および XenDesktop® の新規インストール時に、コネクションリースはデフォルトで無効になっています。
  • この XenApp and XenDesktop 7.15 長期サービスリリースに続く現行リリース以降、コネクションリースは提供されなくなります。

Site データベースが常に利用可能であることを保証するために、Citrix® は、Microsoft の高可用性のベストプラクティスに従って、フォールトトレラントな SQL Server 展開から開始することを推奨しています。しかし、ネットワークの問題や中断により、Delivery Controller がデータベースにアクセスできなくなり、ユーザーがアプリケーションやデスクトップに接続できなくなる可能性があります。

コネクションリース機能は、Site データベースが利用できない場合でも、ユーザーが最近使用したアプリケーションやデスクトップに接続および再接続できるようにすることで、SQL Server の高可用性のベストプラクティスを補完します。

ユーザーは多数の公開リソースを利用できる場合がありますが、通常はごく一部のリソースしか定期的に使用しません。コネクションリースを有効にすると、各 Controller は、通常の操作中 (データベースが利用可能な場合) に、最近使用されたアプリケーションおよびデスクトップへのユーザー接続をキャッシュします。

各 Controller で生成されたリースは、Site 上の他の Controller と定期的に同期するために Site データベースにアップロードされます。リースに加えて、各 Controller のキャッシュには、アプリケーション、デスクトップ、アイコン、およびワーカーの情報が保持されます。リースおよび関連情報は、各 Controller のローカルディスクに保存されます。データベースが利用できなくなった場合、Controller はリース接続モードに入り、ユーザーが StoreFront から最近使用したアプリケーションまたはデスクトップに接続または再接続しようとすると、キャッシュされた操作を「再生」します。

接続は2週間のリース期間でキャッシュされます。したがって、データベースが利用できなくなった場合、ユーザーが過去2週間に起動したデスクトップとアプリケーションは、StoreFront を介してそのユーザーに引き続きアクセス可能です。ただし、過去2週間のリース期間中に起動されていないデスクトップとアプリケーションは、データベースが利用できない場合はアクセスできません。たとえば、ユーザーが最後にアプリケーションを起動したのが3週間前の場合、そのリースは期限切れになっており、データベースが現在利用できない場合、そのユーザーはそのアプリケーションを起動できません。長時間実行されているアクティブまたは切断されたアプリケーションまたはデスクトップセッションのリースは、期限切れと見なされないように延長されます。

デフォルトでは、コネクションリースは Site 全体に影響します。ただし、特定のユーザーのすべてのリースを取り消すことができ、これにより、Controller がリース接続モードのときに、それらのユーザーがアプリケーションやデスクトップにアクセスできなくなります。他のいくつかのレジストリ設定は、Controller ごとに適用されます。

考慮事項と制限事項

コネクションリースは接続の回復性とユーザーの生産性を向上させることができますが、他の機能の可用性、操作、およびパフォーマンスに関連する考慮事項があります。

コネクションリースは、サーバーホスト型アプリケーションおよびデスクトップ、ならびに静的 (割り当て済み) デスクトップでサポートされています。データベースが利用できなくなった場合に、プールされた VDI デスクトップやデスクトップが割り当てられていないユーザーにはサポートされていません。

Controller がリース接続モードの場合:

  • 管理者はStudio、Director、またはPowerShellコンソールを使用できません。

  • Workspace Controlは利用できません。ユーザーがCitrix Receiver™にログオンしても、セッションは自動的に再接続されません。ユーザーはアプリケーションを再起動する必要があります。

  • データベースが利用できなくなる直前に新しいリースが作成されたが、リース情報がすべてのControllerにまだ同期されていない場合、データベースが利用できなくなった後、ユーザーはそのリソースを起動できない可能性があります。

  • サーバーでホストされているアプリケーションおよびデスクトップのユーザーは、構成されたセッション制限よりも多くのセッションを使用する場合があります。例:

    • Controllerがリース接続モードではないときに、ユーザーが1つのデバイス(NetScaler® Gatewayを介して外部から接続)からセッションを起動し、その後、Controllerがリース接続モードであるときにLAN上の別のデバイスから接続した場合、セッションがローミングしないことがあります。
    • データベースが利用できなくなる直前にアプリケーションが起動した場合、セッションの再接続が失敗することがあります。そのような場合、新しいセッションとアプリケーションインスタンスが起動されます。
  • 静的(割り当て済み)デスクトップは電源管理されません。Controllerがリース接続モードに入ったときに電源がオフになっているVDAは、管理者が手動で電源をオンにしない限り、データベース接続が復元されるまで利用できません。

  • セッションの事前起動とセッションの維持が有効になっている場合、新しい事前起動セッションは開始されません。データベースが利用できない間、事前起動および維持されているセッションは、構成されたしきい値に従って終了されません。

  • Site内の負荷管理に影響が出る可能性があります。サーバーベースの接続は、最も最近使用されたVDAにルーティングされます。負荷評価器(特にセッション数ルール)が超過する可能性があります。

  • SQL Server Management Studioを使用してデータベースをオフラインにした場合、Controllerはリース接続モードに入りません。代わりに、次のいずれかのTransact-SQLステートメントを使用してください。

    • データベースを変更 <database-name> オフラインに設定 即時ロールバックを伴う
    • ALTER DATABASE <database-name> SET OFFLINE WITH ROLLBACK AFTER <seconds>

    どちらのステートメントも、保留中のトランザクションをキャンセルし、Controllerがデータベースとの接続を失う原因となります。その後、Controllerはリース接続モードに入ります。

接続リースが有効になっている場合、ユーザーが接続または再接続できない2つの短い期間があります。(1) データベースが利用できなくなった時点からControllerがリース接続モードに入るまで、および (2) Controllerがリース接続モードから変更され、データベースアクセスが完全に復元され、VDAが再登録されるまで。

デフォルト以外のセッションローミング値を構成した場合、Controllerがリース接続ノードに入ると、セッションの再接続はデフォルト値に戻ります。詳細については、「接続リースとセッションローミング」を参照してください。

接続リースデータがどこに保存されているかについては、ゾーンの記事を参照してください。

構成と展開

接続リースに対応するように展開を構成する場合:

  • VDAは最低バージョン7.6である必要があり、それらのマシンを使用するマシンカタログとデリバリーグループもその最低レベル(またはそれ以降のサポートされるバージョン)である必要があります。
  • サイトデータベースのサイズ要件が増加します。
  • 各コントローラーには、キャッシュされたリースファイル用の追加ディスク領域が必要です。

接続リースは、PowerShell SDKまたはWindowsレジストリから有効または無効にできます。PowerShell SDKからは、現在のリースを削除することもできます。以下のPowerShellコマンドレットは接続リースに影響します。詳細については、コマンドレットのヘルプを参照してください。

  • Set-BrokerSite -ConnectionLeasingEnabled $true|$false - Turns connection leasing on or off. Default = $true
  • Get-BrokerServiceAddedCapability - ローカルコントローラーに対して「コネクションリーシング」を出力します。
  • Get-BrokerLease - すべての、またはフィルターされた現在のリースセットを取得します。
  • Remove-BrokerLease - 1つまたはフィルターされたリースセットを削除対象としてマークします。
  • Update-BrokerLocalLeaseCache – ローカルコントローラー上の接続リースキャッシュを更新します。データは次回の同期中に再同期されます。
コネクションリース