Easy install

Easy install は、Linux VDA のバージョン 7.13 以降で正式にサポートされています。Easy install を使用すると、必要なパッケージをインストールし、構成ファイルを自動的にカスタマイズすることで、Linux VDA の実行環境をセットアップできます。

サポートされるディストリビューション

  Winbind SSSD Centrify
RHEL 7.3 Yes Yes Yes
RHEL 6.9 Yes Yes Yes
RHEL 6.6 Yes Yes Yes
CentOS 7.3 Yes Yes Yes
Ubuntu 16.04 Yes Yes Yes
SUSE 12.2 Yes No Yes

Easy install の使用

この機能を使用するには、次の手順を実行します。

  1. 構成情報と Linux マシンを準備します。
    1. Linux VDA パッケージをインストールします。
  • Citrix® の Web サイトにアクセスし、お使いの Linux ディストリビューションに基づいて適切な Linux VDA パッケージをダウンロードします。
    1. ランタイム環境をセットアップして、Linux VDA のインストールを完了します。
  • 手順 1:構成情報と Linux マシンの準備

Easy install に必要な次の構成情報を収集します。

  • ホスト名 - Linux VDA をインストールするマシンのホスト名
  • ドメインネームサーバーの IP アドレス
  • NTP サーバーの IP アドレスまたは文字列名
  • ドメイン名 - ドメインの NetBIOS 名
  • レルム名 - Kerberos レルム名
  • Active Domain の FQDN - 完全修飾ドメイン名

重要:

  • Linux VDA をインストールするには、リポジトリが Linux マシンに正しく追加されていることを確認してください。
  • セッションを起動するには、X Window システムとデスクトップ環境がインストールされていることを確認してください。

手順 2:Linux VDA パッケージのインストール

Linux VDA の環境をセットアップするには、次のコマンドを実行します。

RHEL および CentOS ディストリビューションの場合:

sudo yum  -y localinstall   <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

Ubuntu ディストリビューションの場合:

sudo dpkg -i <PATH>/<Linux VDA deb>
-  sudo apt-get install -f
<!--NeedCopy-->
  • SUSE ディストリビューションの場合:
-  zypper -i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

手順 3:ランタイム環境をセットアップしてインストールを完了する

  • Linux VDA パッケージのインストール後、ctxinstall.sh スクリプトを使用して実行環境を構成します。このスクリプトは、対話モードまたはサイレントモードで実行できます。

  • 対話モード:

  • 手動で構成するには、次のコマンドを実行し、各プロンプトで関連するパラメーターを入力します。

-  sudo /opt/Citrix/VDA/sbin/ctxinstall.sh
<!--NeedCopy-->

サイレントモード:

Easy install をサイレントモードで使用するには、ctxinstall.sh を実行する前に次の環境変数を設定します。

  • CTX_EASYINSTALL_HOSTNAME=host-name – Linux VDA サーバーのホスト名を示します。
  • CTX_EASYINSTALL_DNS=ip-address-of-dns – DNS の IP アドレス。
  • CTX_EASYINSTALL_NTPS=address-of-ntps – NTP サーバーの IP アドレスまたは文字列名。
  • CTX_EASYINSTALL_DOMAIN=domain-name – ドメインの NetBIOS 名。
  • CTX_EASYINSTALL_REALM=realm-name – Kerberos レルム名。
  • CTX_EASYINSTALL_FQDN=ad-fqdn-name
  • CTX_EASYINSTALL_ADINTEGRATIONWAY=winbind | sssd | centrify – Active Directory 統合方法を示します。
  • CTX_EASYINSTALL_USERNAME=domain-user-name – ドメインユーザーの名前を示します。ドメインへの参加に使用されます。
  • CTX_EASYINSTALL_PASSWORD=password – ドメインユーザーのパスワードを指定します。ドメインへの参加に使用されます。

次の変数は ctxsetup.sh で使用されます。

  • CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N – Linux VDA は、DNS CNAME レコードを使用して Delivery Controller 名を指定することをサポートしています。
  • CTX_XDL_DDC_LIST=list-ddc-fqdns – Linux VDA は、Delivery Controller への登録に使用する Delivery Controller の完全修飾ドメイン名(FQDN)のスペース区切りリストを必要とします。少なくとも 1 つの FQDN または CNAME を指定する必要があります。
  • CTX_XDL_VDA_PORT=port-number – Linux VDA は、TCP/IP ポートを介して Delivery Controller と通信します。
  • CTX_XDL_REGISTER_SERVICE=Y | N – Linux Virtual Desktop サービスは、マシンの起動後に開始されます。
    • CTX_XDL_ADD_FIREWALL_RULES=Y | N – Linux Virtual Desktop サービスでは、システムファイアウォールを介した受信ネットワーク接続を許可する必要があります。Linux Virtual Desktop のシステムファイアウォールで、必要なポート(デフォルトではポート 80 および 1494)を自動的に開くことができます。
    • CTX_XDL_HDX_3D_PRO=Y | N – Linux VDA は、リッチグラフィックアプリケーションの仮想化を最適化するために設計された GPU アクセラレーションテクノロジーのセットである HDX 3D Pro をサポートしています。HDX 3D Pro が選択されている場合、VDA は VDI デスクトップ(シングルセッション)モード(つまり、CTX_XDL_VDI_MODE=Y)用に構成されます。
  • CTX_XDL_VDI_MODE=Y | N – マシンを専用デスクトップ配信モデル(VDI)として構成するか、ホスト型共有デスクトップ配信モデルとして構成するか。HDX 3D Pro 環境の場合は、値を Y に設定します。
  • CTX_XDL_SITE_NAME=dns-name – Linux VDA は、DNS を介して LDAP サーバーを検出します。DNS 検索結果をローカルサイトに制限するには、DNS サイト名を指定します。不要な場合は、<none> に設定できます。
  • CTX_XDL_LDAP_LIST=list-ldap-servers – Linux VDA は、DNS を照会して LDAP サーバーを検出します。DNS が LDAP サービスレコードを提供できない場合は、LDAP ポートを持つ LDAP FQDN のスペース区切りリストを指定できます。例:ad1.mycompany.com:389。不要な場合は、<none> に設定できます。
  • CTX_XDL_SEARCH_BASE=search-base-set – Linux VDA は、Active Directory ドメインのルート(例:DC=mycompany,DC=com)に設定された検索ベースを介して LDAP を照会します。検索パフォーマンスを向上させるには、検索ベース(例:OU=VDI,DC=mycompany,DC=com)を指定できます。不要な場合は、<none> に設定できます。
  • CTX_XDL_START_SERVICE=Y | N – 構成完了時に Linux VDA サービスを開始するかどうか。

いずれかのパラメーターが設定されていない場合、インストールは対話モードに戻り、ユーザー入力のプロンプトが表示されます。すべてのパラメーターが環境変数を通じてすでに設定されている場合、ctxinstall.sh スクリプトは回答を求めません。

サイレントモードでは、環境変数を設定してから ctxinstall.sh スクリプトを実行するために、次のコマンドを実行する必要があります。

export CTX_EASYINSTALL_HOSTNAME=host-name

export CTX_EASYINSTALL_DNS=ip-address-of-dns

export CTX_EASYINSTALL_NTPS=address-of-ntps

-  export CTX_EASYINSTALL_DOMAIN=domain-name

export CTX_EASYINSTALL_REALM=realm-name

-  export CTX_EASYINSTALL_FQDN=ad-fqdn-name

export CTX_EASYINSTALL_ADINTEGRATIONWAY=winbind | sssd | centrify

export CTX_EASYINSTALL_USERNAME=domain-user-name

export CTX_EASYINSTALL_PASSWORD=password

export CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N

export CTX_XDL_DDC_LIST=list-ddc-fqdns

    -  export CTX_XDL_VDA_PORT=port-number

export CTX_XDL_REGISTER_SERVICE=Y | N

export CTX_XDL_ADD_FIREWALL_RULES=Y | N

export CTX_XDL_HDX_3D_PRO=Y | N

export CTX_XDL_VDI_MODE=Y | N

export CTX_XDL_SITE_NAME=dns-site-name | '<none>'

export CTX_XDL_LDAP_LIST=list-ldap-servers | '<none>'

export CTX_XDL_SEARCH_BASE=search-base-set | '<none>'

export CTX_XDL_START_SERVICE=Y | N

sudo -E /opt/Citrix/VDA/sbin/ctxinstall.sh
<!--NeedCopy-->

sudo コマンドを実行するときは、-E オプションを入力して、既存の環境変数を新しく作成するシェルに渡します。Citrix では、上記のコマンドから #!/bin/bash を最初の行としてシェルスクリプトファイルを作成することをお勧めします。

または、単一のコマンドを使用してすべてのパラメーターを指定することもできます。

sudo CTX_EASYINSTALL_HOSTNAME=host-name \

CTX_EASYINSTALL_DNS=ip-address-of-dns \

CTX_EASYINSTALL_NTPS=address-of-ntps \

CTX_EASYINSTALL_DOMAIN=domain-name \

CTX_EASYINSTALL_REALM=realm-name \

......

CTX_XDL_SEARCH_BASE=search-base-set \

-  CTX_XDL_START_SERVICE=Y \

/opt/Citrix/VDA/sbin/ctxinstall.sh
<!--NeedCopy-->

考慮事項

  • ワークグループ名はデフォルトでドメイン名です。環境内でワークグループをカスタマイズするには、次の手順を実行します。

    a. Linux VDA マシン上に /tmp/ctxinstall.conf ファイルを作成します。 b. ファイルに workgroup=<your workgroup> の行を追加します。

  • Centrify は純粋な IPv6 DNS 構成をサポートしていません。adclient が AD サービスを適切に検出するには、/etc/resolv.conf に IPv4 を使用する DNS サーバーが少なくとも 1 つ必要です。

  • CentOS 上の Centrify の場合、Easy install は Centrify 環境チェックツールである adcheck で失敗し、次のエラーを報告する可能性があります。

    ログ:

     ADSITE   : Check that this machine's subnet is in a site known by AD   : Failed
              : This machine's subnet is not known by AD.
              : We guess you should be in the site Site1.
     <!--NeedCopy-->
    

    この問題は、Centrify の特殊な構成が原因で発生します。この問題を解決するには、次の手順を実行します。

    a. Delivery Controller で [管理ツール] を開きます。 b. [Active Directory サイトとサービス] を選択します。 c. [サブネット] に正しいサブネットアドレスを追加します。

  • ドメインに参加する方法として Centrify を選択した場合、ctxinstall.sh スクリプトには Centrify パッケージが必要です。ctxinstall.sh が Centrify パッケージを取得する方法は 2 つあります。

トラブルシューティング

このセクションの情報を使用して、この機能の使用中に発生する可能性のある問題をトラブルシューティングします。

SSSD を使用したドメイン参加の失敗

ドメインへの参加を試行すると、次のような出力でエラーが発生する場合があります (画面出力についてはログを確認してください)。

Step 6: join Domain!Enter ctxadmin's password:Failed to join domain: failed to lookup DC info for domain 'CITRIXLAB.LOCAL' over rpc: The network name cannot be found

/var/log/xdl/vda.log:

2016-11-04 02:11:52.317 [INFO ] - The Citrix Desktop Service successfully obtained the following list of 1 delivery controller(s) with which to register: 'CTXDDC.citrixlab.local (10.158.139.214)'.
2016-11-04 02:11:52.362 [ERROR] - RegistrationManager.AttemptRegistrationWithSingleDdc: Failed to register with http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar. Error: General security error (An error occurred in trying to obtain a TGT: Client not found in Kerberos database (6))
2016-11-04 02:11:52.362 [ERROR] - The Citrix Desktop Service cannot connect to the delivery controller 'http://CTXDDC.citrixlab.local:80/Citrix/CdsController/IRegistrar' (IP Address '10.158.139.214')
Check the following:- The system clock is in sync between this machine and the delivery controller.
-  The Active Directory provider (e.g. winbind daemon) service is running and correctly configured.
-  Kerberos is correctly configured on this machine.
If the problem persists, please refer to Citrix Knowledge Base article CTX117248 for further information.
Error Details:
Exception 'General security error (An error occurred in trying to obtain a TGT: Client not found in Kerberos database (6))' of type 'class javax.xml.ws.soap.SOAPFaultException'.
2016-11-04 02:11:52.362 [INFO ] - RegistrationManager.AttemptRegistrationWithSingleDdc: The current time for this VDA is Fri Nov 04 02:11:52 EDT 2016.
Ensure that the system clock is in sync between this machine and the delivery controller.
Verify the NTP daemon is running on this machine and is correctly configured.
2016-11-04 02:11:52.364 [ERROR] - Could not register with any controllers. Waiting to try again in 120000 ms. Multi-forest - false
2016-11-04 02:11:52.365 [INFO ] - The Citrix Desktop Service failed to register with any controllers in the last 470 minutes.
<!--NeedCopy-->

/var/log/messages:

Nov 4 02:15:27 RH-WS-68 [sssd[ldap_child[14867]]]: Failed to initialize credentials using keytab [MEMORY:/etc/krb5.keytab]: Client 'RH-WS-68$@CITRIXLAB.LOCAL' not found in Kerberos database. Unable to create GSSAPI-encrypted LDAP connection.Nov 4 02:15:27 RH-WS-68 [sssd[ldap_child[14867]]]: Client 'RH-WS-68$@CITRIXLAB.LOCAL' not found in Kerberos database

この問題を解決するには:

  1. rm -f /etc/krb5.keytab コマンドを実行します。
  2. net ads leave $REALM -U $domain-administrator コマンドを実行します。
  3. Delivery Controller 上のマシンカタログとデリバリーグループを削除します。
  4. /opt/Citrix/VDA/sbin/ctxinstall.sh を実行します。
  5. Delivery Controller 上にマシンカタログとデリバリーグループを作成します。

Ubuntu デスクトップセッションでのグレースクリーン表示

この問題は、セッションを起動すると空白のデスクトップでブロックされる場合に発生します。さらに、ローカルユーザーアカウントを使用してログオンすると、サーバー OS マシンのコンソールもグレースクリーンを表示します。

この問題を解決するには:

  1. sudo apt-get update コマンドを実行します。
  2. sudo apt-get install unity lightdm コマンドを実行します。
  3. /etc/lightdm/lightdm.conf に次の行を追加します。 greeter-show-manual-login=true

ホームディレクトリの欠落による Ubuntu デスクトップセッションの起動失敗

/var/log/xdl/hdx.log:

2016-11-02 13:21:19.015 <P22492:S1> citrix-ctxlogin: StartUserSession: failed to change to directory(/home/CITRIXLAB/ctxadmin) errno(2)

2016-11-02 13:21:19.017 <P22227> citrix-ctxhdx: logSessionEvent: Session started for user ctxadmin.

2016-11-02 13:21:19.023 <P22492:S1> citrix-ctxlogin: ChildPipeCallback: Login Process died: normal.

2016-11-02 13:21:59.217 <P22449:S1> citrix-ctxgfx: main: Exiting normally.
<!--NeedCopy-->

ヒント:

この問題の根本原因は、ドメイン管理者用のホームディレクトリが作成されていないことです。

この問題を解決するには:

  1. コマンドラインから pam-auth-update と入力します。

  2. 表示されるポップアップウィンドウで、Create home directory login が選択されていることを確認します。

    Ubuntu セッションを起動できないイメージ

dbus エラーによるセッションの起動失敗または早期終了

/var/log/messages (RHEL または CentOS の場合):

Oct 27 04:17:16 CentOS7 citrix-ctxhdx[8978]: Session started for user CITRIXLAB\ctxadmin.

Oct 27 04:17:18 CentOS7 kernel: traps: gnome-session[19146] trap int3 ip:7f89b3bde8d3 sp:7fff8c3409d0 error:0

Oct 27 04:17:18 CentOS7 gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)#012aborting...

Oct 27 04:17:18 CentOS7 gnome-session: gnome-session[19146]: ERROR: Failed to connect to system bus: Exhausted all available authentication mechanisms (tried: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS) (available: EXTERNAL, DBUS_COOKIE_SHA1, ANONYMOUS)

Oct 27 04:17:18 CentOS7 gnome-session: aborting...

Oct 27 04:17:18 CentOS7 citrix-ctxgfx[18981]: Exiting normally.

Oct 27 04:17:18 CentOS7 citrix-ctxhdx[8978]: Session stopped for user CITRIXLAB\ctxadmin.
<!--NeedCopy-->

または、Ubuntu ディストリビューションの場合は、/var/log/syslog ログを使用します。

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] pid.c: Stale PID file, overwriting.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] bluez5-util.c: Failed to get D-Bus connection: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25326]: [pulseaudio] hashmap.c: Assertion 'h' failed at pulsecore/hashmap.c:116, function pa_hashmap_free(). Aborting.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: message repeated 10 times: [ [pulseaudio] core-util.c: Failed to connect to system bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.]

Nov  3 11:03:52 user01-HVM-domU pulseaudio[25352]: [pulseaudio] pid.c: Daemon already running.Nov  3 11:03:58 user01-HVM-domU citrix-ctxgfx[24693]: Exiting normally
<!--NeedCopy-->

一部のグループまたはモジュールは、再起動するまで有効になりません。ログに dbus エラーメッセージが表示される場合は、システムを再起動して再試行することをお勧めします。

SELinux による SSHD のホームディレクトリへのアクセス妨害

ユーザーはセッションを起動できますが、ログオンできません。

/var/log/ctxinstall.log:

Jan 25 23:30:31 yz-rhel72-1 setroubleshoot[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root. For complete SELinux messages. run sealert -l 32f52c1f-8ff9-4566-a698-963a79f16b81

Jan 25 23:30:31 yz-rhel72-1 python[3945]: SELinux is preventing /usr/sbin/sshd from setattr access on the directory /root.

*****  Plugin catchall_boolean (89.3 confidence) suggests   ******************

If you want to allow polyinstantiation to enabled

   Then you must tell SELinux about this by enabling the 'polyinstantiation_enabled' boolean.

You can read 'None' man page for more details.

    Do

       setsebool -P polyinstantiation_enabled 1

*****  Plugin catchall (11.6 confidence) suggests   **************************

If you believe that sshd should be allowed setattr access on the root directory by default.

Then you should report this as a bug.

You can generate a local policy module to allow this access.

      Do

       allow this access for now by executing:

       # grep sshd /var/log/audit/audit.log | audit2allow -M mypol

# semodule -i mypol.pp
<!--NeedCopy-->

この問題を解決するには:

  1. /etc/selinux/config に次の変更を加えて SELinux を無効にします。

    SELINUX=disabled

  2. VDA を再起動します。

Easy install