Linux Virtual Delivery Agent

簡単インストールを使用したドメイン非参加Linux VDAの作成(Technical Preview)

この記事では、簡単インストールを使用して、Citrix DaaSでドメイン非参加のLinux VDAを作成する方法について説明します。

重要:

  • ドメイン非参加VDAは、Citrix DaaSでサポートされます。
    • コントロールプレーンは、Citrix DaaS経由で展開する必要があります。
    • ドメイン非参加VDAは、パブリッククラウドまたはオンプレミスのデータセンターに展開できます。ドメイン非参加VDAは、Citrix DaaSのコントロールプレーンによって管理されます。
    • ドメイン非参加のVDAを作成する場合、Citrix Gatewayサービスを利用しているお客様は、Rendezvous V2が有効になっていることを確認する必要があります。Cloud Connector:オンプレミスハイパーバイザーでマシンをプロビジョニングする予定の場合、またはWorkspaceでActive DirectoryをIDプロバイダーとして使用する場合にのみ必要です。
  • ドメイン非参加VDAを作成するには、MCSを使用することもできます。詳しくは、「MCSを使用したドメイン非参加Linux VDAの作成」を参照してください。
    • MCSはベアメタルサーバーをサポートしていません。
  • ドメイン非参加のLinux VDAでは、次の機能を使用できます:

手順1:マシンカタログの作成

マシンを含まない空のマシンカタログを作成します。たとえば、Citrix Remote PowerShell SDKを使用して次のコマンドを実行し、Your-catalog-nameという名前でシングルセッションOSマシンをサポートする空のマシンカタログを作成します。

New-BrokerCatalog -AllocationType 'Static' -Description 'Your description' -MinimumFunctionalLevel 'L7_20' -Name 'Your-catalog-name' -SessionSupport 'SingleSession' -PersistUserChanges 'OnLocal' -ProvisioningType 'Manual' -MachinesArePhysical $true
<!--NeedCopy-->

作成したカタログのUUIDを記録しておきます。UUIDは、後で登録トークンを作成するときに必要になります。

マシンカタログを作成し、Linux VDAマシンを追加する手順は、従来のWindows VDAでの方法と似ています。このタスクを完了する方法の説明について詳しくは、「マシンカタログの作成」および「マシンカタログの管理」を参照してください。

次のように、Linux VDAマシンを含むマシンカタログの作成にはいくつかの制約があるため、Windows VDAマシンのマシンカタログの作成手順と異なる点があります:

  • オペレーティングシステムには、次を選択します:

    • ホストされる共有デスクトップ配信モデルの場合、マルチセッションOSオプション。
    • VDI専用デスクトップ配信モデルの場合、シングルセッションOSオプション。
  • 同じマシンカタログで、Linux VDAマシンとWindows VDAマシンを混在させないでください。
  • 同じマシンカタログ内にドメインに参加済みマシンとドメイン非参加マシンを混在させないでください。
  • リモートPCアクセスのマシンカタログは、ドメイン参加済みマシンのみでサポートされており、ドメイン非参加マシンではサポートされません。

注:

Citrix Studioの以前のバージョンは、「Linux OS」という概念をサポートしていません。ただし、[WindowsサーバーOS] オプションまたは [サーバーOS] オプションを選択すると、同等のホストされる共有デスクトップ配信モデルが暗黙的に選択されます。[WindowsデスクトップOS] オプションまたは [デスクトップOS] オプションを選択すると、マシンごとに単一ユーザーの配信モデルが暗黙的に選択されます。

手順2:VDA登録トークンの作成

簡単インストールを使用してドメイン非参加VDAを作成するには、VDAをマシンカタログに登録し、そのVDAをCitrix Cloudコントロールプレーンに対して認証するためのトークンファイルが必要です。Linux VDAは、電源管理対象のマシンカタログへの登録にトークンファイルの使用をサポートしていません。

登録トークンを作成するには、次のようなHTTP POSTメッセージをURLに送信します:[DdcServerAddress]/citrix/orchestration/api/techpreview/{customerid}/{siteid}/enrollments

POST https://[DdcServerAddress]/citrix/orchestration/api/techpreview/[customerid]/[siteid]/enrollments HTTP/1.1
Accept: application/json
Content-Type: application/json; charset=utf-8
Authorization: Bearer <bearer-token>

{
  "TokenName": "string",
  "IssuedToUser": "string",
  "ExpirationDate": "2023-10-13T08:00:25.796Z",
  "NotValidBeforeDate": "2023-10-13T08:00:25.796Z",
  "NumMachinesAllowed": number,
  "CatalogId": "string"
}
<!--NeedCopy-->

HTTP POSTメッセージで、CatalogIdを前に作成したマシンカタログのUUIDに設定し、必要に応じて[DdcServerAddress]を次のいずれかに設定します:

  • 商用 https://[customerid].xendesktop.net
  • Japan https://[customerid].apps.citrixworkspacesapi.jp
  • Government https://[customerid].xendesktop.us

手順3:.NETのインストール

Linux VDAをインストールする前に、Linuxディストリビューションに応じた.NETをインストールします:

  • RHEL 7.9およびAmazon Linux 2を除く、サポートされているすべてのLinuxディストリビューションに.NET Runtime 8.0をインストールします。
  • RHEL 7.9およびAmazon Linux 2の場合は、.NET Runtime 6.0のインストールを続行します。

Linuxディストリビューションに必要な.NETバージョンが含まれている場合は、組み込みフィードからインストールします。それ以外の場合は、Microsoftパッケージフィードから.NETをインストールします。詳しくは、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managersを参照してください。

.NETのインストール後、which dotnetコマンドを実行してランタイムパスを特定します。

コマンド出力に基づいて、.NETランタイムのバイナリパスを設定します。たとえば、コマンド出力が/aa/bb/dotnetの場合、/aa/bbを.NETバイナリパスとして使用します。

手順4:Linux VDAパッケージのダウンロード

  1. Citrix Virtual Apps and Desktopsのダウンロードページにアクセスします。
  2. 適切なバージョンのCitrix Virtual Apps and Desktopsを展開します。
  3. Componentsを展開してLinux VDAを見つけます。例:

    Citrix Virtual Apps and Desktopsのコンポーネント

  4. Linux VDAのリンクをクリックして、Linux VDAのダウンロードファイルにアクセスします。

    Linux VDAのダウンロードファイル

  5. 使用中のLinuxディストリビューションに対応したLinux VDAパッケージをダウンロードします。

  6. Linux VDAパッケージの整合性を検証するために使用できるGPG公開キーをダウンロードします。例:

    GPG公開キー

    公開キーを使用してLinux VDAパッケージの整合性を検証するには:

    • RPMパッケージの場合は、次のコマンドを実行して公開キーをRPMデータベースにインポートし、パッケージの整合性を確認します:

       rpmkeys --import <path to the public key>
       rpm --checksig --verbose <path to the Linux VDA package>
       <!--NeedCopy-->
      
    • DEBパッケージの場合は、次のコマンドを実行して公開キーをDEBデータベースにインポートし、パッケージの整合性を確認します。

       sudo apt-get install dpkg-sig
       gpg --import <path to the public key>
       dpkg-sig --verify <path to the Linux VDA package>
       <!--NeedCopy-->
      

手順5:Linux VDAパッケージのインストール

Linux VDAの環境をセットアップするには、次のコマンドを実行します。

Amazon Linux 2、CentOS、RHEL、Rocky Linuxディストリビューションの場合:

注:

  • RHELおよびCentOSの場合、Linux VDAを正常にインストールする前に、EPELリポジトリをインストールします。EPELのインストール方法については、https://docs.fedoraproject.org/en-US/epel/の説明を参照してください。

  • Linux VDAをRHEL 9.3/9.2/9.0およびRocky Linux 9.3/9.2/9.0にインストールする前に、libsepolパッケージをバージョン3.4以降に更新します。

sudo yum  -y localinstall   <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

注:

GCPでホストされているRHEL 8.x/9.xおよびRocky Linux 8.x/9.xにLinux VDAをインストールすると、イーサネット接続が失われ、仮想マシンの再起動後にLinux VDAにアクセスできなくなることがあります。この問題を回避するには、仮想マシンに初めてログオンするときにルートパスワードを設定し、ルートとして仮想マシンにログオンできることを確認します。次に、仮想マシンを再起動した後、コンソールで次のコマンドを実行します:

nmcli dev connect eth0
systemctl restart NetworkManager
<!--NeedCopy-->

Ubuntu/Debianディストリビューション

sudo dpkg -i <PATH>/<Linux VDA deb>
sudo apt-get install -f
<!--NeedCopy-->

注:

  • Debian 11ディストリビューションに必要な依存関係をインストールするには、/etc/apt/sources.listファイルに「deb http://deb.debian.org/debian/ bullseye main」行を追加します。

  • GCP上のUbuntu 20.04の場合、RDNSを無効にします。これを行うには、/etc/krb5.confの[libdefaults]rdns = false行を追加します。

SUSEディストリビューションの場合:

  1. AWS、Azure、およびGCPのSUSE 15.5の場合は、以下を確認してください:

    • libstdc++6バージョン12以降を使用している。
    • /etc/sysconfig/windowmanagerDefault_WMパラメーターがgnomeに設定されている。
  2. 次のコマンドを実行して、Linux VDAをインストールします:

    zypper -i install <PATH>/<Linux VDA RPM>
    <!--NeedCopy-->
    

手順6:NVIDIA GRIDドライバーのインストール

HDX 3D Proを有効にするには、ハイパーバイザーとVDAマシンにNVIDIA GRIDドライバーをインストールする必要があります。

特定のハイパーバイザーにNVIDIA GRID Virtual GPU Manager(ホストドライバー)をインストールして構成するには、次のガイドを参照してください:

NVIDIA GRIDゲストVMドライバーをインストールして構成するには、次の一般的な手順を実行します:

  1. ゲストVMがシャットダウンされていることを確認します。
  2. ハイパーバイザーのコントロールパネルで、GPUをVMに割り当てます。
  3. 仮想マシンを起動します。
  4. ゲストVMドライバーをVMにインストールします。

手順7:使用するデータベースの指定

Linux VDAパッケージのインストール後、/etc/xdl/db.confを編集して使用するSQLiteまたはPostgreSQLを指定できます。

そのためには、/etc/xdl/db.confを編集してからsudo /opt/Citrix/VDA/sbin/ctxinstall.shまたは/opt/Citrix/VDA/bin/easyinstallを実行します。

注:

  • SQLiteはVDIモードにのみ使用することをお勧めします。
  • 簡単インストールとMCSのために、SQLiteとPostgreSQLは、それぞれを手動でインストールすることなく指定することができます。/etc/xdl/db.confで特に指定しない限り、Linux VDAはデフォルトでPostgreSQLを使用します。
  • /etc/xdl/db.conf を使用してPostgreSQLのポート番号を構成することもできます。

手順8:簡単インストールを実行して環境とVDAを構成し、インストールを完了します

Linux VDAパッケージのインストール後、ctxinstall.shスクリプトを使用して、実行環境を構成します。

注:

ランタイム環境をセットアップする前に、en_US.UTF-8ロケールがOSにインストールされていることを確認します。OSにこのロケールがない場合は、sudo locale-gen en_US.UTF-8コマンドを実行します。Debianの場合は、# en_US.UTF-8 UTF-8行のコメントを解除して/etc/locale.genファイルを編集してから、sudo locale-genコマンドを実行します。

ctxinstall.sh

ctxinstall.shは、いくつかの事前構成とVDA実行環境変数のセットアップを行うための、簡単インストールのスクリプトです。

  • このスクリプトはrootのみが実行できます。

  • 簡単インストールでは、使用されるすべての環境変数の値を設定、保存、および同期するための構成ファイルとして、/opt/Citrix/VDA/sbin/ctxinstall.confを使用します。テンプレート(ctxinstall.conf.tmpl)をよく読んだ上で、独自のctxinstall.confをカスタマイズすることをお勧めします。構成ファイルを初めて作成するときは、次のいずれかの方法を使用します:
    • /opt/Citrix/VDA/sbin/ctxinstall.conf.tmplテンプレートファイルをコピーして、/opt/Citrix/VDA/sbin/ctxinstall.confとして保存する。
    • ctxinstall.shを実行する。ctxinstall.shを実行するたびに、入力値は/opt/Citrix/VDA/sbin/ctxinstall.confに保存されます。
  • 簡単インストールではモジュール形式の実行をサポートします。モジュールには、事前チェック、インストール、ドメイン構成、セットアップ、検証が含まれます。

  • このスクリプトのデバッグについて詳しくは、/var/log/xdl/ctxinstall.logで確認できます。

詳しくは、ヘルプコマンドctxinstall.sh -hを使用してご確認ください。

注:

  • 最小特権の原則に従い、ルートユーザーのみが/opt/Citrix/VDA/sbin/ctxinstall.confの読み取りができるようにします。これは、ドメイン参加パスワードがファイルに設定されている可能性があるためです。
  • Linux VDAをアンインストールすると、/opt/Citrix/VDAにあるファイルが削除されます。VDAをアンインストールする前に、/opt/Citrix/VDA/sbin/ctxinstall.confのバックアップを作成することをお勧めします。

ctxinstall.shは対話モードまたはサイレントモードで実行できます。スクリプトを実行する前に、次の環境変数を設定します:

  • CTX_XDL_NON_DOMAIN_JOINED=’y|n’ – マシンをドメインに参加させるかどうか。デフォルト値は’n’です。ドメイン非参加シナリオの場合は’y’に設定します。

  • CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE=’<path-to-token-file-on-vda-machine>’ – 簡単インストールを使用してドメインに非参加VDAを作成するには、VDAをDelivery Controllerのマシンカタログに登録するためのトークンファイルが必要です。トークンを、適切なパスの下にある最小限の権限を持つファイルに保存します。

  • CTX_XDL_VDI_MODE=’y|n’ – 専用デスクトップ配信モデル(VDI)またはホストされる共有デスクトップ配信モデルのどちらとしてマシンを構成するかを決定します。HDX 3D Pro環境の場合は、値を ‘y’ に設定します。
  • CTX_XDL_HDX_3D_PRO=’y|n’ - Linux VDAでは、HDX 3D Proがサポートされます。これは、強力なグラフィックアプリケーションの仮想化を最適にするための一連のGPUアクセラレーションテクノロジです。HDX 3D Proを選択した場合、VDAはVDIデスクトップ(シングルセッション)モード用に構成されます(つまり、CTX_XDL_VDI_MODE=’y’となります)。

  • CTX_XDL_START_SERVICE = ‘y|n’ - 構成の完了時にLinux VDAサービスが開始されるようにするかどうかを指定します。

  • CTX_XDL_REGISTER_SERVICE = ‘y|n’ - Linux Virtual Desktopサービスは、マシンの起動後に開始します。

  • CTX_XDL_ADD_FIREWALL_RULES = ‘y|n’ - Linux VDAサービスでは、ネットワーク受信接続がシステムのファイアウォールの通過を許可されている必要があります。Linux Virtual Desktop用に、システムのファイアウォールの必要なポート(デフォルトではポート80およびポート1494)を自動で開放できます。

  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/gnome-classic/mate - セッションで使用するGNOME、GNOMEクラシック、またはMATEデスクトップ環境を指定します。変数を指定しないままにすると、VDAで構成済みのデフォルトデスクトップが使用されます。

  • CTX_XDL_DOTNET_RUNTIME_PATH=’<path-to-install-dotnet-runtime>’ – 新しいブローカーエージェントサービス(ctxvda)をサポートするための.NETをインストールするパス。デフォルトのパスは’/usr/bin’です。

  • CTX_XDL_VDA_PORT=’<port-number>’ – Linux VDAは、TCP/IPポート経由でDelivery Controllerと通信します。

注意事項

  • 次の手順を実行して、ターゲットセッションユーザーのデスクトップ環境を変更することもできます:

    1. VDAの $HOME/<username> ディレクトリに.xsessionまたは.Xclientsファイルを作成します。ここで、usernameはユーザー名です。Amazon Linux 2を使用している場合は、.Xclientsファイルを作成します。他のディストリビューションを使用している場合は、.xsessionファイルを作成します。
    2. .xsessionまたは.Xclientsファイルを編集して、ディストリビューションに基づいてデスクトップ環境を指定します。

      • MATEデスクトップの場合

         MSESSION="$(type -p mate-session)"  
         if [ -n "$MSESSION" ]; then  
         exec mate-session  
         fi
         <!--NeedCopy-->
        
      • GNOMEクラシックデスクトップの場合

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         export GNOME_SHELL_SESSION_MODE=classic  
         exec gnome-session --session=gnome-classic  
         fi  
         <!--NeedCopy-->
        
      • GNOMEデスクトップの場合

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi  
         <!--NeedCopy-->
        
    3. ターゲットセッションユーザーと700ファイルのアクセス権限を共有します。

    バージョン2209以降、セッションユーザーはデスクトップ環境をカスタマイズできます。この機能を有効にするには、事前にVDAに切り替え可能なデスクトップ環境をインストールする必要があります。詳しくは、「セッションユーザーによるカスタムデスクトップ環境」を参照してください。

対話モード

対話モードでctxinstall.shスクリプトを実行するには、sudo /opt/Citrix/VDA/sbin/ctxinstall.shコマンドを-Sオプションなしで使用します。コマンドラインインターフェイスのプロンプトごとに、関連する変数値を入力します。変数が既に設定されている場合、ctxinstall.shは、変数の変更が必要かの確認を求めます。

サイレントモード

サイレントモードでは、 /opt/Citrix/VDA/sbin/ctxinstall.confまたはexportコマンドを使用して上記の変数を設定する必要があります。その後、ctxinstall.sh -S を実行します(ここでのSの文字は大文字であることに注意してください)。必要なすべての変数が設定されていないか一部の値が無効である場合、デフォルト値がない限り、ctxinstall.shは実行を中止します。

これを設定すると、各変数のエクスポートされた値は、既に設定されていない限り/Citrix/VDA/sbin/ctxinstall.confの値を上書きします。すべての更新された値は、/Citrix/VDA/sbin/ctxinstall.confに保存されます。

export CTX_XDL_NON_DOMAIN_JOINED='y'
export CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE='<token-file-path>'
export CTX_XDL_VDI_MODE='y|n'
export CTX_XDL_START_SERVICE='y|n'
export CTX_XDL_REGISTER_SERVICE='y|n'
export CTX_XDL_ADD_FIREWALL_RULES='y|n'
export CTX_XDL_HDX_3D_PRO='y|n'
export CTX_XDL_DESKTOP_ENVIRONMENT= gnome | gnome-classic | mate | '<none>'
export CTX_XDL_DOTNET_RUNTIME_PATH='<path-to-install-dotnet-runtime>'
export CTX_XDL_VDA_PORT='<port-number>'
sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh -S
<!--NeedCopy-->

sudoコマンドに-Eオプションを指定して実行し、作成する新しいシェルに既存の環境変数を渡します。最初の行として #!/bin/bash を記述し、前述のコマンドからなるシェルスクリプトファイルを作成することをお勧めします。

または、次のようにして、1つのコマンドですべての変数を指定することができます。

VDA実行環境変数(「CTX_XDL_」で始まる変数)を設定するには、ctxinstall.sh -s を実行できます(文字s小文字であることに注意してください)。

手順9:XDPingの実行

sudo /opt/Citrix/VDA/bin/xdpingを実行して、Linux VDA環境での一般的な構成の問題を確認します。詳しくは、「XDPing」を参照してください。

手順10:Linux VDAの実行

Linux VDAの起動:

Linux VDAサービスを起動するには、次のコマンドを実行します:

sudo systemctl start ctxhdx.service

sudo systemctl start ctxvda.service
<!--NeedCopy-->

Linux VDAの停止:

Linux VDAサービスを停止するには、次のコマンドを実行します:

sudo systemctl stop ctxvda.service

sudo systemctl stop ctxhdx.service
<!--NeedCopy-->

注:

ctxvdaおよびctxhdxサービスを停止する前に、systemctl stop ctxmonitordコマンドを実行して監視サービスデーモンを停止します。これを実行しない場合、監視サービスデーモンは停止したサービスを再起動します。

Linux VDAの再起動:

Linux VDAサービスを再起動するには、次のコマンドを実行します:

sudo systemctl stop ctxvda.service

sudo systemctl restart ctxhdx.service

sudo systemctl start ctxvda.service
<!--NeedCopy-->

Linux VDAの状態の確認:

Linux VDAサービスの実行状態を確認するには、次のコマンドを実行します:

sudo systemctl status ctxvda.service

sudo systemctl status ctxhdx.service
<!--NeedCopy-->

手順11:デリバリーグループの作成

デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加する手順は、Windows VDAマシンの場合とほとんど同じです。このタスクを完了する方法の説明について詳しくは、「デリバリーグループの作成」を参照してください。

Linux VDAマシンカタログを含むデリバリーグループを作成する場合は、次の制約があります:

  • 選択するADユーザーおよびグループを、Linux VDAマシンにログオンするように適切に構成しておきます。
  • 認証されていない(匿名)ユーザーのログオンを許可しないでください。
  • Windowsマシンを含むマシンカタログをデリバリーグループで混在させないでください。

重要:

アプリケーションの公開は、Linux VDAバージョン1.4以降でサポートされています。ただし、同一マシンへのデスクトップおよびアプリの配信は、Linux VDAでサポートされていません。

マシンカタログおよびデリバリーグループの作成方法について詳しくは、「Citrix Virtual Apps and Desktops 7 2402 LTSR」を参照してください。