Linux Virtual Delivery Agent 2103

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.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 はい はい いいえ いいえ
  • Citrix HypervisorでのMCSを使用したLinux VMの作成

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

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

手順1a:Citrix VM Toolsのインストール

各VMがxe CLIまたはXenCenterを使用できるようにするには、テンプレートVMにCitrix VM Toolsをインストールする必要があります。ツールがインストールされていないと、VMのパフォーマンスが低下する可能性があります。ツールがないと、次のいずれも実行できません。

  • VMをクリーンにシャットダウン、再起動、または一時停止する
  • XenCenterでVMのパフォーマンスデータを表示する
  • 実行中のVMを移行する(XenMotion経由)
    • スナップショットまたはメモリ付きスナップショット(チェックポイント)を作成し、スナップショットに戻す
    • 実行中のLinux VMのvCPU数を調整する
  1. guest-tools.isoという名前のCitrix VM Toolsをマウントするには、次のコマンドを実行します。

    sudo mount /dev/cdrom /mnt
    <!--NeedCopy-->
    
  2. 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-->
    
  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>
<!--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-->

手順1c: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-->

手順1d:ntfs-3gを含むEPELリポジトリのインストール

RHEL 8/CentOS 8、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
    <!--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-->
    

手順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を設定します。MSCがサポートするLinuxディストリビューションとドメイン参加方法のマトリックスについては、この記事の「サポートされるディストリビューション」を参照してください。
    • 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-->
    

ステップ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 Cloud™のCitrix Studioで、**[構成]>[ホスティング]>[接続およびリソースの追加]**を選択して、Azureへの接続を作成します。

-  ![Azureへの接続を作成するイメージ](/ja-jp/linux-virtual-delivery-agent/2103/media/create-connection-to-azure.png)
  1. 接続の種類としてMicrosoft Azureを選択します。

    Azure接続の種類を選択するイメージ

  2. 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
<!--NeedCopy-->

/etc/cloud/cloud.cfgファイルのsystem_infoセクションに次の行が存在することを確認します。

system_info:
   network:
       renderers: ['netplan', 'eni', 'sysconfig']
<!--NeedCopy-->

ステップ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を実行したときにそれに含まれる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
    <!--NeedCopy-->
    
  2. ntfs-3gパッケージをダウンロードします。

  3. ntfs-3gパッケージを解凍します。

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

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

ステップ 2e: ランタイム環境のセットアップ

deploymcs.sh を実行する前に、以下を実行します。

  • /etc/xdl/mcs/mcs.conf 内の変数を変更します。mcs.conf 設定ファイルには、MCS および Linux VDA を設定するための変数が含まれています。以下にいくつかの変数を示します。このうち、dnsAD_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 で構成されている場合、ワークグループ名 (大文字と小文字を区別) を設定します。
  • テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するためのコマンドラインを /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-->
    

ステップ 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 にアプリケーションをインストールし、Azure ポータルからテンプレート VM をシャットダウンします。テンプレート VM の電源ステータスが 停止済み (割り当て解除済み) であることを確認します。ここでリソースグループの名前を覚えておいてください。Azure 上でマスターイメージを見つけるには、この名前が必要です。

    • テンプレート VM の停止済み電源ステータスの画像

ステップ 3: マシンカタログの作成

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

-  ![テンプレート VM の VHD を見つける画像](/ja-jp/linux-virtual-delivery-agent/2103/media/find-vhd-of-template-vm2.png)

必要に応じて、その他の構成タスクを実行します。詳細については、「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>
<!--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-->

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

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

ステップ 2c: SUSE 12 への ntfs-3g の手動インストール

SUSE 12 プラットフォームには、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-->
    

ステップ 2d: ランタイム環境のセットアップ

deploymcs.sh を実行する前に、以下を実行します。

  • /etc/xdl/mcs/mcs.conf の変数を変更します。mcs.conf 設定ファイルには、MCS と Linux VDA を設定するための変数が含まれています。以下にいくつかの変数を示します。このうち、dnsAD_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 で構成されている場合、ワークグループ名(大文字と小文字を区別)を設定します。

    • テンプレートマシンで、必要に応じてレジストリ値を書き込むまたは更新するために、/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-->
    

ステップ 2e: マスターイメージの作成

  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 の数を指定します。マシンカタログを作成する際は、スナップショットリストからマスターイメージを選択します。

-  ![マスターイメージを選択する画像](/ja-jp/linux-virtual-delivery-agent/2103/media/choose-master-image-from-the-list.png)

-  必要に応じて、他の構成タスクを実行します。詳細については、「[Studio を使用したマシンカタログの作成](/ja-jp/citrix-virtual-apps-desktops/install-configure/machine-catalogs-create.html)」を参照してください。

ステップ 4: デリバリーグループの作成

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

MCS を使用した AWS での Linux VM の作成

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

  1. Citrix Cloud の 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. .csv ファイルのダウンロード をクリックし、アクセスキーを安全な場所に保存します。

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

    新しい AWS 接続の画像

ステップ 2: マスターイメージの準備

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

ステップ 2a: cloud-init の構成

  1. 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-->
    
  2. 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: テンプレート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を実行したときに、それに含まれる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
    <!--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-->
    

ステップ 2e: ランタイム環境のセットアップ

deploymcs.shを実行する前に、次の操作を行います。

  • /etc/xdl/mcs/mcs.conf内の変数を変更します。mcs.conf構成ファイルには、MCSとLinux VDAを設定するための変数が含まれています。以下にいくつかの変数を示しますが、そのうちdnsAD_INTEGRATIONは設定する必要があります。

    注: 変数に複数の値を設定できる場合は、値を単一引用符で囲み、スペースで区切ります。例: LDAP_LIST=’aaa.lab:389 bbb.lab:389.’

    • Use_Existing_Configurations_Of_Current_VDA: 現在実行中のVDAの既存の構成を使用するかどうかを決定します。Yに設定すると、MCSで作成されたマシンの構成ファイルは、現在実行中のVDAの対応するファイルと同じになります。ただし、dnsAD_INTEGRATION変数は引き続き構成する必要があります。デフォルト値はNであり、これはMCSで作成されたマシンの構成ファイルがマスターイメージ上の構成テンプレートによって決定されることを意味します。
    • dns: DNS IPアドレスを設定します。
    • AD_INTEGRATION: WinbindまたはSSSDを設定します(SSSDはSUSEではサポートされていません)。
    • 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-->
    

ステップ 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にアプリケーションをインストールし、AWS EC2ポータルからテンプレートVMをシャットダウンします。テンプレートVMのインスタンス状態が停止済みであることを確認します。

  4. テンプレートVMを右クリックし、イメージ > イメージの作成を選択します。必要に応じて情報を入力し、設定を行います。イメージの作成をクリックします。

    EBSイメージ作成の画像

ステップ 3: マシンカタログの作成

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

マシンカタログ作成の画像

セキュリティグループ選択の画像

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

ステップ 4: デリバリーグループの作成

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

MCSを使用したGCPでのLinux VMの作成

ステップ 1: GCP環境のセットアップ

詳細については、Google Cloud Platform仮想化環境を参照してください。

ステップ 2: Citrix StudioでのGCPへのホスティング接続の作成

  1. Citrix Cloud上のCitrix Studioで、構成 > ホスティング > 接続とリソースの追加 を選択してGCPへの接続を作成します

    GCPへの接続を作成するイメージ

  2. 接続の種類として Google Cloud Platform を選択します

    Amazon EC2を選択するイメージ

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

    アクセスキーペアのイメージ

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

    新しいGCP接続のイメージ

ステップ 3: マスターイメージの準備

マスターイメージには、オペレーティングシステム、非仮想化アプリケーション、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を実行すると、その中に含まれるntfs-3gパッケージがインストールされます。

ステップ 3c: SUSE 12へのntfs-3gの手動インストール

SUSE 12プラットフォームには、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-->
    

ステップ 3d: ランタイム環境のセットアップ

deploymcs.shを実行する前に、次の手順を実行します。

  • /etc/xdl/mcs/mcs.confの変数を変更します。mcs.conf構成ファイルには、MCSとLinux VDAを設定するための変数が含まれています。以下にいくつかの変数を示しますが、そのうちdnsAD_INTEGRATIONは設定する必要があります

    注:変数を複数の値で設定できる場合は、値を単一引用符で囲み、スペースで区切ります。例:LDAP_LIST=’aaa.lab:389 bbb.lab:389’

    • Use_Existing_Configurations_Of_Current_VDA:現在実行中のVDAの既存の構成を使用するかどうかを決定します。Yに設定すると、MCSで作成されたマシンの構成ファイルは、現在実行中のVDAの同等のファイルと同じになります。ただし、dnsAD_INTEGRATION変数は引き続き構成する必要があります。デフォルト値はNであり、これはMCSで作成されたマシンの構成ファイルがマスターイメージ上の構成テンプレートによって決定されることを意味します
    • dns:DNS IPアドレスを設定します
    • AD_INTEGRATION:WinbindまたはSSSDを設定します(SSSDはSUSEではサポートされていません)
    • 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: マスターイメージの作成

  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のスナップショットを作成します

ステップ 4: マシンカタログの作成

Citrix Studio でマシンカタログを作成し、カタログに作成する VM の数を指定します。マシンカタログの作成時に、スナップショットリストからマスターイメージを選択します。

マスターイメージの選択の画像

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

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

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

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

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

  1. Linux VDA を現在のリリースにアップグレードする前に、.NET Core ランタイム 3.1 をインストールしていることを確認します。

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

    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-->
    
  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="enabled"

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

マシンアカウントパスワードが更新されるたびに、デリバリーコントローラー上のチケットキャッシュが無効になり、/var/log/xdl/jproxy.log に次のエラーが表示される場合があります。

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

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

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 の有効化

  1. スクリプト opt/Citrix/VDA/sbin/ctxinstall.sh を実行し、FAS サーバーのリストなど、すべての環境変数を設定します。環境変数の詳細については、「簡単なインストール」を参照してください。

    sudo /opt/Citrix/VDA/sbin/ctxinstall.sh
    <!--NeedCopy-->
    
  2. ルート CA 証明書をインポートします。

    sudo cp root.pem /etc/pki/CA/certs/
    <!--NeedCopy-->
    
  3. ctxfascfg.sh を実行します。

  4. /etc/xdl/mcs/mcs.conf で変数を設定します。
    1. Use_Existing_Configurations_Of_Current_VDA の値を Y に設定します。
    2. FAS_LIST 変数を FAS サーバーアドレス、またはセミコロンで区切られ二重引用符で囲まれた複数の FAS サーバーアドレスに設定します。例:FAS_LIST="<FAS_SERVER_FQDN>;<FAS_SERVER_FQDN>"
    3. VDI_MODE など、必要に応じて他の変数を設定します。
  5. スクリプト /opt/Citrix/VDA/sbin/deploymcs.sh を実行します。

MCS で作成された VM での FAS の有効化

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

MCS で作成された VM で FAS を有効にするには、次の手順を実行します。

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

    1. Use_Existing_Configurations_Of_Current_VDA の値を Y に設定します。
    2. FAS_LIST 変数を FAS サーバーアドレスに設定します。
    3. VDI_MODE など、必要に応じて他の変数を設定します。
  2. ルート CA 証明書をインポートします。

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

注:

これらの変数は VM の起動時に呼び出されるため、/etc/xdl/mcs/mcs.conf で必要なすべての変数を設定する必要があります。