Machine Creation Services™ (MCS) を使用して Linux VM を作成する

最終公開日 : Nov 13, 2026
7.18 リリース以降、MCS を使用して Linux VM を作成できます。

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

  • AWS
  • シトリックス ハイパーバイザー™
  • マイクロソフト アジュール
  • ヴイエムウェア ブイスフィア
サポートされているもの以外のハイパーバイザーでマスターイメージを準備しようとすると、予期しない結果が発生する可能性があります。

Citrix Hypervisor で MCS を使用して Linux VM を作成する

ステップ 1: マスターイメージを準備する

マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれます。マスターイメージを準備するには、次の手順を実行します。

ステップ 1a: Citrix VM Tools をインストールする

各 VM が xe CLI または XenCenter を使用できるようにするには、Citrix VM Tools をテンプレート VM にインストールする必要があります。ツールがインストールされていないと、VM のパフォーマンスが低下する可能性があります。ツールがないと、次のいずれも実行できません。
  • VM をクリーンにシャットダウン、再起動、または一時停止する。
  • XenCenter で VM のパフォーマンスデータを表示する。
  • 実行中の VM を移行する (XenMotion を介して)。
  • スナップショットまたはメモリ付きスナップショット (チェックポイント) を作成し、スナップショットに戻す。
  • 実行中の Linux VM で vCPU の数を調整する。
  1. 「guest-tools.iso」という名前の Citrix VM Tools をマウントするには、次のコマンドを実行します。
    sudo mount /dev/cdrom /mnt
  2. お使いの Linux ディストリビューションに基づいて、xe-guest-utilities パッケージをインストールするには、次のコマンドを実行します。
    RHEL/CentOS の場合:
    sudo rpm -i /mnt/Linux/xe-guest-utilities_{package-version}_all.rpm
    Ubuntu の場合:
    sudo dpkg -i /mnt/Linux/xe-guest-utilities_{package-version}_all.deb
    SUSE 12 の場合:
    sudo rpm -i /mnt/Linux/xe-guest-utilities_{package-version}_all.rpm
  3. XenCenter の タブでテンプレート VM の仮想化状態を確認します。Citrix VM Tools が正しくインストールされている場合、仮想化状態は になります。
    仮想化状態が最適化されています

ステップ 1b: テンプレート 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>
Ubuntu の場合:
sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
SUSE 12 の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>

ステップ 1c: tdb-tools パッケージをインストールするためのリポジトリを有効にする

RHEL 7サーバーの場合:
subscription-manager repos --enable=rhel-7-server-optional-rpms
RHEL 7ワークステーションの場合:
subscription-manager repos --enable=rhel-7-workstation-optional-rpms

ステップ1d: ntfs-3gを含むEPELリポジトリをインストールする

RHEL 6/CentOS 6、RHEL 7/CentOS 7にEPELリポジトリをインストールします。これにより、後でdeploymcs.shを実行したときに、その中に含まれるntfs-3gパッケージがインストールされます。

ステップ1e: SUSE 12にntfs-3gを手動でインストールする

SUSE 12プラットフォームには、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
  1. GNU Compiler Collection (GCC) コンパイラシステムとmakeパッケージをインストールします。
    sudo zypper install gcc
    sudo zypper install make
  2. ntfs-3gパッケージをダウンロードします。
  3. ntfs-3gパッケージを解凍します。
    sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
  4. ntfs-3gパッケージへのパスを入力します。
    sudo cd ntfs-3g_ntfsprogs-<package version>
  5. ntfs-3gをインストールします。
    ./configure
    make
    make install

ステップ1f: ランタイム環境をセットアップする

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を設定します。
    • WORKGROUP: ワークグループ名を設定します。これは、ADで構成されている場合はNetBIOS名(大文字と小文字を区別)です。それ以外の場合は、デフォルトでドメイン名になります。
  • テンプレートマシンで、必要に応じてレジストリ値を書き込んだり更新したりするためのコマンドラインを /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" --forceupdate -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"

ステップ1g: マスターイメージを作成する

  1. /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。
  2. (オプション)テンプレート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 テンプレートを更新します。
    注: テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、$AD_FQDNなどの変数を使用してください。
  3. Citrix Hypervisorで、テンプレートVMをシャットダウンします。マスターイメージのスナップショットを作成して名前を付けます。

ステップ2:マシンカタログを作成する

Citrix Studioで、マシンカタログを作成し、カタログに作成するVMの数を指定します。必要に応じて、その他の構成タスクを実行します。詳しくは、「Studioを使用してマシンカタログを作成する」を参照してください。

ステップ3: デリバリーグループを作成する

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

MCSを使用してAzure上にLinux VMを作成する

ステップ1:Citrix StudioでAzureへのホスティング接続を作成する

  1. Citrix Studioで、構成 > ホスティング > 接続とリソースの追加を選択して、Azureへの接続を作成します。
    Azureへの接続を作成中
  2. 接続の種類としてMicrosoft Azureを選択します。
    Azure接続の種類を選択中
  3. AzureアカウントのサブスクリプションIDと接続名を入力します。
    AzureサブスクリプションIDを入力中
    ホスティングペインに新しい接続が表示されます。
    新しいAzure接続

ステップ2:テンプレートVMでマスターイメージを準備する

マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。

ステップ2a:Ubuntu 18.04のcloud-initを構成する

VMが再起動または停止されたときにVDAホスト名が保持されるようにするには、次のコマンドを実行します。
echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg
/etc/cloud/cloud.cfg ファイルの system_info セクションに以下の行が存在することを確認してください。
system_info:
   network:
       renderers: ['netplan', 'eni', 'sysconfig']

ステップ 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>
Ubuntu の場合:
sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
SUSE 12 の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>

ステップ 2c: tdb-tools パッケージをインストールするためのリポジトリを有効にする

RHEL 7 サーバーの場合:
subscription-manager repos --enable=rhel-7-server-optional-rpms
RHEL 7 ワークステーションの場合:
subscription-manager repos --enable=rhel-7-workstation-optional-rpms

ステップ 2d: ntfs-3g を含む EPEL リポジトリをインストールする

RHEL 6/CentOS 6、RHEL 7/CentOS 7 に EPEL リポジトリをインストールすると、後で deploymcs.sh を実行したときに、その中に含まれる ntfs-3g パッケージがインストールされます。

ステップ 2e: SUSE 12 に ntfs-3g を手動でインストールする

SUSE 12 プラットフォームには、ntfs-3g を提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3g を手動でインストールしてください。
  1. GNU Compiler Collection (GCC) コンパイラシステムと make パッケージをインストールします。
    sudo zypper install gcc
    sudo zypper install make
  2. ntfs-3g パッケージをダウンロードします。
  3. ntfs-3g パッケージを解凍します。
    sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
  4. ntfs-3g パッケージへのパスを入力します。
    sudo cd ntfs-3g_ntfsprogs-<package version>
  5. ntfs-3g をインストールします。
    ./configure
    make
    make install

ステップ 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 を設定します(SSSD は SUSE ではサポートされていません)。
    • WORKGROUP: ワークグループ名を設定します。これは、AD で構成されている場合は NetBIOS 名(大文字と小文字を区別)です。それ以外の場合は、デフォルトでドメイン名になります。
  • テンプレートマシンで、/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" --forceupdate -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"

ステップ2g: マスターイメージを作成する

  1. /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。
  2. (オプション) テンプレート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 テンプレートを更新します。
    注: テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、$AD_FQDNなどの変数を使用してください。
  3. テンプレートVMにアプリケーションをインストールし、AzureポータルからテンプレートVMをシャットダウンします。テンプレートVMの電源状態が 停止済み (割り当て解除済み) であることを確認してください。ここでリソースグループの名前を覚えておいてください。Azureでマスターイメージを見つけるには、その名前が必要です。
    テンプレートVMの停止済み電源状態

ステップ3:マシンカタログを作成する

Citrix Studioで、マシンカタログを作成し、カタログで作成するVMの数を指定します。マシンカタログを作成する際、テンプレートVMが属するリソースグループからマスターイメージを選択し、テンプレートVMのVHDを見つけます。以下のスクリーンショットを参照してください。
テンプレートVMのVHDを見つける
必要に応じて、その他の構成タスクを実行します。詳細については、「Studioを使用してマシンカタログを作成する」を参照してください。

ステップ 4: デリバリーグループを作成する

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

MCSを使用してVMware vSphere上にLinux VMを作成する

ステップ1: Citrix StudioでVMwareへのホスティング接続を作成する

  1. vSphere環境にvCenter Serverをインストールします。詳細については、VMware vSphereを参照してください。
  2. Citrix Studioで、構成 > ホスティング > 接続およびリソースの追加を選択して、VMware vSphereへの接続を作成します。
    Azureへの接続を作成中
  3. 接続の種類としてVMware vSphereを選択します。
    VMware vSphereを選択中
  4. VMwareアカウントの接続アドレス(vCenter Server URL)、ユーザー名とパスワード、および接続名を入力します。
    VMware接続名
    ホスティングペインに新しい接続が表示されます。
    新しいvSphere接続

ステップ2:マスターイメージを準備する

マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。

ステップ2a:テンプレート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>
Ubuntuの場合:
sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>

ステップ2b: tdb-toolsパッケージをインストールするためのリポジトリを有効にする

RHEL 7サーバーの場合:
subscription-manager repos --enable=rhel-7-server-optional-rpms
RHEL 7ワークステーションの場合:
subscription-manager repos --enable=rhel-7-workstation-optional-rpms

ステップ2c: ntfs-3gを含むEPELリポジトリをインストールする

RHEL 6/CentOS 6、RHEL 7/CentOS 7にEPELリポジトリをインストールします。これにより、後でdeploymcs.shを実行したときに、その中に含まれるntfs-3gパッケージがインストールされます。

ステップ2d: SUSE 12にntfs-3gを手動でインストールする

SUSE 12プラットフォームには、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
  1. GNU Compiler Collection (GCC)コンパイラシステムとmakeパッケージをインストールします。
    sudo zypper install gcc
    sudo zypper install make
  2. ntfs-3gパッケージをダウンロードします。
  3. ntfs-3gパッケージを解凍します。
    sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
  4. ntfs-3gパッケージへのパスを入力します。
    sudo cd ntfs-3g_ntfsprogs-<package version>
  5. ntfs-3gをインストールします。
    ./configure
    make
    make install

Step 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 を設定します(SSSD は SUSE ではサポートされていません)。
    • WORKGROUP: ワークグループ名を設定します。これは、AD で構成されている場合は NetBIOS 名(大文字と小文字を区別)です。それ以外の場合は、デフォルトでドメイン名になります。
  • テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するために、/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" --forceupdate -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"

Step 2f: マスターイメージを作成する

  1. /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。
  2. (オプション)テンプレート 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テンプレートを更新します。
    注: テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、$AD_FQDNなどの変数を使用してください。
  3. テンプレートVMへのアプリケーションのインストールが完了したら、VMwareからテンプレートVMをシャットダウンします。テンプレートVMのスナップショットを作成します。

ステップ3:マシンカタログを作成する

Citrix Studioで、マシンカタログを作成し、カタログに作成するVMの数を指定します。マシンカタログを作成する際に、スナップショットリストからマスターイメージを選択します。
マスターイメージの選択
必要に応じて、その他の構成タスクを実行します。詳しくは、「Studioを使用してマシンカタログを作成する」を参照してください。

ステップ 4: デリバリーグループを作成する

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

MCSを使用してAWS上にLinux VMを作成する

ステップ1:Citrix StudioでAWSへのホスティング接続を作成する

  1. Citrix Studioで、構成 > ホスティング > 接続とリソースの追加を選択して、AWSへの接続を作成します。
    AWSへの接続の作成
  2. 接続の種類としてAmazon EC2を選択します。
    Amazon EC2の選択
  3. AWSアカウントのAPIキーとシークレットキーを入力し、接続名を入力します。
    アクセスキーペア
    「APIキー」はアクセスキーIDであり、「シークレットキー」はシークレットアクセスキーです。これらはアクセスキーペアと見なされます。シークレットアクセスキーを紛失した場合は、アクセスキーを削除して新しいものを作成できます。アクセスキーを作成するには、次の手順を実行します。
    1. AWSサービスにサインインします。
    2. Identity and Access Management (IAM) コンソールに移動します。
    3. 左側のナビゲーションペインで、 を選択します。
    4. 対象ユーザーを選択し、下にスクロールして タブを選択します。
    5. 下にスクロールして をクリックします。新しいウィンドウが表示されます。
    6. をクリックし、アクセスキーを安全な場所に保存します。
    ホスティングペインに新しい接続が表示されます。
    新しいAWS接続

ステップ2:マスターイメージを準備する

マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、VDA、およびその他のソフトウェアが含まれています。マスターイメージを準備するには、次の手順を実行します。

ステップ2a:cloud-initを構成する

  1. EC2インスタンスの再起動または停止時にVDAホスト名が保持されるようにするには、次のコマンドを実行してVDAホスト名を保持します。
    echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg
    Ubuntu 18.04 をご利用の場合は、/etc/cloud/cloud.cfg ファイル内の system_info セクションに、以下の行が含まれていることを確認してください。
    system_info:
        network:
            renderers: ['netplan', 'eni', 'sysconfig']
  2. AWSでMCSによって作成されたVMにリモートでアクセスするためにSSHを使用するには、これらのVMにはキー名がアタッチされていないため、パスワード認証を有効にします。必要に応じて、次の手順を実行します。
    • cloud-init設定ファイル /etc/cloud/cloud.cfg を編集します。ssh_pwauth: true の行が存在することを確認します。set-password の行と、それに続く行が存在する場合は削除またはコメントアウトします。
      users:
      - default
    • cloud-initによって作成されたデフォルトユーザー ec2-user または ubuntu を使用する予定がある場合は、passwd コマンドを使用してユーザーパスワードを変更できます。MCSで作成されたVMにログインするために、新しいパスワードを覚えておいてください。
    • /etc/ssh/sshd_config ファイルを編集して、次の行が存在することを確認します。
      PasswordAuthentication yes
      ファイルを保存し、sudo service sshd restart コマンドを実行します。

ステップ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>
Ubuntuの場合:
sudo dpkg –i  <PATH>/<Linux VDA DEB>

apt-get install -f
SUSE 12の場合:
sudo zypper –i install <PATH>/<Linux VDA RPM>

ステップ2c: tdb-toolsパッケージをインストールするためのリポジトリを有効にする

RHEL 7サーバーの場合:
subscription-manager repos --enable=rhel-7-server-optional-rpms
RHEL 7ワークステーションの場合:
subscription-manager repos --enable=rhel-7-workstation-optional-rpms

ステップ2d: ntfs-3gを含むEPELリポジトリをインストールする

RHEL 6/CentOS 6、RHEL 7/CentOS 7にEPELリポジトリをインストールします。これにより、後でdeploymcs.shを実行したときに、そこに含まれるntfs-3gパッケージがインストールされます。

ステップ2e: SUSE 12にntfs-3gを手動でインストールする

SUSE 12プラットフォームには、ntfs-3gを提供するリポジトリがありません。ソースコードをダウンロードし、コンパイルして、ntfs-3gを手動でインストールします。
  1. GNU Compiler Collection (GCC) コンパイラシステムとmakeパッケージをインストールします。
    sudo zypper install gcc
    sudo zypper install make
  2. ntfs-3gパッケージをダウンロードします。
  3. ntfs-3gパッケージを解凍します。
    sudo tar -xvzf ntfs-3g_ntfsprogs-<package version>.tgz
  4. ntfs-3gパッケージへのパスを入力します。
    sudo cd ntfs-3g_ntfsprogs-<package version>
  5. ntfs-3gをインストールします。
    ./configure
    make
    make install

ステップ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を設定します(SSSDはSUSEではサポートされていません)。
    • WORKGROUP: ワークグループ名を設定します。これは、ADで構成されている場合はNetBIOS名(大文字と小文字を区別)です。そうでない場合は、デフォルトでドメイン名になります。
  • テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するために、コマンドラインを /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" --forceupdate -k "HKLM\System\CurrentControlSet\Control\Citrix\VirtualChannels\Clipboard\ClipboardSelection" -v "Flags" -d "0x00000003"

手順2g:マスターイメージを作成する

  1. /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。
  2. (オプション)テンプレート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 テンプレートを更新します。
    注: テンプレートファイルで使用されている既存の形式を維持し、$WORKGROUP、$REALM、$realm、$AD_FQDNなどの変数を使用してください。
  3. テンプレートVMにアプリケーションをインストールし、AWS EC2ポータルからテンプレートVMをシャットダウンします。テンプレートVMのインスタンス状態が Stopped であることを確認してください。
  4. テンプレートVMを右クリックし、Image > Create Image を選択します。必要な情報を入力し、設定を行います。Create Image をクリックします。
    イメージの作成

ステップ3:マシンカタログを作成する

Citrix Studioで、マシンカタログを作成し、カタログで作成するVMの数を指定します。マシンカタログを作成する際に、マシンテンプレート(以前に作成したマスターイメージ)を選択し、1つ以上のセキュリティグループを選択します。
マシンカタログの作成セキュリティグループの選択
必要に応じて、その他の構成タスクを実行します。詳しくは、「Studio を使用したマシンカタログの作成」を参照してください。

ステップ 4: デリバリーグループを作成する

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

MCS を使用して Linux VDA をアップグレードする

MCS を使用して Linux VDA をアップグレードするには、次の手順を実行します。
  1. テンプレートマシンで Linux VDA をアップグレードします。
    RHEL 7/CentOS 7 の場合:
    sudo rpm -U XenDesktopVDA-19.12.0.50-1.el7_x.x86_64.rpm
    RHEL 6/CentOS 6 の場合:
    sudo rpm -U XenDesktopVDA-19.12.0.50-1.el6_x.x86_64.rpm
    SUSE 12 の場合:
    sudo rpm -U XenDesktopVDA-19.12.0.50-1.sle12_x.x86_64.rpm
    Ubuntu 16.04 の場合:
    sudo dpkg -i xendesktopvda_19.12.0.50-1.ubuntu16.04_amd64.deb
    Ubuntu 18.04 の場合:
    sudo dpkg -i xendesktopvda_19.12.0.50-1.ubuntu18.04_amd64.deb
  2. /etc/xdl/mcs/mcs.conf および /etc/xdl/mcs/mcs_local_setting.reg を編集します。
  3. 新しいスナップショットを作成します。
  4. Citrix Studio で、新しいスナップショットを選択してマシンカタログを更新します。各マシンが再起動するまで待機します。マシンを手動で再起動しないでください。