Linux VDA のセルフアップデート
この機能は、Linux VDA ソフトウェアを即時またはスケジュールされた時間に自動的に更新するのに役立ちます。特に、Citrix Virtual Apps and Desktops Standard for Azure で Linux VDA を作成する場合に役立ちます。Azure の VM には管理者権限がありません。詳細については、「Citrix Virtual Apps and Desktops Standard for Azure での Linux VDA の作成」を参照してください。
構成
この機能を使用するには、次の手順を実行します。
ステップ 1: 更新情報と新しい VDA パッケージを Azure コンテナにアップロード
ステップ 1a: Azure ストレージアカウントの下にコンテナを作成し、コンテナのアクセスレベルを Blob (匿名読み取りアクセスのみ) に設定します。
注:
Azure コンテナと BLOB は、お客様が排他的に保持および管理します。Citrix® は、それらに関するセキュリティ問題について責任を負いません。データセキュリティとコスト効率を確保するため、セルフアップデートのたびにコンテナのアクセスレベルを Private (匿名アクセスなし) に設定してください。
ステップ 1b: VDA 更新情報を UpdateInfo.json という名前の JSON ファイルに組み込みます。ファイル形式の例については、次のブロックを参照してください。
{
"Version": "21.04.200.4",
"Distributions":[
{
"TargetOS": "RHEL7_9",
"PackageName": "",
"PackageHash": ""
},
{
"TargetOS": "RHEL8_3",
"PackageName": "XenDesktopVDA-21.04.200.4-1.el8_x.x86_64.rpm",
"PackageHash": "a6f2aba23b84bbc3a4640294a8bb92474e0cacbab1e5ae33416c0a4473a28d73"
},
{
"TargetOS": "UBUNTU16_04",
"PackageName": "",
"PackageHash": ""
},
{
"TargetOS": "UBUNTU18_04",
"PackageName": "xendesktopvda_21.04.200.4-1.ubuntu18.04_amd64.deb",
"PackageHash": "4148cc3f25d3717e3cbc19bd953b42c72bd38ee3fcd7f7034c2cd6f2b15b3c5a"
},
{
- "TargetOS": "UBUNTU20_04",
- "PackageName": "",
- "PackageHash": ""
}
]
}
<!--NeedCopy-->
ここで、“Version” は新しい VDA バージョンを示し、“Distributions” は更新オブジェクトの配列です。各オブジェクトには次の 3 つの項目が含まれます。
-
“TargetOS”: “RHEL7_9” (RHEL 7、CentOS 7、および Amazon Linux 2 の場合)、”RHEL8_3”、”UBUNTU16_04”、”UBUNTU18_04”、”UBUNTU20_04” のいずれかである必要があります。
ctxmonitorserviceは他のディストリビューションを認識しません。 - “PackageName”: 指定されたバージョンの VDA パッケージの完全な名前
-
“PackageHash”:
shasum -a 256 <pkgname>コマンドを使用して計算する SHA-256 値
ステップ 1c: JSON ファイルと新しいバージョンの Linux VDA パッケージを Azure コンテナにアップロードします。
ステップ 2: マスターイメージまたは各 VDA でセルフアップデート機能を有効にする
デフォルトでは、セルフアップデートは無効になっています。Citrix Virtual Apps and Desktops™ Standard for Azure で Linux VDA を作成する場合、機能の有効化はマスターイメージで実行する必要があります。それ以外の場合は、各ターゲット VDA で直接機能を有効にします。
セルフアップデートを有効にするには、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\SelfUpdate のレジストリキーを編集するために、次のようなコマンドを実行します。
/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_DWORD" -v "fEnabled" -d "0x00000001" --force
/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "ScheduledTime" -d "Immediately" --force
/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "Url" -d "<Your-Azure-Container-Url>" --force
/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "CaCertificate" -d "<Local-Certificate-Path-of-PortalAzureCom>" --force
<!--NeedCopy-->
次の表は、レジストリ設定について説明しています。
| レジストリ設定 | 説明 |
|---|---|
| fEnabled | この設定は必須です。デフォルトでは、値は 0 で、セルフアップデートが無効であることを意味します。セルフアップデートを有効にするには、1 に設定できます。 |
| Url | この設定は必須です。更新情報と新しい VDA パッケージを取得するための Azure コンテナの URL を設定します。 |
| ScheduledTime | この設定は必須です。Immediately または NextStart に設定できます。Immediately は、VDA パッケージのダウンロード直後にアップデートを実行することを意味します。このオプションは、ダウンロード速度が速く、アップデートが緊急である場合に適しています。ただし、パッケージのダウンロード中にライブセッションがある場合、ユーザーエクスペリエンスを中断する可能性があります。NextStart は、ctxmonitorservice の次回の起動時にアップデートを実行することを意味します。このオプションは、ダウンロード速度が速くなく、アップデートが緊急でない場合に適しています。 |
| CaCertificate | この設定はオプションです。Azure コンテナの URL を検証するための PEM 証明書のフルパスを設定します。Azure BLOB の場合、ブラウザから取得し、PEM に変換された portal.azure.com の証明書を使用できます。セキュリティのため、このレジストリ設定を追加することをお勧めしますが、Ubuntu でのみサポートされています。RHEL では、curl コマンド用の NSS ライブラリの一部がリンクされていません。証明書の最小限の権限を設定するようにしてください。 |
ctxmonitorservice が再起動すると、まず Url を照会して UpdateInfo.json ファイルを取得し、JSON ファイルから更新バージョンを取得します。次に、ctxmonitorservice は更新バージョンを現在のバージョンと比較します。現在のバージョンが以前のものである場合、サービスは Azure から新しいバージョンの VDA パッケージをダウンロードし、ローカルに保存します。その後、ScheduledTime の設定に従ってアップデートを実行します。オンプレミス展開の場合、ctxmonitorservice を直接再起動してアップデートをトリガーできます。ただし、VM への管理者権限がない Citrix Virtual Apps and Desktops Standard for Azure では、ctxmonitorservice は VDA マシンが再起動された後にのみ再起動できます。アップデートが失敗した場合、VDA は既存のバージョンにロールバックされます。
注:
- マスターイメージで構成したレジストリ設定は変更できません。
- 環境内のすべての VM が同時にパッケージをダウンロードすると、ローカルネットワークが輻輳する可能性があります。
- アップデートとロールバックの両方が失敗した場合、ユーザーデータは失われます。
- アップデートが失敗してもロールバックが成功した場合、同じネットワーク上のユーザーは異なるバージョンの Linux VDA を使用している可能性があります。このケースは最適ではありません。
- アップデートは通常、完了までに数分かかります。Citrix Studio にステータスインジケーターはありません。