Linux Virtual Delivery Agent 2103

Machine Creation Services(MCS)を使用したLinux仮想マシンの作成

MCSを使用してLinux仮想マシンを作成するには、ハイパーバイザー上でマスターイメージを準備します。このプロセスでは、テンプレート仮想マシンに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仮想マシンの作成

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

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

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

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

  • 仮想マシンを正しくシャットダウン、再起動、または一時停止する。
  • XenCenterでその仮想マシンのパフォーマンスデータを表示する。
  • 実行中の仮想マシンを移行する(XenMotionを使用)。
  • スナップショットまたはメモリを含んだスナップショット(チェックポイント)を作成したり、スナップショットを復元したりする。
  • 実行中のLinux仮想マシン上の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の [全般] タブで、テンプレート仮想マシンの仮想化状態を確認します。Citrix VM Toolsが正しくインストールされている場合、仮想化の状態は [最適化済み] となります:

    [最適化済み]仮想化の状態

手順1b:テンプレート仮想マシンにLinux VDAパッケージをインストールする

注:

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

テンプレート仮想マシンにLinux VDAパッケージをインストールする前に、.NET Coreランタイム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リポジトリをインストールする

EPELリポジトリをRHEL 8/CentOS 8またはRHEL 7/CentOS 7にインストールし、後から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を設定します。LinuxディストリビューションのマトリックスとMSCがサポートするドメイン参加方法については、この記事の「サポートされているディストリビューション」 を参照してください。
    • 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. (オプション)テンプレート仮想マシン上で構成テンプレートを更新して、作成されたすべての仮想マシン上の/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で、テンプレート仮想マシンをシャットダウンします。マスターイメージのスナップショットを作成して名前を付けます。

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

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

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

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

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

手順1:Citrix StudioでのAzureへのホスティング接続の作成

  1. Citrix CloudのCitrix Studioで、[構成]>[ホスト]>[接続およびリソースの追加] の順に選択して、Azureへの接続を作成します。

    Azureへの接続作成の画像

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

    Azure接続の種類選択の画像

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

    AzureサブスクリプションIDの入力画像

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

    新しいAzure接続の画像

手順2:テンプレート仮想マシンでマスターイメージを準備

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

手順2a:Ubuntu 18.04用にcloud-initを構成する

仮想マシンの再起動または停止時に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:テンプレート仮想マシンにLinux VDAパッケージをインストールする

注:

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

テンプレート仮想マシンにLinux VDAパッケージをインストールする前に、.NET Coreランタイム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リポジトリをインストールする

EPELリポジトリをRHEL 8/CentOS 8またはRHEL 7/CentOS 7にインストールし、後から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の構成ファイルと同じファイルになります。ただし、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. (オプション)テンプレート仮想マシン上で構成テンプレートを更新して、作成されたすべての仮想マシン上の/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. テンプレート仮想マシンにアプリケーションをインストールし、Azure Portalでテンプレート仮想マシンをシャットダウンします。テンプレート仮想マシンの電源状態が、[Stopped(deallocated)] になっていることを確認します。ここでリソースグループの名前を覚えておいてください。Azureでマスターイメージを検索する際に名前が必要です。

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

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

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

テンプレート仮想マシンのVHD表示の画像

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

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

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

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

手順1:Citrix StudioでのVMwareへのホスティング接続の作成

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

  2. Citrix Studioで、[構成]>[ホスト]>[接続およびリソースの追加]の順に選択して、VMware vSphereへの接続を作成します。

    Azureへの接続作成の画像

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

    VMware sphere選択の画像

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

    VMware接続名の画像

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

    新しいsphere接続の画像

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

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

手順2a:テンプレート仮想マシンでLinux VDAパッケージをインストールする

注:

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

テンプレート仮想マシンにLinux VDAパッケージをインストールする前に、.NET Coreランタイム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リポジトリをインストールする

EPELリポジトリをRHEL 8/CentOS 8またはRHEL 7/CentOS 7にインストールし、後から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. (オプション)テンプレート仮想マシン上で構成テンプレートを更新して、作成されたすべての仮想マシン上の/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. テンプレート仮想マシンにアプリケーションをインストールしたら、VMwareでテンプレート仮想マシンをシャットダウンします。テンプレート仮想マシンのスナップショットを作成します。

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

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

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

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

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

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

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

手順1:Citrix StudioでのAWSへのホスティング接続の作成

  1. Citrix CloudのCitrix Studioで、[構成]>[ホスト]>[接続およびリソースの追加] の順に選択して、AWSへの接続を作成します。

    AWSへの接続作成の画像

  2. 接続の種類として [Amazon EC2] を選択します。

    Amazon EC2を選択する画像

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

    アクセスキーペアの画像

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

    1. AWSサービスにサインインします。
    2. IDおよびアクセス管理(IAM)コンソールに移動します。
    3. 左側のナビゲーションペインで、[Users] を選択します。
    4. 対象ユーザーを選択して下にスクロールして、[Security credentials] タブを選択します。
    5. 下にスクロールして、[Create access key] をクリックします。新しいウィンドウが開きます。
    6. [Download .csv file] をクリックし、アクセスキーを安全な場所に保存します。

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

    新しい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が作成した仮想マシンにSSHを使用してリモートアクセスする場合、これらの仮想マシンにキー名がアタッチされていないため、パスワード認証を有効にします。必要に応じて次の操作を実行します。

    • cloud-init構成ファイル/etc/cloud/cloud.cfgを編集します。ssh_pwauth: true行が存在することを確認します。set-password行と次の行が存在する場合は、その行を削除するか、コメントを追加します。

       users:
       - default
       <!--NeedCopy-->
      
    • cloud-initによって作成されたデフォルトユーザーec2-userまたはubuntuを使用する場合は、passwdコマンドを使用してユーザーパスワードを変更できます。新しいパスワードを記録して、MCSが作成した仮想マシンにログインするときに使用できるようにします。
    • /etc/ssh/sshd_configファイルを編集して、次の行が存在することを確認します:

       PasswordAuthentication yes
       <!--NeedCopy-->
      

      ファイルを保存し、sudo service sshd restartコマンドを実行します。

手順2b:テンプレート仮想マシンにLinux VDAパッケージをインストールする

注:

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

テンプレート仮想マシンにLinux VDAパッケージをインストールする前に、.NET Coreランタイム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リポジトリをインストールする

EPELリポジトリをRHEL 8/CentOS 8またはRHEL 7/CentOS 7にインストールし、後から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の構成ファイルと同じファイルになります。ただし、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. (オプション)テンプレート仮想マシン上で構成テンプレートを更新して、作成されたすべての仮想マシン上の/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. テンプレート仮想マシンにアプリケーションをインストールし、AWS EC2 Portalでテンプレート仮想マシンをシャットダウンします。テンプレート仮想マシンのインスタンス状態が、[Stopped] になっていることを確認します。

  4. テンプレート仮想マシンを右クリックし、[Image]>[Create Image]を選択します。必要に応じて情報を入力し、設定を行います。[Create Image] をクリックします。

    EBSイメージ作成の画像

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

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

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

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

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

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

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

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

手順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:テンプレート仮想マシンでLinux VDAパッケージをインストールする

注:

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

テンプレート仮想マシンにLinux VDAパッケージをインストールする前に、.NET Coreランタイム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リポジトリをインストールする

EPELリポジトリをRHEL 8/CentOS 8またはRHEL 7/CentOS 7にインストールし、後から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の構成ファイルと同じファイルになります。ただし、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-->
    

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

  1. /opt/Citrix/VDA/sbin/deploymcs.shを実行します。
  2. (オプション)テンプレート仮想マシン上で構成テンプレートを更新して、作成されたすべての仮想マシン上の/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. テンプレート仮想マシンにアプリケーションをインストールしたら、VMwareでテンプレート仮想マシンをシャットダウンします。テンプレート仮想マシンのスナップショットを作成します。

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

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

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

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

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

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

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分に更新します。

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

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

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

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

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

  Winbind SSSD Centrify
RHEL 8、CentOS 8 はい いいえ いいえ
RHEL 7、CentOS 7 はい はい いいえ
Ubuntu 20.04 はい いいえ いいえ
Ubuntu 18.04 はい いいえ いいえ
Ubuntu 16.04 はい いいえ いいえ
Debian 10.7 はい いいえ いいえ
SUSE 12.5 はい いいえ いいえ

テンプレート仮想マシンでマスターイメージを準備するときに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変数を1つのFASサーバーアドレス、またはセミコロンで区切られ、二重引用符で囲まれた複数のFASサーバーアドレス(例:FAS_LIST="<FAS_SERVER_FQDN>;<FAS_SERVER_FQDN>")に設定します。
    3. VDI_MODEなど、必要に応じて他の変数を設定します。
  5. スクリプト/opt/Citrix/VDA/sbin/deploymcs.shを実行します。

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

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

MCSが作成した仮想マシンで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スクリプトを実行します。

注:

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