Linux Virtual Delivery Agent

VDAアップグレード(Technical Preview)

はじめに

以前は、VDAのアップグレードには完全な手動の介入が必要でした。 バージョン2503では、VDA Upgrade Agentを導入することで、DaaS展開のVDAアップグレードがシンプルになります。 バージョン2503以降のアップグレードは、後で共有ファイルパスまたはローカルファイルパスから直接実行できます。

VDA Upgrade Agent ctxvuaは、VDAアップグレードサービスと通信し、次の機能を実行する役割を担います:

  • スケジュールされたチェック:VDA Upgrade Agentは、15分ごとにVDAアップグレードサービスにスケジュールされたアップグレード情報を照会します。
  • 自動アップグレード:アップグレード指示を受信すると、VDA Upgrade AgentはVDAを自動的にアップグレードします。
  • ステータスレポート:VDA Upgrade Agentは、アップグレードの結果(成功または失敗)をVDAアップグレードサービスに報告します。

VDAアップグレードサービスの詳細については、「技術概要: Citrix VDAアップグレードサービス」を参照してください。 サービスの概要、詳細情報、その他役立つリソースを見つけることができます。

注意事項

  • Linux VDAは、基盤となるパッケージ管理コマンド(rpmやaptなど)を使用してアップグレードされ、手動アップグレードプロセスを反映し、構成ファイルはコマンドラインアップグレード中に自動的に処理されます。

  • Windowsとは異なり、Linux VDAには組み込みのVDA Upgrade Agentが含まれています。 エージェントが既に存在するため、アップグレードプロセスがシンプルになります。 VDA Upgrade Agentのバージョンは、VDAバージョンに関連付けられています。

  • デフォルトでは、VDA Upgrade Agentは無効になっています。 エージェントを有効にするには、次のコマンドを実行します:

      /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\UpdateServices\UpdateAgent" -t "REG_DWORD" -v "fEnabled" -d "0x00000001" --force
    
      systemctl start ctxvua.service
    <!--NeedCopy-->
    
  • VDA Upgrade Agentサービス(ctxvua)はデフォルトで無効になっています。 このサービスを有効にして開始するには、systemctlを使用できます。

  • ベストプラクティスとして、実稼働環境に移行する前にVDAのアップグレードを徹底的にテストすることをお勧めします。

  • Windowsとは異なり、Linux VDAのアップグレードはファイルパスからのみサポートされます。 つまり、Azure CDN URLやその他のオンラインリポジトリを直接使用することはできません。 VDAパッケージは自身で管理する必要があります。 これはメジャーバージョンとマイナーバージョンの両方のアップグレードに適用されます。

  • VDAアップグレードサービスの「最新のVDA バージョン」と「アップグレード状態」は無視します。 Linuxの場合、「VDAアップグレードの状態」のみが関連します。

  • VDAパッケージのファイルパスは、VDAマシンに対してローカルにすることも、共有場所(たとえば、VDAにマウントされたネットワーク共有)にすることもできます。 システムはパッケージを自動的にダウンロードするようには設計されていません。 完全なパッケージファイルを提供する必要があります。

  • StudioまたはCitrix DaaS Remote PowerShell SDKを使用するときにパス検証に合格するには、Windows UNCパス形式(\\で始まる)でパスを指定します。 たとえば、/mnt/pkg\/<package-name>は、\\mnt\pkg\<package-name>と入力する必要があります。

  • 「サーバー」VDAと「ワークステーション」VDAの区別はLinuxには適用されません。 アップグレードに影響を与えることなく、StudioまたはPowerShellのいずれかのオプションを使用できます。

  • VDAのダウングレードはサポートされていません。

前提条件

  • コントロールプレーン:Citrix DaaS
  • VDAバージョン:2503以降

    最新のCR VDAを使用することをお勧めします。

  • VDAにはVDA Upgrade Agentがインストールされ、サービスが実行されている必要があります。
  • VDAをアップグレードする権限があります。
  • VDAのアップグレードは、適切なCRまたはLTSRトラックを使用してStudioで設定されます。
  • VDAは使用中ではありません (ユーザーはVDAからサインオフしている必要があります)。
  • VDAはメンテナンスモードではありません (VDAは管理者がメンテナンスモードにすることができます。 登録試行回数の上限を超えた場合、VDAを自動的にメンテナンスモードにすることもできます。)
  • VDAはデリバリーグループに属し、DaaSに登録されている必要があります。
  • アップグレード先のVDAは、現在のVDAのオペレーティングシステムをサポートします。

Studioを使用したVDAのアップグレード

一般的なワークフロー

Studioを使用してVDAをアップグレードするための一般的なワークフローは次のとおりです:

  1. カタログのVDAアップグレードを有効にします。

  2. カタログごとにVDAをアップグレードする. マシンごとのVDAアップグレードは現在利用できません。 詳しくは、「VDAの自動アップグレードの構成」を参照してください。

    カタログのVDAアップグレードをスケジュールするときは、カタログ内のすべてのマシンがアップグレード対象に含まれます。 したがって、アップグレードを開始する前に、これらのマシンのバックアップを作成することをお勧めします。

  3. VDAアップグレードプロセスでは、追加コンポーネントのアップグレードや復元などの機能の使用はサポートされていません。 これら2つの手順をスキップします。

  4. アップグレード時間やアップグレード失敗しきい値などのスケジュールオプションを構成します。 失敗しきい値は、プロセスが停止されるかアラートがトリガーされる前に許容されるアップグレードの失敗回数を決定する可能性があります。

  5. VDAインストーラーの場所として「ローカルファイル共有を使用する」を選択します。 パスはWindows UNC形式で指定します(例:\\server\share\path)。

  6. 「セッションの強制ログオフ」オプションは、VDAのアップグレード中にユーザーセッションを処理する方法を制御します。 Studio UIでは切断されたセッションのみログオフできますが、PowerShellではすべてのセッション(接続済みおよび切断済み)をログオフできます。 ログオフは即時には行われません。 VDA Upgrade Agentがアップグレードスケジュールを照会し、切断されたセッションを見つけた後、VDAアップグレードサービスはログオフを開始します。 その後、エージェントはクエリを再試行する前に15分間待機します。

PowerShellを使用したVDAのアップグレード

Windows上のRemote PowerShell SDKを使用して、VDAのアップグレードを構成できます。 Remote PowerShell SDKについて詳しくは、「Citrix DaaS Remote PowerShell SDK」を参照してください。

以下はPowerShellコマンドレットです:

  • Get-VusCatalog

    このコマンドレットを使用して、NameUidUuidUpgradeStateAvailableUpToDateScheduledUnknown)、Upgrade scheduledStateIdUpgrade scheduledのステータス)などのカタログの詳細を取得します。

  • Get-VusMachine

    このコマンドレットを使用して、MachineNameUidUuidUpgradeStateAvailableUpToDateScheduledUnknown)、StateIdUpgrade scheduledのステータス)などのマシンの詳細を取得します。

  • Get-VusComponentVersion

    このコマンドレットを使用して、VDAがコンポーネントのバージョンを報告したかどうかを確認します。 VDAをフィルタリングするには、MachineIdを使用します。 MachineIdは、Get-BrokerMachineからのUUIDです。

  • New-VusMachineUpgrade

    このコマンドレットを使用して、マシンレベルでVDAのアップグレードを構成します。

  • New-VusCatalogSchedule

    このコマンドレットを使用して、マシンカタログレベルでVDAのアップグレードをスケジュールします。

  Get-BrokerMachine -DNSName 'u22-test*'

  New-VusCatalogSchedule -CatalogName "test-catalog" -UpgradeNow -DurationInHours 2 -LogoffOption ActiveAndDisconnectedSessions -VdaServerPackageUri "\\root\xendesktopvda_24.11.0.1-1.ubuntu22.04_amd64.deb"

  Get-VusComponent -CatalogName 'test-catalog'

  Get-VusCatalog -Name 'test-catalog'
<!--NeedCopy-->

トラブルシューティング

アップグレードプロセスの中核は、VDA Upgrade Agentサービス(ctxvua)を中心に展開されます。 これは仲介役として機能し、VDAアップグレードサービスと通信し、OS関連の操作のために/opt/Citrix/VDA/sbin/update_helper.shスクリプトを実行します。 アップグレード中、プロセスに関する情報がレジストリに保存されます。

レジストリ

VDAアップグレードエージェントに関連するレジストリ設定を調べるには、コマンド**/opt/Citrix/VDA/bin/ctxreg dump grep -i UpdateAgent**を使用します。 これにより、構成の問題やアップグレードプロセス自体の問題が明らかになる可能性があります。
  1. 構成を確認する: ctxvuaサービスの構成ファイルは、/etc/xdl/updateagent.confにあります。 このファイルを確認することは、構成エラーを特定するのに役立ちます。

ログ

次のログファイルはトラブルシューティングに重要です:

  • /var/log/xdl/vua.logctxvuaサービスのログファイル。 これは、アップグレードエージェントの操作に関連した問題を確認するための主要なログです。 ctxvuaサービスの構成ファイルは/etc/xdl/updateagent.confにあります。 このファイルを確認することは、構成エラーを特定するのに役立ちます。

  • /var/log/xdl/update_helper.logupdate_helper.shスクリプトのログファイル。 このログは、アップグレード中のOSレベルのタスクに関連した問題を診断するために不可欠です。

よくある問題

このセクションでは、VDAのアップグレード中に発生する一般的な問題について説明します。特に、Studioの無効なオプションと「アップグレード不明」状態に焦点を当てます。

よくある問題1:アップグレードオプションが無効になっている

症状:特定のカタログに対して、Studioで「Set Upgrade Type」および「VDAのアップグレード」オプションが無効になっています(グレー表示)。

解決策:使用しているカタログの種類でVDAアップグレードサービスがサポートされているかどうかを確認します。 そうでない場合は、これらの自動アップグレード機能を使用することができず、アップグレードを手動で管理する必要があります。

よくある問題2:「アップグレード不明」状態

症状:マシンカタログのVDAアップグレードサービスを有効にした後、「アップグレード状態」が正常に「Available」または「UpToDate」に変更されずに「Unknown」のままになります。 「アップグレード不明」は一時的な状態です。 最終的には「Available」または「UpToDate」に更新されるはずです。

「アップグレード不明」のトラブルシューティング手順

  1. VDAアップグレードエージェントがバージョンを報告していることを確認します。

    • 手順1a:マシンのUUIDを取得します:

           Get-BrokerMachine -DNSName '<hostname>'
       <!--NeedCopy-->
      
    • 手順1b:エージェントによって報告されたコンポーネントのバージョンを確認します:

         Get-VusComponentVersion -MachineId "<UUID>"
       <!--NeedCopy-->
      

      Get-VusComponentVersionコマンドが空白を返す場合、VDAアップグレードエージェントがバージョンを報告していないことを意味します。 これは、VDAが「ハード登録」されていることを示している可能性があります(マシンカタログとデリバリーグループの両方の設定を確認してください)。 また、VDAアップグレードエージェントがターゲットVDAにインストールされていないか、実行されていない可能性があることも示しています。

  2. VDAアップグレードサービスの同期を確認します。

    手順2a:VDAアップグレードサービスがブローカーデータベースからマシンを同期したかどうかを確認します:

    ```    
      Get-VusEntityUnit -EntityUUID ""
    <!--NeedCopy--> ```
    

    判明している場合は、""を実際のEntityUUIDに置き換えます。そうでない場合は、置き換えせずに実行してすべてを取得します。 これが空白になっている場合は、マシンがVDAアップグレードサービスサーバーと同期されていないことを示している可能性があります。

    手順2b:マシンが同期されていない場合は、VDAアップグレードサービスが同期するまでしばらくお待ちください。 次に、「アップグレードタイプ」が設定されていることを確認します。

参照ドキュメント

VDAアップグレード(Technical Preview)