Linux Virtual Delivery Agent

MCSを使用したドメイン非参加Linux VDAの作成

この記事では、Machine Creation Services(MCS)を使用して、Citrix DaaSでドメイン非参加のLinux VDAを作成する方法について説明します。

重要:

(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:ホスト接続の作成

ホストは、リソースの場所で使用されているハイパーバイザーまたはクラウドサービスです。この手順では、DaaSがホスト上の仮想マシンと通信するために使用する情報を指定できます。詳細情報には、リソースの場所、ホストの種類、アクセス資格情報、使用するストレージ方法、およびホスト上の仮想マシンが使用できるネットワークが含まれます。

重要:

接続を作成する前に、リソースの場所にホストリソース(ストレージとネットワーク)を用意する必要があります。

  1. Citrix Cloudにサインインします。
  2. 左上のメニューで、[マイサービス]>[DaaS] を選択します。
  3. [管理]>[完全な構成] の左側ペインで [ホスト] を選択します。
  4. 操作バーの [接続およびリソースの追加] を選択します。
  5. ウィザードの指示に従って、以下のページの操作を行います。特定のページの内容は、選択した接続の種類によって異なります。各ページの操作を終えたら、[概要]ページに到達するまで [次へ] を選択します。

手順2a:接続

接続の追加の画像

[接続] ページで以下を実行します:

  • 接続を作成するには、[新しい接続を作成する]をクリックします。既存の接続と同じホスト構成に基づいて接続を作成する場合は、[既存の接続を使用する]を選択してから該当の接続を選択します。
  • [ゾーン名] フィールドでゾーンを選択します。選択できるオプションは、構成したすべてのリソースの場所です。
  • [接続の種類] フィールドで、ハイパーバイザーまたはクラウドサービスを選択します。選択できるオプションは、プラグインがゾーンに適切にインストールされているハイパーバイザーとクラウドサービスです。 または、PowerShellコマンドGet-HypHypervisorPlugin -ZoneUidを使用して、選択したゾーンで使用できるハイパーバイザープラグインの一覧を取得することもできます。
  • 接続名を入力します。この名前は管理画面に表示されます。
  • 仮想マシンを作成するツール、Machine Creation ServicesまたはCitrix Provisioningを選択します。

[接続] ページの情報は、使用しているホスト(接続の種類)によって異なります。たとえば、Azure Resource Managerを使用する場合、既存のサービスプリンシパルを使用するか、サービスプリンシパルを作成できます。

手順2b:ストレージの管理

接続管理の追加の画像

ストレージ管理の種類と方法について詳しくは、「ホストストレージ」を参照してください。

Hyper-VまたはVMwareホストに対する接続を構成している場合は、クラスター名を参照してから選択します。他の接続の種類では、クラスター名は要求されません。

ストレージ管理方法(ハイパーバイザー間で共有されるストレージまたはハイパーバイザーのローカルに配置するストレージ)を選択します。

  • ハイパーバイザー間で共有されるストレージを選択する場合、一時データを使用可能なローカルストレージで保持するかどうかを指定します。(この接続を使用するマシンカタログで、デフォルトではない一時ストレージのサイズを指定できます)。例外:クラスターストレージボリューム(CSV)を使用する場合、Microsoft System Center Virtual Machine Managerは、ローカルストレージでの一時データキャッシュディスクを許可しません。[管理] コンソールでそのストレージ管理設定を構成しようとすると失敗します。

Citrix Hypervisorのプール上で共有ストレージを使用する場合は、IntelliCacheを使用して共有ストレージデバイスにかかる負荷を減らすかどうかを指定します。「Citrix Hypervisor仮想化環境」を参照してください。

手順2c:ストレージの選択

ストレージ選択の画像

ストレージの選択について詳しくは、「ホストストレージ」を参照してください。

使用可能なデータの種類ごとに1つ以上のストレージデバイスを選択します。前のページで選択したストレージ管理方法によって、このページで選択できるデータの種類が変化します。ウィザードの次のページに進むには、サポートされる各データの種類に対して1つ以上のストレージデバイスを選択する必要があります。

ハイパーバイザーによって共有されるストレージを選択し、[利用可能なローカルストレージ上で一時データを最適化します] を有効にした場合、[ストレージの選択] ページの下部に表示される構成オプションが増えます。一時データに使用する(同じハイパーバイザープールにある)ローカルストレージデバイスを選択できます。

現在選択中のストレージデバイスの数が表示されます(上図では「1個のストレージデバイスが選択されました」)。このエントリの上にマウスを合わせると、選択したデバイスの名前が表示されます(構成されたデバイスがある場合のみ)。

  1. 使用するストレージデバイスを変更するには [選択] を選択します。
  2. [ストレージの選択] ダイアログボックスで、ストレージデバイスのチェックボックスをオンまたはオフにして [OK] を選択します。

手順2d:リージョン

(一部のホストの種類にのみ表示)リージョンの選択により、仮想マシンが展開される場所を指定します。可能であれば、ユーザーがアプリケーションにアクセスする場所に近いリージョンを選択してください。

手順2e:ネットワーク

リソースの名前を入力します。この名前は [管理] コンソールに表示され、これにより接続に関連付けられたストレージとネットワークの組み合わせを識別できます。 仮想マシンで使用するネットワークを1つまたは複数選択します。

一部の接続の種類(Azure Resource Managerなど)では、仮想マシンが使用するサブネットも表示されます。サブネットを1つまたは複数選択します。

手順2f:まとめ

選択内容を確認します。変更を行う場合は、[戻る]を使って前のウィザードページに戻ります。確認が完了したら、[完了] を選択します。

注意:一時データをローカルに保存する場合、この接続を使用するマシンを含むカタログを作成するときに、一時データストレージにデフォルト以外の値を設定できます。

注:

フルアクセス権管理者については、スコープは表示されません。詳しくは、「管理者、役割、およびスコープ」を参照してください。

詳しくは、「接続の作成と管理」を参照してください。

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

ヒント:

単一のイメージを使用して、ドメイン参加済みVDAとドメイン非参加VDAの両方を作成できます。

(XenServer(旧称Citrix Hypervisor)の場合のみ)手順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:テンプレート仮想マシンに.NETおよびLinux VDAパッケージをインストールする

注:

現在実行中のVDAをテンプレート仮想マシンとして使用するには、この手順を省略します。

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

RHEL/CentOS/Rocky Linuxの場合:

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>

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

SUSEの場合:

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

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

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

手順3e:(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-->
    

手順3f:(Ubuntuの場合のみ)/etc/network/interfacesファイルを編集する

/etc/network/interfacesファイルにsource /etc/network/interfaces.d/*行を追加します。

ヒント:

/etc/network/interfacesファイルはUbuntuマシンでは利用できない可能性があります。このファイルが存在しない場合は、まずnet-toolsおよびifupdownパッケージをインストールする必要があります。

手順3f:(Ubuntuの場合のみ)/etc/resolv.confを参照する

/etc/resolv.conf/run/systemd/resolve/stub-resolv.confではなく/run/systemd/resolve/resolv.confを参照するようにします:

unlink /etc/resolv.conf

ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
<!--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

(オプション)手順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-->

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

  1. /etc/xdl/mcs/mcs.confを編集してMCS変数を構成する場合は、/opt/Citrix/VDA/sbin/deploymcs.shを実行します。GUIを使用してMCS変数を構成する場合は、[展開] をクリックします。GUIで [展開] をクリックすると、GUIで設定した変数が/etc/xdl/mcs/mcs.confファイルで設定した変数よりも優先されます。

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

    • (XenServer(旧称Citrix Hypervisor)、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コンソールを使用してスナップショットの名前を変更します。スナップショットの名前を変更したら、カタログ作成ウィザードを再起動して、更新された一覧を取得します。

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

  1. Citrix Cloudにサインインします。
  2. 左上のメニューで、[マイサービス]>[DaaS] を選択します。
  3. [管理] > [完全な構成] から、[マシンカタログ]を選択します。
  4. ウィザードに従って、マシンカタログを作成します。

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

    [マスターイメージ]ページで、イメージのスナップショットを選択します。

    [仮想マシン] ページで、仮想CPUの数と仮想CPUあたりのコア数を確認します。マシンの展開方法としてMCSを選択し、カタログで作成するマシンのIDとしてドメイン非参加を選択します。

    必要に応じて他の構成タスクを実行します。詳しくは、「マシンカタログの作成」を参照してください。

注:

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

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

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

MCSを使用したドメイン非参加Linux VDAの作成