Machine Creation Services™ (MCS) を使用した Linux VM の作成
MCS を使用して Linux VM を作成するには、ハイパーバイザー上にマスターイメージを準備します。このプロセスには、テンプレート VM への VDA のインストール、Citrix Studio でのマシンカタログの作成、デリバリーグループの作成、および特定の構成タスクの実行が含まれます。
注:
Citrix Hypervisor™、Microsoft Azure、VMware vSphere、AWS、GCP、または Nutanix AHV 以外のハイパーバイザーでマスターイメージを準備しようとすると、予期しない結果が発生する可能性があります。
Microsoft Azure、AWS、および GCP は、Citrix Virtual Apps and Desktops™ 7 2003 以降ではサポートされていません。ただし、Citrix Virtual Apps and Desktops サービスでホストを引き続き使用できます。
サポートされるディストリビューション
| Winbind | SSSD | Centrify | PBIS | |
|---|---|---|---|---|
| RHEL 8.4 | はい | いいえ | はい | はい |
| CentOS 8 (2105) | はい | いいえ | はい | はい |
| RHEL 8.3 | はい | いいえ | はい | はい |
| CentOS 8.3 | はい | いいえ | はい | はい |
| RHEL 8.2 | はい | いいえ | はい | はい |
| CentOS 8.2 | はい | いいえ | はい | はい |
| RHEL 8.1 | はい | いいえ | はい | はい |
| CentOS 8.1 | はい | いいえ | はい | はい |
| RHEL 7.9 | はい | はい | はい | はい |
| CentOS 7.9 | はい | はい | はい | はい |
| RHEL 7.8 | はい | はい | はい | はい |
| CentOS 7.8 | はい | はい | はい | はい |
| Ubuntu 20.04 | はい | はい | いいえ | はい |
| Ubuntu 18.04 | はい | はい | いいえ | はい |
| Ubuntu 16.04 | はい | はい | いいえ | はい |
| Debian 10.7 | はい | はい | いいえ | はい |
| SUSE 12.5 | はい | はい | いいえ | はい |
注:
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を実行します。
マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれます。マスターイメージを準備するには、次の手順を実行します。
ステップ 1a: Citrix VM Tools のインストール
xe CLI または XenCenter を使用できるように、各 VM のテンプレート VM に Citrix VM Tools をインストールします。ツールをインストールしないと、VM のパフォーマンスが低下する可能性があります。ツールがないと、次のいずれも実行できません。
- VM のクリーンなシャットダウン、再起動、または一時停止
- XenCenter での VM パフォーマンスデータの表示
- 実行中の VM の移行 (
XenMotion経由) - スナップショットまたはメモリ付きスナップショット (チェックポイント) の作成、およびスナップショットへの復元
- 実行中の Linux VM の vCPU 数の調整
-
次のコマンドを実行して、guest-tools.iso という名前の Citrix VM Tools をマウントします。
sudo mount /dev/cdrom /mnt <!--NeedCopy--> -
Linux ディストリビューションに基づいて、次のコマンドを実行して
xe-guest-utilitiesパッケージをインストールします。RHEL/CentOS の場合:
sudo rpm -i /mnt/Linux/xe-guest-utilities_{package-version}_all.rpm <!--NeedCopy-->Ubuntu/Debian の場合:
sudo dpkg -i /mnt/Linux/xe-guest-utilities_{package-version}_all.deb <!--NeedCopy-->SUSE 12 の場合:
sudo rpm -i /mnt/Linux/xe-guest-utilities_{package-version}_all.rpm <!--NeedCopy--> -
XenCenter の [General] タブで、テンプレート VM の仮想化状態を確認します。Citrix VM Tools が正しくインストールされている場合、仮想化状態は [Optimized] になります。

ステップ 1b: (Ubuntu 16.04 のみ) OpenJDK 11 のインストール
Ubuntu 16.04 で OpenJDK 11 をインストールするには、次の手順を完了します。
- https://jdk.java.net/archive/ から最新の OpenJDK 11 をダウンロードします。
-
tar zxf openjdk-11.0.2_linux-x64_bin.tar.gzコマンドを実行して、ダウンロードしたパッケージを解凍します。 - (オプション)
mv jdk-11.0.2/ <target directory>コマンドを実行して、OpenJDK をターゲットディレクトリに保存します。 -
update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000コマンドを実行して、Java ランタイムをセットアップします。 -
java -versionコマンドを実行して、Java のバージョンを確認します。
ステップ 1c: テンプレート VM への Linux VDA パッケージのインストール
注:
現在実行中の VDA をテンプレート VM として使用する場合は、この手順をスキップしてください。
テンプレート VM に Linux VDA パッケージをインストールする前に、.NET Core Runtime 3.1 をインストールします。詳しくは、「インストール概要」を参照してください。
Linux ディストリビューションに基づいて、次のコマンドを実行して Linux VDA の環境をセットアップします。
RHEL/CentOS の場合:
sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
Ubuntu/Debian の場合:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
SUSE 12 の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
- #### ステップ 1d: 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-->
ステップ 1e: ntfs-3g を提供できる EPEL リポジトリのインストール
RHEL 8/CentOS 8、RHEL 7/CentOS 7 に EPEL リポジトリをインストールすると、後で deploymcs.sh を実行したときに EPEL リポジトリで利用可能な ntfs-3g パッケージがインストールされます。
ステップ 1f: SUSE 12 への ntfs-3g の手動インストール
SUSE 12 プラットフォームでは、ntfs-3g を提供するリポジトリはありません。ソースコードをダウンロードし、コンパイルして、ntfs-3g を手動でインストールします。
-
GNU Compiler Collection (GCC) コンパイラシステムと make パッケージをインストールします。
sudo zypper install gcc sudo zypper install make <!--NeedCopy--> -
ntfs-3g パッケージをダウンロードします。
-
ntfs-3g パッケージを解凍します。
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy--> -
ntfs-3gパッケージへのパスを入力します。sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy--> -
ntfs-3gをインストールします。./configure make make install <!--NeedCopy-->
ステップ 1g: ランタイム環境のセットアップ
deploymcs.sh を実行する前に、以下を実行します。
- `/etc/xdl/mcs/mcs.conf` の変数を変更します。`mcs.conf` 構成ファイルには、MCS および Linux VDA を設定するための変数が用意されています。必要に応じて設定できる変数は次のとおりです。
- `Use_Existing_Configurations_Of_Current_VDA`: 現在実行中の VDA の既存の構成を使用するかどうかを決定します。Y に設定すると、MCS で作成されたマシンの構成ファイルは、現在実行中の VDA の対応するファイルと同じになります。ただし、`dns` および `AD_INTEGRATION` 変数は引き続き構成する必要があります。デフォルト値は N です。これは、マスターイメージ上の構成テンプレートが MCS で作成されたマシンの構成ファイルを決定することを意味します。
- `dns`: DNS IP アドレスを設定します。
- `AD_INTEGRATION`: Winbind、SSSD、PBIS、または Centrify を設定します。MSC がサポートする Linux ディストリビューションとドメイン参加方法の対応表については、この記事の「[サポートされるディストリビューション](#supported-distributions)」を参照してください。
- `CENTRIFY_DOWNLOAD_PATH`: Centrify パッケージをダウンロードするためのパスを設定します。この値は、`AD_INTEGRATION` 変数を Centrify に設定した場合にのみ有効になります。
- `CENTRIFY_SAMBA_DOWNLOAD_PATH`: Centrify Samba パッケージをダウンロードするためのパスを設定します。この値は、`AD_INTEGRATION` 変数を Centrify に設定した場合にのみ有効になります。
- `WORKGROUP`: AD で構成した場合、ワークグループ名(大文字と小文字を区別)を設定します。
- テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを `/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--> ```
ステップ 1h: マスターイメージの作成
-
/opt/Citrix/VDA/sbin/deploymcs.shを実行します。 -
(オプション) テンプレート VM で、構成テンプレートを更新して、作成されたすべての VM 上の関連する
/etc/krb5.conf、/etc/samba/smb.conf、および/etc/sssd/sssd.confファイルをカスタマイズします。Winbind ユーザーの場合は、
/etc/xdl/mcs/winbind_krb5.conf.tmplおよび/etc/xdl/mcs/winbind_smb.conf.tmplテンプレートを更新します。SSSD ユーザーの場合は、
/etc/xdl/mcs/sssd.conf.tmpl、/etc/xdl/mcs/sssd_krb5.conf.tmpl、および/etc/xdl/mcs/sssd_smb.conf.tmplテンプレートを更新します。Centrify ユーザーの場合は、
/etc/xdl/mcs/centrify_krb5.conf.tmplおよび/etc/xdl/mcs/centrify_smb.conf.tmplテンプレートを更新します。注:
テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、${new_hostname}、および $AD_FQDN などの変数を使用してください。
- Citrix Hypervisor で、テンプレート VM をシャットダウンします。マスターイメージのスナップショットを作成し、名前を付けます。
ステップ 2: マシンカタログの作成
Citrix Studio で、マシンカタログを作成し、カタログに作成する VM の数を指定します。必要に応じて、その他の構成タスクを実行します。詳しくは、「Studio を使用したマシンカタログの作成」を参照してください。
ステップ 3: デリバリーグループの作成
マシンカタログは、1 つ以上のマシンカタログから選択されたマシンのコレクションです。マシンカタログは、どのユーザーがそれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳しくは、「デリバリーグループの作成」を参照してください。
- ## MCS を使用した Azure での Linux VM の作成
- ### ステップ 1: Citrix Studio で Azure へのホスティング接続の作成
- 1. Citrix Cloud™ の Citrix Studio で、**[構成] > [ホスティング] > [接続とリソースの追加]** を選択して Azure への接続を作成します。

-
接続の種類として Microsoft Azure を選択します。

-
Azure アカウントのサブスクリプション ID と接続名を入力します。

ホスティングペインに新しい接続が表示されます。

ステップ 2: テンプレート VM でのマスターイメージの準備
マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、以下を実行します。
ステップ 2a: Ubuntu 18.04 用の cloud-init の構成
VM の再起動または停止時に VDA ホスト名が保持されるようにするには、次のコマンドを実行します。
echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg
<!--NeedCopy-->
/etc/cloud/cloud.cfg ファイルの system_info セクションに次の行が存在することを確認します。
system_info:
network:
renderers: ['netplan', 'eni', 'sysconfig']
<!--NeedCopy-->
ステップ 2b: (Ubuntu 16.04 のみ) OpenJDK 11 のインストール
Ubuntu 16.04で、以下の手順を完了してOpenJDK 11をインストールします。
- 最新のOpenJDK 11をhttps://jdk.java.net/archive/からダウンロードします
-
tar zxf openjdk-11.0.2_linux-x64_bin.tar.gzコマンドを実行して、ダウンロードしたパッケージを解凍します - (オプション)
mv jdk-11.0.2/ <target directory>コマンドを実行して、OpenJDKをターゲットディレクトリに保存します -
update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000コマンドを実行して、Javaランタイムをセットアップします -
java -versionコマンドを実行して、Javaのバージョンを確認します
ステップ2c: テンプレートVMへのLinux VDAパッケージのインストール
注:
現在実行中のVDAをテンプレートVMとして使用する場合は、この手順をスキップします。
テンプレートVMにLinux VDAパッケージをインストールする前に、.NET Core Runtime 3.1をインストールしてください。詳細については、「インストール概要」を参照してください。
お使いのLinuxディストリビューションに基づいて、Linux VDAの環境をセットアップするために以下のコマンドを実行します。
RHEL/CentOSの場合:
sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
Ubuntu/Debianの場合:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
ステップ2d: ntfs-3gを提供するEPELリポジトリのインストール
RHEL 8/CentOS 8、RHEL 7/CentOS 7にEPELリポジトリをインストールして、後でdeploymcs.shを実行したときにEPELリポジトリで利用可能なntfs-3gパッケージがインストールされるようにします。
ステップ2e: SUSE 12へのntfs-3gの手動インストール
SUSE 12プラットフォームでは、ntfs-3gを提供するリポジトリはありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
-
GNU Compiler Collection (GCC)コンパイラシステムとmakeパッケージをインストールします
sudo zypper install gcc sudo zypper install make <!--NeedCopy-->
-
- ntfs-3gパッケージをダウンロードします
-
- ntfs-3gパッケージを解凍します
- sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy-->-
- ntfs-3gパッケージへのパスを入力します
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy-->
-
ntfs-3gをインストールします
./configure make make install <!--NeedCopy-->
ステップ2f: ランタイム環境のセットアップ
deploymcs.shを実行する前に、以下を実行します。
- `/etc/xdl/mcs/mcs.conf`内の変数を変更します。`mcs.conf`構成ファイルは、MCSおよびLinux VDAを設定するための変数を提供します。以下にいくつかの変数を示しますが、そのうち`dns`と`AD_INTEGRATION`は設定する必要があります。
**注:** 変数に複数の値を設定できる場合は、値を単一引用符で囲み、スペースで区切ります。例: LDAP_LIST='aaa.lab:389 bbb.lab:389'
- `Use_Existing_Configurations_Of_Current_VDA`: 現在実行中のVDAの既存の構成を使用するかどうかを決定します。Yに設定すると、MCSで作成されたマシンの構成ファイルは、現在実行中のVDAの対応するファイルと同じになります。ただし、`dns`および`AD_INTEGRATION`変数は引き続き構成する必要があります。デフォルト値はNで、マスターイメージ上の構成テンプレートがMCSで作成されたマシンの構成ファイルを決定することを意味します。
- `dns`: DNS IPアドレスを設定します。
- `AD_INTEGRATION`: Winbind、SSSD、PBIS、またはCentrifyを設定します。MSCがサポートするLinuxディストリビューションとドメイン参加方法のマトリックスについては、この記事の「[サポートされるディストリビューション](#supported-distributions)」を参照してください。
- `CENTRIFY_DOWNLOAD_PATH`: Centrifyパッケージをダウンロードするためのパスを設定します。この値は、`AD_INTEGRATION`変数をCentrifyに設定した場合にのみ有効になります。
- `CENTRIFY_SAMBA_DOWNLOAD_PATH`: Centrify Sambaパッケージをダウンロードするためのパスを設定します。この値は、`AD_INTEGRATION`変数をCentrifyに設定した場合にのみ有効になります。
- `WORKGROUP`: ADで構成した場合、ワークグループ名(大文字と小文字を区別)を設定します。
- テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するために、`/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--> ```
ステップ2g: マスターイメージの作成
-
/opt/Citrix/VDA/sbin/deploymcs.shを実行します -
(オプション) テンプレートVMで、構成テンプレートを更新して、作成されたすべてのVM上の関連する
/etc/krb5.conf、/etc/samba/smb.conf、および/etc/sssd/sssd.confファイルをカスタマイズします。Winbindユーザーの場合は、
/etc/xdl/mcs/winbind_krb5.conf.tmplおよび/etc/xdl/mcs/winbind_smb.conf.tmplテンプレートを更新します。SSSDユーザーの場合は、
/etc/xdl/mcs/sssd.conf.tmpl、/etc/xdl/mcs/sssd_krb5.conf.tmpl、および/etc/xdl/mcs/sssd_smb.conf.tmplテンプレートを更新します。- Centrifyユーザーの場合は、`/etc/xdl/mcs/centrify_krb5.conf.tmpl`および`/etc/xdl/mcs/centrify_smb.conf.tmpl`テンプレートを更新します。- 注: テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、${new_hostname}、および$AD_FQDNなどの変数を使用してください。
- テンプレートVMにアプリケーションをインストールし、AzureポータルからテンプレートVMをシャットダウンします。テンプレートVMの電源ステータスが停止済み(割り当て解除済み)であることを確認してください。ここでリソースグループの名前を覚えておいてください。Azureでマスターイメージを見つけるには、その名前が必要です

ステップ3: マシンカタログの作成
Citrix Studio で、マシンカタログを作成し、カタログで作成する VM の数を指定します。マシンカタログの作成時に、テンプレート VM が属するリソースグループからマスターイメージを選択し、テンプレート VM の VHD を見つけます。

必要に応じて、その他の構成タスクを実行します。詳しくは、「Studio を使用したマシンカタログの作成」を参照してください。
ステップ 4: デリバリーグループの作成
デリバリーグループは、1 つ以上のマシンカタログから選択されたマシンのコレクションです。デリバリーグループは、どのユーザーがそれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳しくは、「デリバリーグループの作成」を参照してください。
MCS を使用した VMware vSphere 上での Linux VM の作成
ステップ 1: Citrix Studio で VMware へのホスティング接続の作成
-
vSphere 環境に vCenter Server をインストールします。詳しくは、「VMware vSphere」を参照してください。
-
Citrix Studio で、[構成]>[ホスティング]>[接続およびリソースの追加] を選択して、VMware vSphere への接続を作成します。

-
接続の種類として VMware vSphere を選択します。

-
VMware アカウントの接続アドレス(vCenter Server の URL)、ユーザー名とパスワード、および接続名を入力します。

ホスティングペインに新しい接続が表示されます。

ステップ 2: マスターイメージの準備
マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。
ステップ 2a: (Ubuntu 16.04 のみ)OpenJDK 11 のインストール
Ubuntu 16.04 で OpenJDK 11 をインストールするには、次の手順を実行します。
- 最新の OpenJDK 11 を https://jdk.java.net/archive/ からダウンロードします。
-
tar zxf openjdk-11.0.2_linux-x64_bin.tar.gzコマンドを実行して、ダウンロードしたパッケージを解凍します。 - (オプション)
mv jdk-11.0.2/ <target directory>コマンドを実行して、OpenJDK をターゲットディレクトリに保存します。 -
update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000コマンドを実行して、Java ランタイムをセットアップします。 -
java -versionコマンドを実行して、Java のバージョンを確認します。
ステップ 2b: テンプレート VM への Linux VDA パッケージのインストール
注:
現在実行中の VDA をテンプレート VM として使用する場合は、この手順をスキップしてください。 - > テンプレート VM に Linux VDA パッケージをインストールする前に、.NET Core Runtime 3.1 をインストールします。詳しくは、「インストール概要」を参照してください。
- Linux ディストリビューションに基づいて、次のコマンドを実行して Linux VDA の環境をセットアップします。
- **RHEL/CentOS の場合:**
- sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
Ubuntu/Debian の場合:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
SUSE 12 の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
ステップ 2c: ntfs-3g を提供できる EPEL リポジトリのインストール
RHEL 8/CentOS 8、RHEL 7/CentOS 7 に EPEL リポジトリをインストールして、後で deploymcs.sh を実行したときに EPEL リポジトリで利用可能な ntfs-3g パッケージがインストールされるようにします。
ステップ 2d: SUSE 12 への ntfs-3g の手動インストール
SUSE 12 プラットフォームでは、ntfs-3g を提供するリポジトリはありません。ソースコードをダウンロードし、ntfs-3g を手動でコンパイルしてインストールします。
-
GNU Compiler Collection(GCC)コンパイラシステムと make パッケージをインストールします。
sudo zypper install gcc sudo zypper install make <!--NeedCopy--> -
ntfs-3g パッケージをダウンロードします。
-
ntfs-3g パッケージを解凍します。
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy--> -
ntfs-3g パッケージへのパスを入力します。
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy--> -
ntfs-3g をインストールします。
./configure make make install <!--NeedCopy-->
ステップ 2e: ランタイム環境のセットアップ
deploymcs.sh を実行する前に、次の手順を実行します。
- `/etc/xdl/mcs/mcs.conf` の変数を変更します。`mcs.conf` 構成ファイルは、MCS および Linux VDA を設定するための変数を提供します。以下にいくつかの変数を示します。このうち、`dns` と `AD_INTEGRATION` は設定する必要があります。
**注:** 変数に複数の値を設定できる場合は、値を単一引用符で囲み、スペースで区切ります。例:LDAP_LIST='aaa.lab:389 bbb.lab:389'
- `Use_Existing_Configurations_Of_Current_VDA`:現在実行中の VDA の既存の構成を使用するかどうかを決定します。Y に設定すると、MCS で作成されたマシンの構成ファイルは、現在実行中の VDA の対応するファイルと同じになります。ただし、`dns` および `AD_INTEGRATION` 変数は引き続き構成する必要があります。デフォルト値は N です。これは、マスターイメージ上の構成テンプレートが MCS で作成されたマシンの構成ファイルを決定することを意味します。
- `dns`: DNS IPアドレスを設定します。
- `AD_INTEGRATION`: Winbind、SSSD、PBIS、またはCentrifyを設定します。MSCがサポートするLinuxディストリビューションとドメイン参加方法のマトリックスについては、この記事の「[サポートされるディストリビューション](#supported-distributions)」を参照してください。
- `CENTRIFY_DOWNLOAD_PATH`: Centrifyパッケージをダウンロードするためのパスを設定します。この値は、`AD_INTEGRATION`変数をCentrifyに設定した場合にのみ有効になります。
- `CENTRIFY_SAMBA_DOWNLOAD_PATH`: Centrify Sambaパッケージをダウンロードするためのパスを設定します。この値は、`AD_INTEGRATION`変数をCentrifyに設定した場合にのみ有効になります。
- `WORKGROUP`: ADで構成されている場合、ワークグループ名(大文字と小文字を区別)を設定します。
- テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するために、`/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--> ```
Step 2f: マスターイメージの作成
-
/opt/Citrix/VDA/sbin/deploymcs.shを実行します。 -
(オプション)テンプレートVMで、構成テンプレートを更新して、作成されたすべてのVM上の関連する
/etc/krb5.conf、/etc/samba/smb.conf、および/etc/sssd/sssd.confファイルをカスタマイズします。-
Winbindユーザーの場合、
/etc/xdl/mcs/winbind_krb5.conf.tmplおよび/etc/xdl/mcs/winbind_smb.conf.tmplテンプレートを更新します。 -
SSSDユーザーの場合、
/etc/xdl/mcs/sssd.conf.tmpl、/etc/xdl/mcs/sssd_krb5.conf.tmpl、および/etc/xdl/mcs/sssd_smb.conf.tmplテンプレートを更新します。 -
Centrifyユーザーの場合、
/etc/xdl/mcs/centrify_krb5.conf.tmplおよび/etc/xdl/mcs/centrify_smb.conf.tmplテンプレートを更新します。 -
注: テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、${new_hostname}、および$AD_FQDNなどの変数を使用してください。
-
-
- テンプレートVMへのアプリケーションのインストールが完了したら、VMwareからテンプレートVMをシャットダウンします。テンプレートVMのスナップショットを作成します。
Step 3: マシンカタログの作成
Citrix Studioで、マシンカタログを作成し、カタログに作成するVMの数を指定します。マシンカタログを作成する際に、スナップショットリストからマスターイメージを選択します。

必要に応じて、その他の構成タスクを実行します。詳しくは、「Studioを使用したマシンカタログの作成」を参照してください。
Step 4: デリバリーグループの作成
デリバリーグループは、1つ以上のマシンカタログから選択されたマシンのコレクションです。デリバリーグループは、どのユーザーがそれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳しくは、「デリバリーグループの作成」を参照してください。
MCSを使用したAWSでのLinux VMの作成
Step 1: Citrix StudioでのAWSへのホスティング接続の作成
-
Citrix CloudのCitrix Studioで、構成 > ホスティング > 接続とリソースの追加を選択して、AWSへの接続を作成します。

-
接続タイプとしてAmazon EC2を選択します。

-
AWSアカウントのAPIキーとシークレットキーを入力し、接続名を入力します。

APIキーはアクセスキーIDであり、シークレットキーはシークレットアクセスキーです。これらはアクセスキーペアと見なされます。シークレットアクセスキーを紛失した場合は、アクセスキーを削除して別のものを作成できます。アクセスキーを作成するには、次の手順を実行します。
- AWSサービスにサインインします。
- Identity and Access Management(IAM)コンソールに移動します。
-
- 左側のナビゲーションペインで、ユーザーを選択します。
-
- ターゲットユーザーを選択し、下にスクロールしてセキュリティ認証情報タブを選択します。
-
- 下にスクロールし、アクセスキーの作成をクリックします。新しいウィンドウが表示されます。
-
- .csvファイルのダウンロードをクリックし、アクセスキーを安全な場所に保存します。
新しい接続がホスティングペインに表示されます。

- 左側のナビゲーションペインで、ユーザーを選択します。
Step 2: マスターイメージの準備
マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。
Step 2a: cloud-initの構成
-
EC2インスタンスが再起動または停止されたときにVDAホスト名が保持されるようにするには、次のコマンドを実行してVDAホスト名を保持します。
echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg <!--NeedCopy-->Ubuntu 18.04の場合、
/etc/cloud/cloud.cfgファイルのsystem_infoセクションに次の行が存在することを確認してください。system_info: network: renderers: ['netplan', 'eni', 'sysconfig'] <!--NeedCopy--> -
AWS上のMCSで作成されたVMにリモートでアクセスするためにSSHを使用するには、それらのVMにキー名がアタッチされていないため、パスワード認証を有効にします。必要に応じて、次の手順を実行します。
-
cloud-init構成ファイル/etc/cloud/cloud.cfgを編集します。ssh_pwauth: trueの行が存在することを確認します。set-passwordの行とその後の行が存在する場合は、削除またはコメントアウトします。users: - default <!--NeedCopy--> -
cloud-initによって作成されたデフォルトユーザーec2-userまたはubuntuを使用する予定がある場合は、passwdコマンドを使用してユーザーパスワードを変更できます。MCSで作成されたVMにログインするために、新しいパスワードを覚えておいてください。 -
/etc/ssh/sshd_configファイルを編集して、次の行が存在することを確認します。PasswordAuthentication yes <!--NeedCopy-->ファイルを保存し、
sudo service sshd restartコマンドを実行します。
-
ステップ 2b: (Ubuntu 16.04 のみ) OpenJDK 11 のインストール
Ubuntu 16.04 に OpenJDK 11 をインストールするには、次の手順を実行します。
- https://jdk.java.net/archive/ から最新の OpenJDK 11 をダウンロードします。
-
tar zxf openjdk-11.0.2_linux-x64_bin.tar.gzコマンドを実行して、ダウンロードしたパッケージを解凍します。 - (オプション)
mv jdk-11.0.2/ <target directory>コマンドを実行して、OpenJDK をターゲットディレクトリに保存します。 -
update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000コマンドを実行して、Java ランタイムを設定します。 -
java -versionコマンドを実行して、Java のバージョンを確認します。
ステップ 2c: テンプレート VM への Linux VDA パッケージのインストール
注:
現在実行中の VDA をテンプレート VM として使用する場合は、この手順をスキップしてください。
テンプレート VM に Linux VDA パッケージをインストールする前に、.NET Core Runtime 3.1 をインストールしてください。詳細については、「インストール概要」を参照してください。
- Linux ディストリビューションに基づいて、次のコマンドを実行して Linux VDA の環境を設定します。
- **RHEL/CentOS の場合:**
- sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
Ubuntu/Debian の場合:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
SUSE 12 の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
ステップ 2d: ntfs-3g を提供できる EPEL リポジトリのインストール
RHEL 8/CentOS 8、RHEL 7/CentOS 7 に EPEL リポジトリをインストールすると、後で deploymcs.sh を実行したときに EPEL リポジトリで利用可能な ntfs-3g パッケージがインストールされます。
ステップ 2e: SUSE 12 への ntfs-3g の手動インストール
SUSE 12 プラットフォームでは、ntfs-3g を提供するリポジトリはありません。ソースコードをダウンロードし、コンパイルして ntfs-3g を手動でインストールします。
-
GNU Compiler Collection (GCC) コンパイラシステムと make パッケージをインストールします。
sudo zypper install gcc sudo zypper install make <!--NeedCopy--> -
ntfs-3g パッケージをダウンロードします。
-
ntfs-3g パッケージを解凍します。
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy--> -
ntfs-3g パッケージへのパスを入力します。
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy--> -
ntfs-3g をインストールします。
./configure make make install <!--NeedCopy-->
ステップ 2f: ランタイム環境の設定
deploymcs.sh を実行する前に、次の操作を行います。
-
/etc/xdl/mcs/mcs.confの変数を変更します。mcs.conf構成ファイルは、MCS と Linux VDA を設定するための変数を提供します。以下にいくつかの変数を示しますが、dnsとAD_INTEGRATIONは設定する必要があります。注: 変数に複数の値を設定できる場合は、値を単一引用符で囲み、スペースで区切ります。例:
LDAP_LIST='aaa.lab:389 bbb.lab:389.'-
Use_Existing_Configurations_Of_Current_VDA: 現在実行中の VDA の既存の構成を使用するかどうかを決定します。Y に設定すると、MCS で作成されたマシンの構成ファイルは、現在実行中の VDA の対応するファイルと同じになります。ただし、dnsおよびAD_INTEGRATION変数は引き続き構成する必要があります。デフォルト値は N で、マスターイメージの構成テンプレートが MCS で作成されたマシンの構成ファイルを決定することを意味します。 -
dns: DNS IP アドレスを設定します。 -
AD_INTEGRATION: Winbind、SSSD、PBIS、または Centrify を設定します。MCS がサポートする Linux ディストリビューションとドメイン参加方法の対応表については、この記事の「サポートされるディストリビューション」を参照してください。 -
CENTRIFY_DOWNLOAD_PATH: Centrify パッケージをダウンロードするためのパスを設定します。この値は、AD_INTEGRATION変数を Centrify に設定した場合にのみ有効になります。 -
CENTRIFY_SAMBA_DOWNLOAD_PATH: Centrify Samba パッケージをダウンロードするためのパスを設定します。この値は、AD_INTEGRATION変数を Centrify に設定した場合にのみ有効になります。 -
WORKGROUP: AD で構成した場合のワークグループ名 (大文字と小文字を区別) を設定します。
-
-
テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを
/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-->
ステップ 2g: マスターイメージの作成
-
/opt/Citrix/VDA/sbin/deploymcs.shを実行します。 -
(オプション) テンプレート VM で、構成テンプレートを更新して、作成されたすべての VM 上の関連する
/etc/krb5.conf、/etc/samba/smb.conf、および/etc/sssd/sssd.confファイルをカスタマイズします。Winbind ユーザーの場合は、
/etc/xdl/mcs/winbind_krb5.conf.tmplおよび/etc/xdl/mcs/winbind_smb.conf.tmplテンプレートを更新します。SSSD ユーザーの場合は、
/etc/xdl/mcs/sssd.conf.tmpl、/etc/xdl/mcs/sssd_krb5.conf.tmpl、および/etc/xdl/mcs/sssd_smb.conf.tmplテンプレートを更新します。Centrify ユーザーの場合は、
/etc/xdl/mcs/centrify_krb5.conf.tmplおよび/etc/xdl/mcs/centrify_smb.conf.tmplテンプレートを更新します。注: テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、${new_hostname}、および $AD_FQDN などの変数を使用してください。
-
テンプレート VM にアプリケーションをインストールし、AWS EC2 ポータルからテンプレート VM をシャットダウンします。テンプレート VM のインスタンス状態が Stopped であることを確認します。
-
テンプレート VM を右クリックし、Image > Create Image を選択します。必要に応じて情報を入力し、設定を行います。[Create Image] をクリックします。

ステップ 3: マシンカタログの作成
Citrix Studioでマシンカタログを作成し、カタログに作成するVMの数を指定します。マシンカタログの作成時に、マシンテンプレート(以前に作成したマスターイメージ)を選択し、1つ以上のセキュリティグループを選択します。


必要に応じて、その他の構成タスクを実行します。詳細については、「Studioを使用したマシンカタログの作成」を参照してください。
ステップ 4: デリバリーグループの作成
デリバリーグループは、1つ以上のマシンカタログから選択されたマシンの集合です。デリバリーグループは、どのユーザーがそれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳細については、「デリバリーグループの作成」を参照してください。
MCSを使用したGCPでのLinux VMの作成
ステップ 1: GCP環境のセットアップ
詳細については、「Google Cloud Platform仮想化環境」を参照してください。
ステップ 2: Citrix StudioでのGCPへのホスティング接続の作成
-
Citrix CloudのCitrix Studioで、[構成] > [ホスティング] > [接続およびリソースの追加] の順に選択して、GCPへの接続を作成

-
接続の種類として [Google Cloud Platform] を選択

-
GCPアカウントのサービスアカウントキーをインポートし、接続名を入力

ホスティングペインに新しい接続が表示されます。

ステップ 3: マスターイメージの準備
マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。
ステップ 3a: (Ubuntu 16.04のみ)OpenJDK 11のインストール
Ubuntu 16.04でOpenJDK 11をインストールするには、次の手順を実行します。
- https://jdk.java.net/archive/から最新のOpenJDK 11をダウンロード
-
tar zxf openjdk-11.0.2_linux-x64_bin.tar.gzコマンドを実行して、ダウンロードしたパッケージを解凍 - (オプション)
mv jdk-11.0.2/ <target directory>コマンドを実行して、OpenJDKをターゲットディレクトリに保存 -
update-alternatives --install /usr/bin/java java <custom directory>/bin/java 2000コマンドを実行して、Javaランタイムをセットアップ -
java -versionコマンドを実行して、Javaのバージョンを確認
ステップ 3b: テンプレートVMへのLinux VDAパッケージのインストール
注:
現在実行中のVDAをテンプレートVMとして使用する場合は、この手順をスキップしてください。
テンプレートVMにLinux VDAパッケージをインストールする前に、.NET Core Runtime 3.1をインストールしてください。詳細については、「インストール概要」を参照してください。
お使いのLinuxディストリビューションに基づいて、次のコマンドを実行してLinux VDAの環境をセットアップします。
RHEL/CentOSの場合:
sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
Ubuntu/Debianの場合:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
ステップ 3c: ntfs-3gを提供するEPELリポジトリのインストール
RHEL 8/CentOS 8、RHEL 7/CentOS 7にEPELリポジトリをインストールして、後でdeploymcs.shを実行したときにEPELリポジトリで利用可能なntfs-3gパッケージがインストールされるようにします。
ステップ 3d: SUSE 12へのntfs-3gの手動インストール
SUSE 12プラットフォームでは、ntfs-3gを提供するリポジトリはありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
-
GNU Compiler Collection(GCC)コンパイラシステムとmakeパッケージをインストール
sudo zypper install gcc sudo zypper install make <!--NeedCopy--> -
ntfs-3gパッケージをダウンロード
-
ntfs-3gパッケージを解凍
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy--> -
ntfs-3gパッケージへのパスを入力
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy--> -
ntfs-3gをインストール
./configure make make install <!--NeedCopy-->
ステップ 3e: ランタイム環境のセットアップ
deploymcs.shを実行する前に、以下を実行します。
-
/etc/xdl/mcs/mcs.confの変数を変更します。mcs.conf構成ファイルは、MCSおよびLinux VDAを設定するための変数を提供します。以下にいくつかの変数を示しますが、そのうちdnsとAD_INTEGRATIONは設定する必要があります。注: 変数に複数の値を設定できる場合は、値をシングルクォートで囲み、スペースで区切ります。例:
LDAP_LIST='aaa.lab:389 bbb.lab:389.'-
Use_Existing_Configurations_Of_Current_VDA: 現在実行中のVDAの既存の構成を使用するかどうかを決定します。Yに設定すると、MCSで作成されたマシン上の構成ファイルは、現在実行中のVDA上の同等のファイルと同じになります。ただし、dnsおよびAD_INTEGRATION変数は引き続き構成する必要があります。デフォルト値はNであり、マスターイメージ上の構成テンプレートがMCSで作成されたマシン上の構成ファイルを決定することを意味します。 -
dns: DNS IPアドレスを設定します。 -
AD_INTEGRATION: Winbind、SSSD、PBIS、またはCentrifyを設定します。MSCがサポートするLinuxディストリビューションとドメイン参加方法のマトリックスについては、この記事の「サポートされるディストリビューション」を参照してください。 -
CENTRIFY_DOWNLOAD_PATH: Centrifyパッケージをダウンロードするためのパスを設定します。この値は、AD_INTEGRATION変数をCentrifyに設定した場合にのみ有効になります。 -
CENTRIFY_SAMBA_DOWNLOAD_PATH: Centrify Sambaパッケージをダウンロードするためのパスを設定します。この値は、AD_INTEGRATION変数をCentrifyに設定した場合にのみ有効になります。 -
WORKGROUP: ADで構成した場合、ワークグループ名(大文字と小文字を区別)を設定します。
-
-
テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを
/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-->
ステップ3f: マスターイメージの作成
-
/opt/Citrix/VDA/sbin/deploymcs.shを実行します。 -
(オプション) テンプレートVMで、構成テンプレートを更新して、作成されたすべてのVM上の関連する
/etc/krb5.conf、/etc/samba/smb.conf、および/etc/sssd/sssd.confファイルをカスタマイズします。Winbindユーザーの場合は、
/etc/xdl/mcs/winbind_krb5.conf.tmplおよび/etc/xdl/mcs/winbind_smb.conf.tmplテンプレートを更新します。SSSDユーザーの場合は、
/etc/xdl/mcs/sssd.conf.tmpl、/etc/xdl/mcs/sssd_krb5.conf.tmpl、および/etc/xdl/mcs/sssd_smb.conf.tmplテンプレートを更新します。Centrifyユーザーの場合は、
/etc/xdl/mcs/centrify_krb5.conf.tmplおよび/etc/xdl/mcs/centrify_smb.conf.tmplテンプレートを更新します。注:
テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、${new_hostname}、$AD_FQDNなどの変数を使用してください。
- テンプレートVMへのアプリケーションのインストールが完了したら、VMwareからテンプレートVMをシャットダウンします。テンプレートVMのスナップショットを作成します。
ステップ4: マシンカタログの作成
Citrix Studioでマシンカタログを作成し、カタログに作成するVMの数を指定します。マシンカタログを作成する際に、スナップショットリストからマスターイメージを選択します。

必要に応じて、他の構成タスクを実行します。詳細については、「Studioを使用したマシンカタログの作成」を参照してください。
ステップ5: デリバリーグループの作成
デリバリーグループは、1つ以上のマシンカタログから選択されたマシンのコレクションです。デリバリーグループは、どのユーザーがそれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳細については、「デリバリーグループの作成」を参照してください。
MCSを使用したNutanix AHV上のLinux VMの作成
ステップ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をインストールした後、Delivery ControllerでXD MCS AHV Pluginを選択してインストールします。

ステップ1b: クラウドDelivery Controller用Nutanix AHVプラグインのインストールと登録
Citrix Virtual Apps and Desktopsをインストールした後、Citrix Cloud Connector用にCWA MCS AHV Pluginを選択してインストールします。AHVのないリソースの場所を提供するCitrix Cloud Connectorであっても、Citrix Cloudテナントに登録されているすべてのCitrix Cloud Connectorにプラグインをインストールする必要があります。
ステップ1c: プラグインのインストール後に以下の手順を完了する
-
C:\Program Files\Common Files\Citrix\HCLPlugins\CitrixMachineCreation\v1.0.0.0にNutanix Acropolisフォルダーが作成されていることを確認します。 -
"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サービスを再起動します。
ヒント:
Nutanix AHVプラグインをインストールまたは更新する際は、Citrix Host、Citrix Broker、およびMachine Creation Servicesを停止してから再起動することをお勧めします。
ステップ2: Citrix StudioでNutanixへのホスティング接続を作成する
- オンプレミスDelivery Controllerの場合は、オンプレミスCitrix Studioで[構成] > [ホスティング] > [接続とリソースの追加] を選択します。クラウドDelivery Controllerの場合は、Citrix Cloud上のWebベースのStudioコンソールで[管理] > [ホスティング] > [接続とリソースの追加] を選択して、Nutanixハイパーバイザーへの接続を作成します。
-
[接続とリソースの追加] ウィザードの[接続] ページで、接続タイプとしてNutanix AHVを選択し、ハイパーバイザーアドレス、資格情報、および接続名を指定します。[ネットワーク] ページで、ホスティングユニットのネットワークを選択します。
たとえば、オンプレミスCitrix Studioの場合:

たとえば、Citrix Cloud上のWebベースのStudioコンソールの場合:

- [ネットワーク] ページで、ホスティングユニットのネットワークを選択します。
ステップ3: テンプレートVMでマスターイメージを準備する
マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれます。マスターイメージを準備するには、以下の手順を完了します。
ステップ3a: テンプレートVMにLinux VDAパッケージをインストールする
注:
実行中のVDAをテンプレートVMとして使用する場合は、この手順をスキップします。
テンプレートVMにLinux VDAパッケージをインストールする前に、.NET Core Runtime 3.1をインストールします。詳しくは、「インストール概要」を参照してください。
お使いのLinuxディストリビューションに基づいて、Linux VDAの環境をセットアップするために次のコマンドを実行します。
RHEL/CentOSの場合:
sudo yum –y localinstall <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
Ubuntu/Debianの場合:
sudo dpkg –i <PATH>/<Linux VDA DEB>
apt-get install -f
<!--NeedCopy-->
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
手順3b:ntfs-3gを提供するEPELリポジトリのインストール
RHEL 8/CentOS 8、RHEL 7/CentOS 7にEPELリポジトリをインストールして、後でdeploymcs.shを実行したときにEPELリポジトリで利用可能なntfs-3gパッケージがインストールされるようにします。
手順3c:SUSE 12へのntfs-3gの手動インストール
SUSE 12プラットフォームでは、ntfs-3gを提供するリポジトリはありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
-
GNU Compiler Collection (GCC)コンパイラシステムとmakeパッケージをインストールします。
sudo zypper install gcc sudo zypper install make <!--NeedCopy--> -
ntfs-3gパッケージをダウンロードします。
-
ntfs-3gパッケージを解凍します。
sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz <!--NeedCopy--> -
ntfs-3gパッケージへのパスを入力します。
sudo cd ntfs-3g_ntfsprogs-<package version> <!--NeedCopy--> -
ntfs-3gをインストールします。
./configure make make install <!--NeedCopy-->
手順3d:ランタイム環境のセットアップ
deploymcs.shを実行する前に、次の操作を行います。
-
/etc/xdl/mcs/mcs.conf内の変数を変更します。mcs.conf構成ファイルは、MCSおよびLinux VDAを設定するための変数を提供します。以下にいくつかの変数を示します。このうちdnsとAD_INTEGRATIONは設定する必要があります。注: 変数に複数の値を設定できる場合は、値を単一引用符で囲み、スペースで区切ります。例:LDAP_LIST=’aaa.lab:389 bbb.lab:389’
-
Use_Existing_Configurations_Of_Current_VDA:現在実行中のVDAの既存の構成を使用するかどうかを決定します。Yに設定すると、MCSで作成されたマシンの構成ファイルは、現在実行中のVDAの対応するファイルと同じになります。ただし、dnsおよびAD_INTEGRATION変数は引き続き構成する必要があります。デフォルト値はNです。これは、マスターイメージ上の構成テンプレートがMCSで作成されたマシンの構成ファイルを決定することを意味します。 -
dns:DNS IPアドレスを設定します。 -
AD_INTEGRATION:Winbind、SSSD、PBIS、またはCentrifyを設定します。MSCがサポートするLinuxディストリビューションとドメイン参加方法の対応表については、この記事の「サポートされるディストリビューション」を参照してください。 -
CENTRIFY_DOWNLOAD_PATH:Centrifyパッケージをダウンロードするためのパスを設定します。この値は、AD_INTEGRATION変数をCentrifyに設定した場合にのみ有効になります。 -
CENTRIFY_SAMBA_DOWNLOAD_PATH:Centrify Sambaパッケージをダウンロードするためのパスを設定します。この値は、AD_INTEGRATION変数をCentrifyに設定した場合にのみ有効になります。 -
WORKGROUP:ADで構成した場合のワークグループ名(大文字と小文字を区別)を設定します。
-
-
テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するために、
/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-->
手順3e:Nutanix AHVでのテンプレートVMのシャットダウンとマスターイメージのスナップショット作成
注:
Citrix Virtual Apps and Desktopsで使用するには、Acropolisスナップショット名に
XD_をプレフィックスとして付ける必要があります。必要に応じて、Acropolisコンソールを使用してスナップショットの名前を変更します。スナップショットの名前を変更した後、カタログの作成ウィザードを再起動して、更新されたリストを取得します。
手順4:マシンカタログの作成
Citrix Studioでマシンカタログを作成し、カタログで作成するVMの数を指定します。Nutanixに固有のコンテナページで、以前にテンプレートVMに指定したコンテナを選択します。マスターイメージページで、イメージスナップショットを選択します。仮想マシンページで、仮想CPUの数とvCPUあたりのコア数を確認します。
必要に応じて、その他の構成タスクを実行します。詳しくは、「Studioを使用したマシンカタログの作成」を参照してください。
注:
Delivery Controller™でのマシンカタログ作成プロセスにかなりの時間がかかる場合は、Nutanix Prismに移動し、Preparationというプレフィックスが付いたマシンを手動でパワーオンします。この方法により、作成プロセスを続行できます。
手順5:デリバリーグループの作成
デリバリーグループは、1つ以上のマシンカタログから選択されたマシンのコレクションです。デリバリーグループは、どのユーザーがこれらのマシンを使用できるか、およびそれらのユーザーが利用できるアプリケーションとデスクトップを指定します。詳しくは、「デリバリーグループの作成」を参照してください。
MCSを使用したLinux VDAの更新
MCSを使用してLinux VDAを更新するには、次の操作を行います。
-
Linux VDAを現在のリリースに更新する前に、.NET Core Runtime 3.1をインストールしたことを確認します。
-
テンプレートマシンで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およびCentOS 8の場合:
```
sudo rpm -U XenDesktopVDA-<version>.el8_x.x86_64.rpm
<!--NeedCopy--> ```
SUSE 12の場合:
```
sudo rpm -U XenDesktopVDA-<version>.sle12_x.x86_64.rpm
<!--NeedCopy--> ```
Ubuntu 16.04の場合:
```
sudo dpkg -i xendesktopvda_<version>.ubuntu16.04_amd64.deb
<!--NeedCopy--> ```
Ubuntu 18.04の場合:
```
sudo dpkg -i xendesktopvda_<version>.ubuntu18.04_amd64.deb
<!--NeedCopy--> ```
Ubuntu 20.04の場合:
```
sudo dpkg -i xendesktopvda_<version>.ubuntu20.04_amd64.deb
<!--NeedCopy--> ```
-
/etc/xdl/mcs/mcs.confおよび/etc/xdl/mcs/mcs_local_setting.regを編集します - 新しいスナップショットを作成します
- Citrix Studioで、新しいスナップショットを選択してマシンカタログを更新します。各マシンが再起動するまで待機します。マシンを手動で再起動しないでください
マシンアカウントパスワードの自動更新
マシンアカウントパスワードは、デフォルトではマシンカタログ作成後30日で期限切れになります。パスワードの期限切れを防ぎ、マシンアカウントパスワードの更新を自動化するには、次の操作を行います。
-
/opt/Citrix/VDA/sbin/deploymcs.shを実行する前に、次のエントリを/etc/xdl/mcs/mcs.confに追加します。UPDATE_MACHINE_PW="enabled" -
/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で作成されたVMでのFASの有効化
次のディストリビューションで実行されているMCSで作成されたVMでFASを有効にできます。
| Winbind | SSSD | Centrify | |
|---|---|---|---|
| RHEL 8, CentOS 8 | はい | いいえ | いいえ |
| RHEL 7, CentOS 7 | はい | はい | いいえ |
| Ubuntu 20.04 | はい | いいえ | いいえ |
| Ubuntu 18.04 | はい | いいえ | いいえ |
| Ubuntu 16.04 | はい | いいえ | いいえ |
| Debian 10.7 | はい | いいえ | いいえ |
| SUSE 12.5 | はい | いいえ | いいえ |
テンプレートVMでマスターイメージを準備する際のFASの有効化
-
ルートCA証明書をインポートします
sudo cp root.pem /etc/pki/CA/certs/ <!--NeedCopy--> -
ctxfascfg.shを実行します -
/etc/xdl/mcs/mcs.confで変数を設定します-
Use_Existing_Configurations_Of_Current_VDAの値をYに設定します -
FAS_LIST変数をFASサーバーアドレス、またはセミコロンで区切られ二重引用符で囲まれた複数のFASサーバーアドレスに設定します(例:FAS_LIST="<FAS_SERVER_FQDN>;<FAS_SERVER_FQDN>") -
VDI_MODEなど、必要に応じて他の変数を設定します
-
- スクリプト
/opt/Citrix/VDA/sbin/deploymcs.shを実行します
MCSで作成されたVMでのFASの有効化
FASが前述のようにテンプレートマシンで有効になっていない場合は、MCSで作成された各VMでFASを有効にできます。
MCSで作成されたVMでFASを有効にするには、次の操作を行います。
-
/etc/xdl/mcs/mcs.confで変数を設定します-
Use_Existing_Configurations_Of_Current_VDAの値をYに設定します -
FAS_LIST変数をFASサーバーアドレスに設定します -
VDI_MODEなど、必要に応じて他の変数を設定します
-
-
ルートCA証明書をインポートします
sudo cp root.pem /etc/pki/CA/certs/ <!--NeedCopy--> -
スクリプト
/opt/Citrix/VDA/sbin/ctxfascfg.shを実行します
注記:
VM起動時にこれらの変数が呼び出されるため、
/etc/xdl/mcs/mcs.confに必要なすべての変数を設定する必要があります。