Linux Virtual Delivery Agent

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

この記事では、簡単インストールを使用して、Citrix DaaSまたはCitrix Virtual Apps and Desktops 2407以降でドメイン非参加のLinux VDAを作成し、マシンカタログに登録する方法について説明します。

重要:

  • 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 Web Studioにサインインし、マシンを含まない空のマシンカタログを作成します。 Linux VDAは、電源管理対象のマシンカタログへの登録にトークンファイルの使用をサポートしていません。

マシンカタログを作成し、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をクラウドまたはオンプレミスDelivery Controllerに対して認証するためのトークンファイルが必要です。 Linux VDAは、電源管理対象のマシンカタログへの登録にトークンファイルの使用をサポートしていません。

登録トークンを作成するには、Citrix Web Studioで次の手順を実行します:

ヒント:

Citrix DaaSでは、Web Studioは[完全な構成]と呼ばれます。

  1. 以前に作成した空のマシンカタログを選択してから、操作バーで[登録トークンを管理する]を選択します。

  2. [登録トークンを管理する] ページで、[生成] をクリックして登録トークンを作成します。 または、有効な状態の既存のトークンを選択することもできます。

  3. ウィザードに従って設定を完了します。

  4. 正常に作成されたトークンをダウンロードし、最小限の権限で安全な場所に保存します。 後で簡単インストールスクリプトを実行すると、 CTX_XDL_NDJ_ENROLLMENT_TOKEN_FILE変数の使用によって、VDAを登録するためのトークンファイルへのパスを指定できます。

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

Linux VDAをインストールまたはアップグレードする前に、サポートされているすべてのLinuxディストリビューションに、.NETランタイムに加えて.ASP.NET Coreランタイムをインストールする必要があります。 Amazon Linux 2にはバージョン6が必要です。 他のディストリビューションにはバージョン8が必要です。

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:自己署名CA証明書を追加

自己署名CA証明書をLinux VDAの/etc/ssl/certs/に保存し、Linuxディストリビューションに基づいて次のコマンドを実行してこれらの証明書を更新します:

  • RHEL、Rocky Linux、Amazon Linux 2の場合:

       sudo update-ca-trust
     <!--NeedCopy-->
    
  • SUSE、Ubuntu、Debianの場合:

       sudo update-ca-certificates
     <!--NeedCopy-->
    

手順5: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-->
      

手順6: 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.4/9.3/9.2およびRocky Linux 9.4/9.3/9.2にインストールする前に、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-->
    

手順7: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にインストールします。

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

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のポート番号を構成することもできます。

手順9:簡単インストールを実行して環境と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_DESKTOP_ENVIRONMENT=gnome/gnome-classic/kde/mate/xfce/’<none>‘ – セッションで使用するGNOME、GNOMEクラシック、KDE、MATE、またはXfceデスクトップ環境を指定します。 ‘<none>‘に設定すると、VDAで構成されているデフォルトのデスクトップが使用されます。 CTX_XDL_DESKTOP_ENVIRONMENT変数を使用して、セッションで使用するデスクトップ環境を指定できます。 コマンドを実行したり、システムトレイを使用したりして、デスクトップ環境を切り替えることもできます。 詳しくは、「デスクトップ切り替えコマンド」および「システムトレイ」を参照してください。

  • 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と通信します。

対話モード

対話モードで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|kde|mate|xfce|'<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小文字であることに注意してください)。

手順10:XDPingの実行

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

手順11: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-->

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

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

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

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

重要:

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

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

手順13:ローカルアカウントのマッピングの有効化

ローカルアカウントマッピングが有効になっていない場合

ドメイン非参加のVDAでホストされているセッションはログオン時に失敗し、パスワードプロンプトは表示されますが、正しいパスワードが受け入れられません。 hdx.logには、次のようなエラーが表示されることがあります:

  2024-09-25 06:40:30.767979 [LOGIN_BOX:ERROR] <P124211:T58675:S4> citrix-ctxlogin: PamAuthenticate: pam authentication: Authentication failure.   Can retry for user 'user3'
  2024-09-25 06:40:30.768431 [LOGIN:ERROR] <P124211:T58675:S4> citrix-ctxlogin: LoginBoxValidate: Failed to validate user 'user3'.   Due to INVALID_PASSWORD
  2024-09-25 06:40:30.768947 [LOGIN_AUTH:INFO] <P124218:T58682:S4> citrix-ctxloginui: CalLabelFormat: Update username label on LoginUI from 'user3' to 'user3' (18)
  2024-09-25 06:41:18.766196 [GFX_SLIDER:ERROR] <P124161:T58699:S4> citrix-ctxgfx: GfxCreateSliderListener: Failed to get user home dir.
<!--NeedCopy-->

ローカルアカウントのマッピングの有効化

ユーザーがドメイン非参加のLinux VDAにログオンできるようにするには、次のコマンドを使用してローカルアカウントのマッピングを有効にします:

  Set-BrokerDesktopGroup -Name "<your delivery group name>" -MachineLogOnType LocalMappedAccount
<!--NeedCopy-->

オンプレミス展開の場合は、Delivery Controllerでコマンドを直接実行します。 Citrix DaaS 展開の場合は、Citrix Virtual Apps からコマンドを実行します and Desktops Remote PowerShell SDKからコマンドを実行します。