Linux Virtual Delivery Agent

Machine Creation Services(MCS)を使用したLinux VDAの作成

MCSを使用して、ドメイン参加済みVDAとドメイン非参加VDAを作成できます。 Citrix DaaSでドメイン非参加のLinux VDAを作成する場合は、専用の記事「MCSを使用したドメイン非参加Linux VDAの作成」も参照してください。

重要:

2212リリース以降の重要な変更点は次のとおりです:

  • /etc/xdl/mcs/mcs.confファイルまたは簡単インストールのGUIでAD_INTEGRATION変数にデフォルト値はなくなりました。 必要に応じて値を設定する必要があります。 詳しくは、この記事の「手順3i:MCS変数を構成する」セクションを参照してください。
  • /etc/xdl/mcs/mcs.confのUPDATE_MACHINE_PWエントリに対する有効な値は、enableddisabledではなく、YまたはNになりました。 詳しくは、この記事の「マシンアカウントのパスワードの更新を自動化」セクションを参照してください。

サポートされているディストリビューション

  Winbind SSSD Centrify PBIS
Debian 11.9 はい はい いいえ はい
RHEL 9.4/9.3/9.2/9.0 はい はい いいえ いいえ
RHEL 8.10/8.9/8.8/8.6 はい はい はい はい
Rocky Linux 9.4/9.3/9.2/9.0 はい はい いいえ いいえ
Rocky Linux 8.10/8.9/8.8/8.6 はい はい いいえ いいえ
RHEL 7.9、CentOS 7.9 はい はい はい はい
SUSE 15.5 はい はい いいえ はい
Ubuntu 22.04、Ubuntu 20.04 はい はい いいえ はい
  • Citrix製品では、関連するLinuxディストリビューションの初期の機能検証に次のCentrifyバージョンを使用します:

    Linuxディストリビューション Centrifyバージョン
    RHEL 7/8 5.8.0
    SUSE 5.7.1
    Debian、Ubuntu 5.6.1

    ほかのバージョンのCentrifyを使用すると、エラーが発生する可能性があります。 Centrifyを使用してテンプレートマシンをドメインに追加しないでください。

  • MCSで作成されたマシンをWindowsドメインに参加させるためにPBISまたはCentrifyを使用している場合は、次のタスクを実行してください:

    • テンプレートマシンで、/etc/xdl/mcs/mcs.confファイルにPBISまたはCentrifyパッケージのダウンロードパスを設定するか、PBISまたはCentrifyパッケージを直接インストールします。

    • /opt/Citrix/VDA/sbin/deploymcs.shを実行する前に、MCSで作成された下位のすべてのマシンに対する書き込みおよびパスワードのリセット権限を持つ組織単位(OU)を作成します。

    • /opt/Citrix/VDA/sbin/deploymcs.shの実行が終了した後、MCSで作成されたマシンを再起動する前に、環境に応じて、Delivery ControllerまたはCitrix Cloud Connectorでklist -li 0x3e4 purgeを実行します。

  • SSSDをMCSのテンプレート仮想マシンとして使用して、ドメインに接続された現在実行中のRHEL 8.x/9.xまたはRocky Linux 8.x/9.x VDAを使用するには、次のことを確認してください:

    • VDAは簡単インストールではなく手動でインストールします。 簡単インストールはRHEL 8.x/9.xおよびRocky Linux 8.x/9.xでAdcliを使用します。SSSDとAdcliの組み合わせはMCSではサポートされていません。
    • Sambaサーバーは、AD認証にSSSDを使用するように構成されています。 詳しくは、https://access.redhat.com/solutions/3802321のRed Hatの記事を参照してください。

サポートされるハイパーバイザー

  • AWS
  • XenServer(旧称Citrix Hypervisor)
  • GCP
  • Microsoft Azure
  • Nutanix AHV
  • VMware vSphere

サポート対象ではないハイパーバイザーでマスターイメージを準備しようとすると、予期しない問題が発生することがあります。

MCSを使用したLinux仮想マシンの作成

注意事項

  • 2203リリース以降、Microsoft Azure、AWS、およびGCPでLinux VDAをホストすることは、Citrix DaaS(旧称Citrix Virtual Apps and Desktopsサービス)でサポートされていました。 これらのパブリッククラウドホスト接続をCitrix Virtual Apps and Desktops展開環境に追加する場合は、Citrix Universalハイブリッドマルチクラウド(HMC)ライセンスが必要です。

  • MCSを使用して仮想マシンを作成する場合、ベアメタルサーバーはサポートされません。

(Nutanixの場合のみ)手順1:Nutanix AHVプラグインのインストールと登録

NutanixからNutanix AHVプラグインパッケージを入手し、 Citrix Virtual Apps and Desktops環境にプラグインをインストールして登録します。 詳しくは、NutanixサポートポータルにあるNutanix Acropolis MCSプラグインのインストールガイドを参照してください。

手順1a:オンプレミスDelivery Controller用のNutanix AHVプラグインをインストールして登録する

Citrix Virtual Apps and Desktopsをインストールした後、[XD MCS AHV Plugin]を選択してDelivery Controllerにインストールします。

オンプレミスDelivery Controller用のNutanix AHVプラグイン

手順1b:クラウドDelivery Controller用のNutanix AHVプラグインをインストールして登録する

Citrix Cloud Connector用に [CWA MCS AHV Plugin] を選択してインストールします。 Citrix Cloudテナントに登録されているすべてのCitrix Cloud Connectorにプラグインをインストールします。 AHVなしでリソースの場所にサービスを提供する場合でも、Citrix Cloud Connectorを登録する必要があります。

手順1c:プラグインをインストールした後、次の手順を実行する

  • Nutanix AcropolisフォルダーがC:\Program Files\Common Files\Citrix\HCLPlugins\CitrixMachineCreation\v1.0.0.0に作成されていることを確認します。
  • 「C:\Program Files\Common Files\Citrix\HCLPlugins\RegisterPlugins.exe" -PluginsRoot "C:\Program Files\Common Files\Citrix\HCLPlugins\CitrixMachineCreation\v1.0.0.0」コマンドを実行します。
  • オンプレミスのDelivery ControllerでCitrix Host、Citrix Broker、およびCitrix Machine Creation Servicesを再起動するか、Citrix Cloud ConnectorでCitrix RemoteHCLServer Serviceを再起動します。

ヒント:

Nutanix AHVプラグインをインストールまたは更新するときは、Citrix Host、Citrix Broker、およびMachine Creation Servicesを停止してから再起動することをお勧めします。

手順2:ホスト接続の作成

このセクションでは、Azure、AWS、XenServer(旧称Citrix Hypervisor)、GCP、Nutanix AHV、およびVMware vSphereへのホスト接続を作成する方法の例を示します。

オンプレミスのDelivery Controllerの場合は、オンプレミスのCitrix Studioで[構成]>[ホスト]>[接続およびリソースの追加]の順に選択してホスト接続を作成します。 クラウドのDelivery Controllerの場合は、Citrix CloudのWebベースのStudioコンソールで[管理]>[ホスト]>[接続およびリソースの追加]の順に選択し、ホスト接続を作成します。

詳しくは、Citrix Virtual Apps and Desktopsのドキュメントの「接続とリソースの作成と管理」およびCitrix DaaSドキュメントの 「接続の作成と管理」 を参照してください。

Citrix StudioでのAzureへのホスト接続の作成

  1. オンプレミスのDelivery Controllerの場合は、オンプレミスのCitrix Studioで[構成]>[ホスト]>[接続およびリソースの追加]の順に選択してホスト接続を作成します。 クラウドのDelivery Controllerの場合は、Citrix CloudのWebベースのStudioコンソールで[管理]>[ホスト]>[接続およびリソースの追加]の順に選択し、ホスト接続を作成します。

  2. 接続およびリソースの追加ウィザードで、接続の種類としてMicrosoft Azureを選択します。

  3. 接続の種類として[Microsoft Azure]を選択します。

  4. ウィザードの指示に従って、各ページの操作を行います。 特定のページの内容は、選択した接続の種類によって異なります。 各ページの操作を終えたら、[概要]ページに到達するまで [次へ] を選択します。 詳しくは、「MCSを使用したドメイン非参加のLinux VDAの作成」の記事にある「手順2:ホスト接続の作成」を参照してください。

Citrix StudioでのAWSへのホスト接続の作成

  1. オンプレミスのDelivery Controllerの場合は、オンプレミスのCitrix Studioで[構成]>[ホスト]>[接続およびリソースの追加]の順に選択してホスト接続を作成します。 クラウドのDelivery Controllerの場合は、Citrix CloudのWebベースのStudioコンソールで[管理]>[ホスト]>[接続およびリソースの追加]の順に選択し、ホスト接続を作成します。

  2. 接続およびリソースの追加ウィザードで、接続の種類としてAmazon EC2を選択します。

    たとえば、オンプレミスのCitrix Studioでは次のようになります:

    Amazon EC2の選択

  3. AWSアカウントのAPIキーと秘密キーを入力し、接続名を入力します。

    アクセスキーペア

    APIキーはアクセスキーIDで、秘密キーはシークレットアクセスキーです。 これらは、アクセスキーペアと見なされます。 シークレットアクセスキーを紛失した場合は、アクセスキーを削除して別のアクセスキーを作成できます。 アクセスキーを作成するには、次の手順を実行します:

    1. AWSサービスにサインインします。
    2. IDおよびアクセス管理(IAM)コンソールに移動します。
    3. 左側のナビゲーションペインで、[Users] を選択します。
    4. 対象ユーザーを選択して下にスクロールして、[Security credentials] タブを選択します。
    5. 下にスクロールして、[Create access key] をクリックします。 新しいウィンドウが開きます。
    6. [Download .csv file] をクリックし、アクセスキーを安全な場所に保存します。
  4. ウィザードの指示に従って、各ページの操作を行います。 特定のページの内容は、選択した接続の種類によって異なります。 各ページの操作を終えたら、[概要]ページに到達するまで [次へ] を選択します。

Citrix StudioでのXenServerへのホスト接続の作成

  1. オンプレミスのDelivery Controllerの場合は、オンプレミスのCitrix Studioで[構成]>[ホスト]>[接続およびリソースの追加]の順に選択してホスト接続を作成します。 クラウドのDelivery Controllerの場合は、Citrix CloudのWebベースのStudioコンソールで[管理]>[ホスト]>[接続およびリソースの追加]の順に選択し、ホスト接続を作成します。

  2. 接続およびリソースの追加ウィザードの [接続の種類] フィールドでXenServer(旧称Citrix Hypervisor)を選択します。

  3. 接続アドレス(XenServer URL)と資格情報を入力します。

  4. 接続名を入力します。

Citrix StudioでのGCPへのホスト接続の作成

Google Cloud Platform仮想化環境に合わせてGCP環境をセットアップしてから、次の手順を実行してGCPへのホスト接続を作成します。

  1. オンプレミスのDelivery Controllerの場合は、オンプレミスのCitrix Studioで[構成]>[ホスト]>[接続およびリソースの追加]の順に選択してホスト接続を作成します。 クラウドのDelivery Controllerの場合は、Citrix CloudのWebベースのStudioコンソールで[管理]>[ホスト]>[接続およびリソースの追加]の順に選択し、ホスト接続を作成します。

  2. 接続およびリソースの追加ウィザードで、接続の種類としてGoogle Cloud Platformを選択します。

    たとえば、Citrix CloudのWebベースのStudioコンソールでは次のようになります:

    接続の追加の画像

  3. GCPアカウントのサービスアカウントキーをインポートし、接続名を入力します。

  4. ウィザードの指示に従って、各ページの操作を行います。 特定のページの内容は、選択した接続の種類によって異なります。 各ページの操作を終えたら、[概要]ページに到達するまで [次へ] を選択します。 詳しくは、「MCSを使用したドメイン非参加のLinux VDAの作成」の記事にある「手順2:ホスト接続の作成」を参照してください。

Citrix StudioでのNutanixへのホスト接続の作成

  1. オンプレミスのDelivery Controllerの場合は、オンプレミスのCitrix Studioで[構成]>[ホスト]>[接続およびリソースの追加]の順に選択してホスト接続を作成します。 クラウドのDelivery Controllerの場合は、Citrix CloudのWebベースのStudioコンソールで[管理]>[ホスト]>[接続およびリソースの追加]の順に選択し、ホスト接続を作成します。

  2. 接続とリソースの追加ウィザードの [接続] ページで、接続の種類として[Nutanix AHV]を選択し、ハイパーバイザーのアドレスと資格情報、接続の名前を指定します。 [ネットワーク] ページで、ユニットのネットワークを選択します。

    たとえば、オンプレミスのCitrix Studioでは次のようになります:

    オンプレミスのCitrix StudioでのNutanixへのホスト接続の作成

Citrix StudioでのVMwareへのホスト接続の作成

  1. vSphere環境にvCenter Serverをインストールします。 詳しくは、「VMware vSphere」を参照してください。

  2. オンプレミスのDelivery Controllerの場合は、オンプレミスのCitrix Studioで[構成]>[ホスト]>[接続およびリソースの追加]の順に選択してホスト接続を作成します。 クラウドのDelivery Controllerの場合は、Citrix CloudのWebベースのStudioコンソールで[管理]>[ホスト]>[接続およびリソースの追加]の順に選択し、ホスト接続を作成します。

  3. 接続の種類として[VMware vSphere]を選択します。

    たとえば、オンプレミスのCitrix Studioでは次のようになります:

    VMware vSphereの選択

  4. VMwareアカウントの接続アドレス(vCenter ServerのURL)、資格情報、および接続名を入力します。

    VMware接続名

手順3:マスターイメージの準備

(XenServerの場合のみ)手順3a:XenServer VM Toolsをインストールする

xe CLIまたはXenCenterを使用するために、仮想マシンごとにテンプレート仮想マシンにXenServer VM Toolsをインストールします。 このツールがインストールされていないと、仮想マシンのパフォーマンスが低下する可能性があります。 ツールがなければ、次のいずれも実行できません:

  • 仮想マシンを正しくシャットダウン、再起動、または一時停止する。
  • XenCenterでその仮想マシンのパフォーマンスデータを表示する。
  • 実行中の仮想マシンを移行する(XenMotionを使用)。
  • スナップショットまたはメモリを含んだスナップショット(チェックポイント)を作成したり、スナップショットを復元したりする。
  • 実行中のLinux仮想マシン上のvCPUの数を調整する。
  1. XenServerダウンロードページまたはCitrix Hypervisorダウンロードページから、使用中のハイパーバイザーバージョンに応じたLinux向けXenServer VM Toolsファイルをダウンロードします。

  2. LinuxGuestTools-xxx.tar.gzファイルを、Linux仮想マシン、またはLinux仮想マシンがアクセスできる共有ドライブにコピーします。

  3. tarファイルの内容を展開します:tar -xzf LinuxGuestTools-xxx.tar.gz

  4. 次のコマンドを実行して、Linuxディストリビューションに基づいてxe-guest-utilitiesパッケージをインストールします。

    RHEL/CentOS/Rocky Linux/SUSEの場合:

      sudo rpm -i <extract-directory>/xe-guest-utilities_{package-version}_x86.64.rpm
    <!--NeedCopy-->
    

    Ubuntu/Debianの場合:

      sudo dpkg -i <extract-directory>/xe-guest-utilities_{package-version}_amd64.deb
    <!--NeedCopy-->
    
  5. XenCenterの [全般] タブで、テンプレート仮想マシンの仮想化状態を確認します。 XenServer VM Toolsが正しくインストールされている場合、仮想化の状態は [最適化済み] を示します。

手順3b:AWS、Azure、GCPのSUSE 15.5の構成を確認する

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

  • libstdc++6バージョン12以降を使用している。
  • /etc/sysconfig/windowmanagerDefault_WMパラメーターがgnomeに設定されている。

手順3c:GCP上のUbuntu 20.04でRDNSを無効にする

テンプレート仮想マシンで、/etc/krb5.confの[libdefaults]rdns = false行を追加します。

手順3d:テンプレート仮想マシンに.NETおよびLinux VDAパッケージをインストールする

現在実行中のVDAをテンプレート仮想マシンとして使用するには、この手順を省略します。 SSSDをテンプレート仮想マシンとして使用して、ドメインに接続された現在実行中のRHEL 8.x/9.xまたはRocky Linux 8.x/9.x VDAを使用するには、次のことを確認してください:

  • VDAは簡単インストールではなく手動でインストールします。 簡単インストールはRHEL 8.x/9.xおよびRocky Linux 8.x/9.xでAdcliを使用します。SSSDとAdcliの組み合わせはMCSではサポートされていません。

  • Sambaサーバーは、AD認証にSSSDを使用するように構成されています。 詳しくは、https://access.redhat.com/solutions/3802321のRed Hatの記事を参照してください。

Linux VDAパッケージをインストールする前に、テンプレート仮想マシンに.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をインストールした後、Linuxディストリビューションに応じて次のコマンドを実行し、Linux VDAをインストールします:

RHEL/CentOS/Rocky Linuxの場合:

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

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

Ubuntu/Debianの場合:

  sudo dpkg –i  <PATH>/<Linux VDA DEB>

  apt-get install -f
<!--NeedCopy-->

SUSEの場合:

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

(RHEL 7の場合のみ)手順3e:リポジトリを有効にしてtdb-toolsパッケージをインストールする

RHEL 7サーバーの場合:

  subscription-manager repos --enable=rhel-7-server-optional-rpms
<!--NeedCopy-->

RHEL 7ワークステーションの場合:

  subscription-manager repos --enable=rhel-7-workstation-optional-rpms
<!--NeedCopy-->

手順3f:(RHEL、CentOSの場合のみ)ntfs-3gを提供できるEPELリポジトリをインストールする

RHEL 8、RHEL 7、CentOS 7にEPELリポジトリをインストールします。 EPELのインストール方法については、https://docs.fedoraproject.org/en-US/epel/の説明を参照してください。

手順3g:(SUSEの場合のみ)ntfs-3gを手動でインストールする

SUSEプラットフォームには、ntfs-3gを提供するリポジトリがありません。 ソースコードをダウンロードし、コンパイルし、ntfs-3gを手動でインストールします:

  1. GNU Compiler Collection(GCC)コンパイラシステムとmakeパッケージをインストールします:

      sudo zypper install gcc
      sudo zypper install make
    <!--NeedCopy-->
    
  2. ntfs-3gパッケージをダウンロードします。

  3. ntfs-3gパッケージを展開します。

      sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
    <!--NeedCopy-->
    
  4. ntfs-3gパッケージへのパスを入力します:

      sudo cd ntfs-3g_ntfsprogs-<package version>
    <!--NeedCopy-->
    
  5. ntfs-3gをインストールします:

      ./configure
      make
      make install
    <!--NeedCopy-->
    

手順3h:使用するデータベースを指定する

Linux VDAパッケージをインストールした後は、SQLiteとPostgreSQLを切り替えることができます。 このためには、次の手順を実行します:

  • VDIモードのみでSQLiteを使用し、ホストされる共有デスクトップ配信モデルにはPostgreSQLを使用することをお勧めします。
  • 簡単インストールとMCSのために、SQLiteとPostgreSQLは、それぞれを手動でインストールすることなく指定することができます。 /etc/xdl/db.confで特に指定しない限り、Linux VDAはデフォルトでPostgreSQLを使用します。
  • /etc/xdl/db.conf を使用してPostgreSQLのポート番号を構成することもできます。
  1. /opt/Citrix/VDA/sbin/ctxcleanup.shを実行します。 新規インストールの場合、この手順は省きます。

  2. deploymcs.shを実行する前に/etc/xdl/db.confを編集します。

手順3i:MCS変数を構成する

MCS変数を構成するには、次の2つの方法があります:

  • /etc/xdl/mcs/mcs.confファイルを編集します。
  • 簡単インストールのGUIを使用します。 簡単インストールのGUIを開くには、VDAのデスクトップ環境で/opt/Citrix/VDA/bin/easyinstallコマンドを実行します。

    簡単インストールのGUI

    ヒント:

    [保存] をクリックすると、指定したパスにあるローカルファイルに変数設定が保存されます。 [読み込み] をクリックすると、指定したファイルから変数設定が読み込まれます。

以下は、ドメイン非参加シナリオとドメイン参加済みシナリオで構成できるMCS変数です:

  • ドメイン非参加シナリオの場合

    デフォルトの変数値を使用するか、必要に応じて変数をカスタマイズできます(オプション):

    DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime
    DESKTOP_ENVIRONMENT=gnome | mate
    REGISTER_SERVICE=Y | N
    ADD_FIREWALL_RULES=Y | N
    VDI_MODE=Y | N
    START_SERVICE=Y | N

  • ドメイン参加済みシナリオの場合

    • Use_AD_Configuration_Files_Of_Current_VDA:現在実行中のVDAの既存のAD関連構成ファイル(/etc/krb5.conf、/etc/sssd.conf、および/etc/samba/smb.conf)を使用するかどうかを決定します。 Yに設定すると、MCSで作成されたマシンの構成ファイルは、現在実行中のVDAの構成ファイルと同じファイルになります。 ただし、dns変数とAD_INTEGRATION変数を構成する必要があります。 デフォルト値はNです。これは、MCSが作成したマシン上の構成ファイルがマスターイメージ上の構成テンプレートによって決定されることを意味します。 現在実行中のVDAをテンプレート仮想マシンとして使用するには、値をYに設定します。 それ以外の場合は、値をNに設定します。

    • dns:各DNSサーバーのIPアドレスを設定します。 最大4つのDNSサーバーを設定できます。

    • NTP_SERVER:NTPサーバーのIPアドレスを設定します。 特に指定のない限り、これはドメインコントローラーのIPアドレスです。

    • WORKGROUP:ワークグループ名を、ADで構成したNetBIOS名(大文字と小文字を区別)に設定します。 設定しなった場合、MCSはマシンのホスト名の直後に続くドメイン名の部分をワークグループ名として使用します。 たとえば、マシンアカウントがuser1.lvda.citrix.comの場合、ワークグループ名としてcitrix が正しい選択であるにもかかわらず、MCSはlvdaを使用することになります。 ワークグループ名を正しく設定するようにしてください。

    • AD_INTEGRATION:Winbind、SSSD、PBIS、またはCentrifyを設定します。 LinuxディストリビューションのマトリックスとMSCがサポートするドメイン参加方法については、この記事の「サポートされているディストリビューション」 を参照してください。

    • CENTRIFY_DOWNLOAD_PATH:Server Suite Free(旧称Centrify Express)パッケージをダウンロードするためのパスを設定します。 この値は、AD_INTEGRATION変数をCentrifyに設定した場合にのみ有効になります。

    • CENTRIFY_SAMBA_DOWNLOAD_PATH:Centrify Sambaパッケージをダウンロードするためのパスを設定します。 この値は、AD_INTEGRATION変数をCentrifyに設定した場合にのみ有効になります。

    • PBIS_DOWNLOAD_PATH:PBISパッケージをダウンロードするためのパスを設定します。 この値は、AD_INTEGRATION変数をPBISに設定した場合にのみ有効になります。

    • UPDATE_MACHINE_PW:マシンアカウントのパスワード更新の自動化を有効または無効にします。 詳しくは、「マシンアカウントのパスワードの更新を自動化」を参照してください。

    • Linux VDA構成変数:

      DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime
      DESKTOP_ENVIRONMENT=gnome | mate
      SUPPORT_DDC_AS_CNAME=Y | N
      VDA_PORT=port-number
      REGISTER_SERVICE=Y | N
      ADD_FIREWALL_RULES=Y | N
      HDX_3D_PRO=Y | N
      VDI_MODE=Y | N
      SITE_NAME=dns-site-name | ‘<none>’
      LDAP_LIST=’list-ldap-servers’ | ‘<none>’
      SEARCH_BASE=search-base-set | ‘<none>’
      FAS_LIST=’list-fas-servers’ | ‘<none>’
      START_SERVICE=Y | N
      TELEMETRY_SOCKET_PORT=port-number
      TELEMETRY_PORT=port-number

(オプション)手順3j:MCSのレジストリ値を書き込むまたは更新する

テンプレートマシンで、コマンドラインを/etc/xdl/mcs/mcs_local_setting.regファイルに追加して、必要なレジストリ値を作成または更新します。 この操作によって、MCSでプロビジョニングされたマシンを再起動するたびにデータと設定が失われないようにします。

/etc/xdl/mcs/mcs_local_setting.regファイルの各行は、レジストリ値を設定または更新するためのコマンドです。

たとえば、次のそれぞれのコマンドラインを/etc/xdl/mcs/mcs_local_setting.regファイルに追加して、レジストリ値を作成または更新できます:

  create -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -t "REG_DWORD" -v "Flags" -d "0x00000003" --force
<!--NeedCopy-->
  update -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"
<!--NeedCopy-->

MCSの設定を変更する場合、「/etc/xdl/ad_join」および「/etc/xdl/mcs/」のファイルの編集は許可されていますが、「/var/xdl/mcs」のファイルの編集は許可されていません。

手順3k:マスターイメージを作成する

  1. (SSSD + RHEL 8.x/9.xまたはRocky Linux 8.x/9.xのみの場合)update-crypto-policies --set DEFAULT:AD-SUPPORTコマンドを実行してテンプレート仮想マシンを再起動します。
  2. /etc/xdl/mcs/mcs.confを編集してMCS変数を構成する場合は、/opt/Citrix/VDA/sbin/deploymcs.shを実行します。 GUIを使用してMCS変数を構成する場合は、[展開] をクリックします。 GUIで[展開]をクリックすると、GUIで設定した変数が/etc/xdl/mcs/mcs.confファイルで設定した変数よりも優先されます。

  3. (現在実行中のVDAをテンプレート仮想マシンとして使用している、またはドメイン非参加のシナリオである場合は、この手順をスキップしてください。)テンプレート仮想マシン上で、構成テンプレートを更新して、作成されたすべての仮想マシン上の関連する/etc/krb5.confファイル、/etc/samba/smb.confファイル、および/etc/sssd/sssd.confファイルをカスタマイズします。

    Winbindユーザーの場合、/etc/xdl/ad_join/winbind_krb5.conf.tmplおよび/etc/xdl/ad_join/winbind_smb.conf.tmplテンプレートを更新します。

    SSSDユーザーの場合、/etc/xdl/ad_join/sssd.conf.tmpl/etc/xdl/ad_join/sssd_krb5.conf.tmpl、および/etc/xdl/ad_join/sssd_smb.conf.tmplテンプレートを更新します。

    Centrifyユーザーの場合、/etc/xdl/ad_join/centrify_krb5.conf.tmplおよび/etc/xdl/ad_join/centrify_smb.conf.tmplテンプレートを更新します。

    テンプレートファイルで使用されている既存の形式を保持し、$WORKGROUP、$REALM、$realm、${new_hostname}、および$AD_FQDNなどの変数を使用してください。

  4. 使用するパブリッククラウドに基づき、マスターイメージのスナップショットを作成して名前を付けます。

    • (XenServer、GCP、およびVMware vSphereの場合) テンプレート仮想マシンにアプリケーションをインストールし、テンプレート仮想マシンをシャットダウンします。 マスターイメージのスナップショットを作成して名前を付けます。

    • (Azureの場合) テンプレート仮想マシンにアプリケーションをインストールし、Azure Portalでテンプレート仮想マシンをシャットダウンします。 テンプレート仮想マシンの電源状態が、[Stopped(deallocated)] になっていることを確認します。 ここでリソースグループの名前を覚えておいてください。 Azureでマスターイメージを検索する際に名前が必要です。

      テンプレート仮想マシンの電源状態が停止

    • (AWSの場合) テンプレート仮想マシンにアプリケーションをインストールし、AWS EC2 Portalでテンプレート仮想マシンをシャットダウンします。 テンプレート仮想マシンのインスタンス状態が、[Stopped] になっていることを確認します。 テンプレート仮想マシンを右クリックし、[Image]>[Create Image]を選択します。 必要に応じて情報を入力し、設定を行います。 [Create Image] をクリックします。

      EBSイメージの作成

    • (Nutanixの場合) Nutanix AHVで、テンプレート仮想マシンをシャットダウンします。 マスターイメージのスナップショットを作成して名前を付けます。

      Citrix Virtual Apps and Desktopsで使用するには、Acropolisスナップショット名を「XD_」で始める必要があります。 必要に応じて、Acropolisコンソールを使用してスナップショットの名前を変更します。 スナップショットの名前を変更したら、カタログ作成ウィザードを再起動して、更新された一覧を取得します。

(GCPの場合)手順3l:RHEL 8.x/9.xおよびRocky Linux 8.x/9.xでイーサネット接続を構成する

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

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

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

Citrix StudioまたはWeb Studioでマシンカタログを作成し、カタログに作成する仮想マシンの数を指定します。 マシンカタログを作成するときはマスターイメージを選択し、以下に注意してください:

  • Nutanix固有の [コンテナ] ページで、前にテンプレート仮想マシンに指定したコンテナを選択します。

  • シングルセッションOSマシンを含むカタログを作成すると、[デスクトップエクスペリエンス] ページが表示され、ユーザーがログオンするときの毎回の動作を指定できます。

    デスクトップエクスペリエンス

    [デスクトップエクスペリエンス] ページで、次のいずれかを選択します:

    • ユーザーがログオンするたびに新しい(ランダムの)デスクトップに接続します。
    • ユーザーがログオンするたびに同じ(静的な)デスクトップに接続します。

    最初のオプションを選択すると、ユーザーがデスクトップに加えた変更は破棄されます(非永続的)。

    2つ目のオプションを選択し、MCSを使用してマシンをプロビジョニングしている場合、デスクトップへのユーザーによる変更の処理方法を構成できます:

    • ユーザーによる変更をローカルディスク上のデスクトップに保存します(永続的)。
    • ユーザーがログオフしたらユーザーによる変更を破棄し、仮想デスクトップをクリアします(非永続的)。 ユーザー個人設定レイヤーを使用している場合は、このオプションを選択します。
  • 永続マシンを含むMCSカタログのマスターイメージを更新すると、カタログに追加された新しいマシンは更新されたイメージを使用します。 既存のマシンは引き続き元のマスターイメージを使用します。

詳しくは、Citrix Virtual Apps and DesktopsドキュメントおよびCitrix DaaSドキュメントでマシンカタログの作成を参照してください。

Nutanix環境では、Delivery Controllerでのマシンカタログの作成プロセスに大幅に時間がかかる場合、Nutanix Prismに移動し、「Preparation」というプレフィックスが付いたマシンの電源を手動でオンにします。 このアプローチは、作成プロセスを継続するのに役立ちます。

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

デリバリーグループは、いくつかのマシンカタログから選択したマシンをグループ化したものです。 それらのマシンを使用できるユーザーと、そのユーザーに提供するアプリケーションおよびデスクトップを指定します。

詳しくは、Citrix Virtual Apps and DesktopsドキュメントおよびCitrix DaaSドキュメントでデリバリーグループの作成を参照してください。

MCSを使用して作成した仮想マシンは、Citrix Cloud Connectorに登録できず、未登録として表示される場合があります。 この問題は、Azureで仮想マシンをホストし、Samba Winbindを使用してADドメインに参加すると発生します。 この問題を解決するには、以下の手順を実行します:

  1. ADSI Editコンソールに移動し、未登録の仮想マシンを選択して、そのマシンアカウントのmsDS-SupportedEncryptionTypes属性を編集します。
  2. 仮想マシンでctxjproxyおよびctxvdaサービスを再起動します。 仮想マシンの状態が登録済みに変わった場合は、手順3~5を実行します。
  3. テンプレート仮想マシンで/var/xdl/mcs/ad_join.shファイルを開きます。
  4. /var/xdl/mcs/ad_join.shファイルで次の行の後にnet ads enctypes set $NEW_HOSTNAME$ <暗号化の種類属性の10進数値、例:28> -U $NEW_HOSTNAME$ -P password の行を追加します:

    ` if [ “$AD_INTEGRATION” == “winbind” ]; then join_domain_samba restart_service winbind /usr/bin/systemctl`

  5. 新しいスナップショットを作成し、新しいテンプレートを使用して仮想マシンを作成します。

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

MCSを使用してLinux VDAをアップグレードするには、次の手順を実行します:

  1. Linux VDAを最新リリースにアップグレードする前に、.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を参照してください。

  2. テンプレートマシンでLinux VDAをアップグレードします:

    Linux VDAの自動更新機能を使用して、ソフトウェアの自動更新をスケジュールすることもできます。 これを行うには、テンプレートマシン上のetc/xdl/mcs/mcs_local_setting.regファイルにコマンドラインを追加します。 たとえば、次のコマンドラインを追加できます:

      create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_DWORD" -v "fEnabled" -d "0x00000001" --force
    
      create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "ScheduledTime" -d "Immediately" --force
    
      create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "Url" -d "<Your-Azure-Container-Url>" –force
    
      create -k "HKLM\System\CurrentControlSet\Control\Citrix\SelfUpdate" -t "REG_SZ" -v "CaCertificate" -d "<Local-Certificate-Path-of-PortalAzureCom>" --force
    <!--NeedCopy-->
    

    RHEL 7およびCentOS 7の場合:

      sudo rpm -U XenDesktopVDA-<version>.el7_x.x86_64.rpm
    <!--NeedCopy-->
    

    RHEL 8.xおよびRocky Linux 8.xの場合:

      sudo rpm -U XenDesktopVDA-<version>.el8_x.x86_64.rpm
    <!--NeedCopy-->
    

    RHEL 9.3/9.2/9.0およびRocky Linux 9.3/9.2/9.0の場合:

    RHEL 9.4/9.3/9.2/9.0およびRocky Linux 9.4/9.3/9.2/9.0のLinux VDAをアップグレードする前に、libsepolパッケージをバージョン3.4以降に更新します。

          sudo rpm -U XenDesktopVDA-<version>.el9x.x86_64.rpm
    <!--NeedCopy-->
    

    SUSEの場合:

      sudo rpm -U XenDesktopVDA-<version>.sle15_x.x86_64.rpm
    <!--NeedCopy-->
    

    Ubuntu 20.04の場合:

      sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
    <!--NeedCopy-->
    

    Ubuntu 22.04の場合:

      sudo dpkg -i xendesktopvda_<version>.ubuntu22.04_amd64.deb
    <!--NeedCopy-->
    
  3. /etc/xdl/mcs/mcs.confおよび/etc/xdl/mcs/mcs_local_setting.regを編集します。

  4. 新しいスナップショットを作成します。

  5. Citrix Studioで新しいスナップショットを選択し、マシンカタログを更新します。 各マシンが起動するまで待機します。 マシンを手動で再起動しないでください。

マシンアカウントのパスワードの更新を自動化

マシンアカウントのパスワードは、デフォルトではマシンカタログの作成後30日で有効期限切れになります。 パスワードの有効期限を無効にし、マシンアカウントのパスワードの更新を自動化するには、以下を実行します:

  1. /opt/Citrix/VDA/sbin/deploymcs.shの実行前に、/etc/xdl/mcs/mcs.confに次のエントリを追加します。

    UPDATE_MACHINE_PW="Y"

  2. /opt/Citrix/VDA/sbin/deploymcs.shを実行後、/etc/cron.d/mcs_update_password_cronjobを開いて更新の時刻と頻度を設定します。 デフォルトの設定では、マシンアカウントのパスワードを毎週日曜日、午前2時30分に更新します。

各マシンアカウントのパスワードの更新後、Delivery Controllerのチケットキャッシュが無効になり、次のエラーが/var/log/xdl/jproxy.logに表示されることがあります:

[ERROR] - AgentKerberosServiceAction.Run: GSSException occurred. Error: Failure unspecified at GSS-API level (Mechanism level: Checksum failed)

エラーを解消するには、定期的にチケットキャッシュを消去します。 すべてのDelivery Controllerまたはドメインコントローラーでキャッシュのクリーンアップタスクをスケジュールできます。

MCSが作成した仮想マシンでFASを有効化

次のディストリビューションで実行されるMCSで作成した仮想マシンでFASを有効にできます:

  Winbind SSSD Centrify PBIS
RHEL 9.4/9.3/9.2/9.0 はい いいえ いいえ いいえ
RHEL 8.x はい いいえ いいえ はい
Rocky Linux 9.4/9.3/9.2/9.0 はい いいえ いいえ いいえ
Rocky Linux 8.x はい いいえ いいえ いいえ
RHEL 7、CentOS 7 はい はい いいえ はい
Ubuntu 22.04、Ubuntu 20.04 はい いいえ いいえ いいえ
Debian 11.9 はい いいえ いいえ いいえ
SUSE 15.5 はい いいえ いいえ いいえ

テンプレート仮想マシンでマスターイメージを準備するときにFASを有効にする

  1. ルートCA証明書をインポートします。

      sudo cp root.pem /etc/pki/CA/certs/
    <!--NeedCopy-->
    
  2. 簡単インストールスクリプト(ctxinstall.sh)を実行し、テンプレート仮想マシンがドメインに適切に参加していることを確認します。

  3. ctxfascfg.shを実行します。

  4. /etc/xdl/mcs/mcs.confの変数を設定します。

    /etc/xdl/mcs/mcs.confに必要なすべての変数を設定します。これらの変数は仮想マシンの起動時に呼び出されるためです。

    1. Use_AD_Configuration_Files_Of_Current_VDAの値をYに設定します。

    2. VDI_MODEなど、必要に応じて他の変数を設定します。

  5. FASサーバーのアドレスを設定するために、以下のコマンドラインを/etc/xdl/mcs/mcs_local_setting.regファイルに追加します:

      sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "<Your-FAS-Server-List>" --force
    <!--NeedCopy-->
    
  6. スクリプト/opt/Citrix/VDA/sbin/deploymcs.shを実行します。

MCSが作成した仮想マシンでFASを有効にする

前述のようにテンプレートマシンでFASが有効になっていない場合は、MCSで作成された各仮想マシンでFASを有効にできます。

MCSが作成した仮想マシンでFASを有効にするには、次を実行します:

  1. /etc/xdl/mcs/mcs.confの変数を設定します。

    /etc/xdl/mcs/mcs.confに必要なすべての変数を設定します。これらの変数は仮想マシンの起動時に呼び出されるためです。

    1. Use_AD_Configuration_Files_Of_Current_VDAの値をYに設定します。
    2. VDI_MODEなど、必要に応じて他の変数を設定します。
  2. FASサーバーのアドレスを設定するために、以下のコマンドラインを/etc/xdl/mcs/mcs_local_setting.regファイルに追加します:

      sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\Software\Citrix\VirtualDesktopAgent\Authentication\UserCredentialService" -t "REG_SZ" -v "Addresses" -d "<Your-FAS-Server-List>" --force
    <!--NeedCopy-->
    
  3. ルートCA証明書をインポートします。

      sudo cp root.pem /etc/pki/CA/certs/
    <!--NeedCopy-->
    
  4. /opt/Citrix/VDA/sbin/ctxfascfg.shスクリプトを実行します。