簡単インストール
簡単インストールは、Linux VDA Version 7.13以降で正式にサポートされています。簡単インストール機能は、必要なパッケージをインストールして、構成ファイルを自動的にカスタマイズすることで、Linux VDAの実行環境をセットアップできます。
サポートされているディストリビューション
Winbind | SSSD | Centrify | |
---|---|---|---|
RHEL 7.3 | はい | はい | はい |
RHEL 6.9 | はい | はい | はい |
RHEL 6.6 | はい | はい | はい |
CentOS 7.3 | はい | はい | はい |
Ubuntu 16.04 | はい | はい | はい |
SUSE 12.2 | はい | いいえ | はい |
簡単インストールの使用
この機能を使用するには、以下の手順に従ってください:
- 構成ファイル情報およびLinuxマシンを準備します。
- Linux VDAパッケージをインストールします。
Citrix Webサイトにアクセスし、環境のLinuxディストリビューションに基づいて適切なLinux VDAパッケージをダウンロードします。 - Linux VDAのインストールを完了するにはRuntime Environmentをセットアップします。
手順1: 構成ファイル情報およびLinuxマシンを準備する
簡単インストールに必要な以下の構成情報を収集します。
- ホスト名 - Linux VDAがインストールされるマシンのホスト名
- ドメインネームサーバーのIPアドレス
- NTPサーバーのIPアドレスまたは文字列名
- ドメイン名 - ドメインのNetBIOS名
- 領域名 - Kerberos領域名
- アクティブドメインの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: Runtime Environmentをセットアップしてインストールを完了する
Linux VDAパッケージのインストール後、ctxinstall.shスクリプトを使用して、実行環境を構成します。このスクリプトは、対話モードまたはサイレントモードで実行できます。
対話モード:
手動構成を実行するには、次のコマンドを実行し、プロンプトごとに関連パラメーターを入力します。
sudo /opt/Citrix/VDA/sbin/ctxinstall.sh
<!--NeedCopy-->
サイレントモード:
サイレントモードで簡単インストールを使用するには、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つまたは複数の完全修飾ドメイン名または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では、HDX 3D Proがサポートされます。これは、強力なグラフィックアプリケーションの仮想化を最適にするための一連のGPUアクセラレーションテクノロジです。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のFQDNおよびLDAPポートのスペース区切りの一覧を指定できます。たとえば、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オプションを指定して実行し、作成する新しいシェルに既存の環境変数を渡します。最初の行として #!/bin/bash を記述し、前述のコマンドからなるシェルスクリプトファイルを作成することをCitrixではお勧めします。
または、次のようにして、1つのコマンドですべてのパラメーターを指定することができます。
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>」という行をこのファイルに追加します。ここで、「your workgroup」はワークグループ名です。 -
CentrifyではピュアIPv6 DNS構成をサポートしていません。
adclient
でADサービスを適切に検索するためには、IPv4を使用するDNSサーバーが/etc/resolv.confに少なくとも1つ存在している必要があります。 -
CentOS上のCentrifyでは、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通りあります。
-
簡単インストールは、インターネットからCentrifyパッケージを自動でダウンロードするために役立ちます。ディストリビューションごとのURLは次のとおりです:
-
Centrifyパッケージをローカルディレクトリから取得します。Centrifyパッケージのディレクトリを指定するには、次の手順を実行します。
a. Linux VDAサーバーで/tmp/ctxinstall.confファイルが存在していない場合は作成します。
b.「centrifypkgpath=<path name>」という行をこのファイルに追加します。ここで、「path name」はパス名です。例:
cat /tmp/ctxinstall.conf set “centrifypkgpath=/home/mydir” ls -ls /home/mydir 9548 -r-xr-xr-x. 1 root root 9776688 May 13 2016 adcheck-rhel4-x86_64 4140 -r--r--r--. 1 root root 4236714 Apr 21 2016 centrifyda-3.3.1-rhel4-x86_64.rpm 33492 -r--r--r--. 1 root root 34292673 May 13 2016 centrifydc-5.3.1-rhel4-x86_64.rpm 4 -rw-rw-r--. 1 root root 1168 Dec 1 2015 centrifydc-install.cfg 756 -r--r--r--. 1 root root 770991 May 13 2016 centrifydc-ldapproxy-5.3.1-rhel4-x86_64.rpm 268 -r--r--r--. 1 root root 271296 May 13 2016 centrifydc-nis-5.3.1-rhel4-x86_64.rpm 1888 -r--r--r--. 1 root root 1930084 Apr 12 2016 centrifydc-openssh-7.2p2-5.3.1-rhel4-x86_64.rpm 124 -rw-rw-r--. 1 root root 124543 Apr 19 2016 centrify-suite.cfg 0 lrwxrwxrwx. 1 root root 10 Jul 9 2012 install-express.sh -> install.sh 332 -r-xr-xr--. 1 root root 338292 Apr 10 2016 install.sh 12 -r--r--r--. 1 root root 11166 Apr 9 2015 release-notes-agent-rhel4-x86_64.txt 4 -r--r--r--. 1 root root 3732 Aug 24 2015 release-notes-da-rhel4-x86_64.txt 4 -r--r--r--. 1 root root 2749 Apr 7 2015 release-notes-nis-rhel4-x86_64.txt 12 -r--r--r--. 1 root root 9133 Mar 21 2016 release-notes-openssh-rhel4-x86_64.txt <!--NeedCopy-->
-
トラブルシューティング
このセクションの情報を参照して、この機能を使用することで発生する可能性のある問題のトラブルシューティングを実行できます。
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
この問題を解決するには、次の手順に従います。
-
rm -f /etc/krb5.keytab
コマンドを実行します。 -
net ads leave $REALM -U $domain-administrator
コマンドを実行します。 - Delivery Controllerでマシンカタログおよびデリバリーグループを削除します。
- /opt/Citrix/VDA/sbin/ctxinstall.shを実行します。
- Delivery Controllerでマシンカタログおよびデリバリーグループを作成します。
Ubuntuのデスクトップセッションで灰色の画面が表示される
セッションを起動すると、空のデスクトップでブロックされる問題が発生します。また、サーバーOSマシンのコンソールでも、ローカルユーザーアカウントを使用してログオンすると灰色の画面が表示されます。
この問題を解決するには、次の手順に従います。
-
sudo apt-get update
コマンドを実行します。 -
sudo apt-get install unity lightdm
コマンドを実行します。 - 次の行を/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-->
ヒント:
この問題の根本原因は、ドメイン管理者のホームディレクトリが作成されていないことです。
この問題を解決するには、次の手順に従います。
-
コマンドラインで、pam-auth-update を入力します。
-
表示されたポップアップウィンドウで、[ログイン時にホームディレクトリを作成する] が選択されていることを確認します。
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ディストリビューションの場合は、log /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エラーメッセージがログに表示される場合、システムを再起動してから再試行することをCitrixではお勧めします。
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-->
この問題を解決するには、次の手順に従います。
-
/etc/selinux/configに次の変更を加えることで、SELinuxを無効にします。
SELINUX=disabled
-
VDAを再起動します。