Linux Virtual Delivery Agent

簡単インストールによるドメイン参加済みVDAの作成

重要:

  • 新規インストールの場合、簡単インストールについてはこの記事を参照することをお勧めします。この記事では、簡単インストールを使用してLinux VDAをインストールおよび構成する方法について説明します。簡単インストールは時間と労力を節約するだけでなく、手動のインストールよりもエラーを減らすことができます。必要なパッケージをインストールして、構成ファイルを自動的にカスタマイズすることで、Linux VDAの実行環境をセットアップできます。

  • ドメイン非参加のVDAを作成するには、Machine Creation Services(MCS)を使用する必要があります。詳しくは、「ドメイン非参加のLinux VDAの作成」を参照してください。

  • ドメイン非参加のVDAで利用可能な機能について詳しくは、「ドメイン非参加のVDA」を参照してください。

手順1: 構成ファイル情報およびLinuxマシンの準備

簡単インストールに必要な以下の構成情報を収集します:

  • ホスト名 - Linux VDAがインストールされるマシンのホスト名
  • ドメインネームサーバーのIPアドレス
  • NTPサーバーのIPアドレスまたは文字列名
  • ドメイン名 - ドメインのNetBIOS名
  • 領域名 - Kerberos領域名
  • ドメインの完全修飾ドメイン名(FQDN)

重要:

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

注意事項

  • ワークグループ名はデフォルトではドメイン名です。ご使用の環境内のワークグループをカスタマイズするには、以下の手順に従ってください。

    a. Linux VDAマシンで、/tmp/ctxinstall.confファイルを作成します。
    b.「workgroup=<your workgroup>」という行をこのファイルに追加して、変更を保存します。ここで、「your workgroup」はワークグループ名です。

  • CentrifyではピュアIPv6 DNS構成をサポートしていません。adclientがADサービスを適切に見つけるためには、IPv4を使用するDNSサーバーが/etc/resolv.confに少なくとも1つ存在している必要があります。

    ログ:

     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. ドメインコントローラーの [管理ツール] を開きます。
    b.[Active Directoryのサイトとサービス] を選択します。
    c.[サブネット] の適切なサブネットアドレスを追加します。

  • VDAを特定のOUに追加するには、次の手順を実行します:

    1. 特定のOUがドメインコントローラーに存在することを確認してください。

      OUの例として、以下のスクリーンショットを参照してください。

      OUの例

    2. VDAで/tmp/ctxinstall.confファイルを作成します。
    3. 「ou=<your ou>」行を/tmp/ctxinstall.confファイルに追加します。ここで、<your ou>は対象のOUです。

      OUの値は、ADの方法によって異なります。次の表は、上記のスクリーンショットにおけるOU名の例に基づいています。これ以外の、所属する組織の任意のOU名を使用することができます。

      OS Winbind SSSD Centrify PBIS
      Amazon Linux 2 ou="Linux/amazon" ou="Linux/amazon" ou="XD.LOCAL/Linux/amazon" ou="Linux/amazon"
      Debian ou="Linux/debian" ou="Linux/debian" ou="XD.LOCAL/Linux/debian" ou="Linux/debian"
      RHEL 8、Rocky Linux 8 ou="OU=redhat,OU=Linux" ou="OU=redhat,OU=Linux" ou="XD.LOCAL/Linux/redhat" ou="Linux/redhat"
      RHEL 7 ou="Linux/redhat" ou="Linux/redhat" ou="XD.LOCAL/Linux/redhat" ou="Linux/redhat"
      SUSE ou="Linux/suse" ou="Linux/suse" ou="XD.LOCAL/Linux/suse" ou="Linux/suse"
      Ubuntu ou="Linux/ubuntu" ou="Linux/ubuntu" ou="XD.LOCAL/Linux/ubuntu" ou="Linux/ubuntu"
  • 簡単インストールは、Linux VDA 7.16以降のピュアIPv6をサポートしています。以下のような前提条件と制限事項があります:

    • お使いのマシンがピュアIPv6ネットワーク経由で必要なパッケージをダウンロードできるように、Linuxリポジトリを設定する必要があります。
    • Centrifyは、ピュアIPv6ネットワークではサポートされていません。

    注:

    ご使用のネットワークがピュアIPv6で、すべての入力が適切なIPv6形式である場合、VDAはIPv6を使用してDelivery Controllerに登録します。ご使用のネットワークがIPv4IPv6のハイブリッド構成である場合、最初のDNS IPアドレスの種類によって、IPv4またはIPv6のどちらが登録に使用されるかが決まります。

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

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

    • 簡単インストールは、インターネットからPBISパッケージを自動でダウンロードするために役立ちます。ディストリビューションごとのURLは次のとおりです:

      CentOS 7、RHEL 7、SUSE 12.5: wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.rpm.sh

      Amazon Linux 2、RHEL 8、Rocky Linux 8、SUSE 15.3、SUSE 15.2:wget https://github.com/BeyondTrust/pbis-open/releases/download/9.1.0/pbis-open-9.1.0.551.linux.x86_64.rpm.sh

      Debian、Ubuntu: wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.deb.sh

    • インターネットからPBISパッケージの特定のバージョンを取得します。このためには、/opt/Citrix/VDA/sbin/ctxinstall.shファイルの「pbisDownloadPath」行を変更してPBISパッケージのURLを指定します。

      例として、以下のスクリーンショットを参照してください:

      特定のバージョンのPBISパッケージの取得

手順2:ハイパーバイザーの準備

サポートされるハイパーバイザー上で仮想マシンとしてLinux VDAを実行する場合、いくつかの変更が必要です。使用するハイパーバイザーのプラットフォームに合わせて、次の変更を行います。ベアメタルハードウェアでLinuxマシンを実行する場合、変更は必要ありません。

Citrix Hypervisorでの時刻同期の修正

Citrix Hypervisorの時刻同期機能が有効な場合、それぞれの準仮想化Linux仮想マシンで、NTPとCitrix Hypervisorで問題が発生します。これは、NTPとCitrix Hypervisorの両方がシステムの時間を管理しようとすることが原因です。システムの時間と他のサーバーの時間との同期が失われるのを防ぐには、各Linuxゲストのシステムの時間がNTPと同期する必要があります。この場合、ホストの時刻同期を無効にする必要があります。HVMモードでは、変更は必要ありません。

Citrix VM Toolsがインストールされた準仮想化Linuxカーネルを実行している場合、Citrix Hypervisorの時刻同期機能が存在するかどうかと、Linux仮想マシン内で有効になっているかどうかを確認できます:

su -

cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

このコマンドは0または1を返します:

  • 0 - 時刻同期機能が有効になっているため、無効にする必要があります。
  • 1 - 時刻同期機能が無効になっています。これ以上の操作は必要ありません。

/proc/sys/xen/independent_wallclockファイルが存在しない場合、以下の手順は必要ありません。

時刻同期機能が有効になっている場合は、ファイルに「1」と書き込んで無効にします:

sudo echo 1 > /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

この変更を永続化し、再起動後も保持するには、/etc/sysctl.confファイルを編集して、次の行を追加します:

xen.independent_wallclock = 1

これらの変更を確認するため、次のようにしてシステムを再起動します:

su -

cat /proc/sys/xen/independent_wallclock
<!--NeedCopy-->

このコマンドは1を返します。

Microsoft Hyper-Vでの時刻同期の修正

Hyper-V Linux統合サービスがインストールされたLinux仮想ホストでは、Hyper-Vの時刻同期機能を適用してホストオペレーティングシステムの時間を利用できます。システムの時間を正確な状態で維持するには、NTPサービスとともにこの機能を有効にする必要があります。

管理オペレーティングシステムで、次の操作を行います。

  1. Hyper-Vマネージャーを開きます。
  2. Linux仮想マシンの設定で、[統合サービス] を選択します。
  3. [時刻の同期] が選択されていることを確認します。

注:

この方法はVMwareおよびCitrix Hypervisorの場合とは異なります。VMwareおよびCitrix Hypervisorでは、NTPとの競合を避けるためにホストの時刻同期を無効にします。Hyper-Vの時刻同期は、NTPと共存し、NTPの時刻同期を補完することができます。

ESXおよびESXiでの時刻同期の修正

VMwareの時刻同期機能が有効な場合、それぞれの準仮想化Linux仮想マシンで、NTPとハイパーバイザーで問題が発生します。これは、NTPとハイパーバイザーの両方がシステムの時間を同期しようとすることが原因です。システムの時間と他のサーバーの時間との同期が失われるのを防ぐには、各Linuxゲストのシステムの時間がNTPと同期する必要があります。この場合、ホストの時刻同期を無効にする必要があります。

VMware Toolsをインストールした状態で準仮想化Linuxカーネルを実行している場合は、次の操作を行います。

  1. vSphere Clientを開きます。
  2. Linux仮想マシンの設定を編集します。
  3. [仮想マシンのプロパティ] ダイアログボックスで、[オプション] タブをクリックします。
  4. [VMware Tools] を選択します。
  5. [詳細] ボックスで、[ホストとゲスト時刻を同期] チェックボックスをオフにします。

手順3:前提条件として.NETランタイム6.0をインストール

Linux VDAのインストール前に、https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-managersの手順に従って.NETランタイム6.0をインストールします。

.NETランタイム6.0のインストール後、which dotnetコマンドを実行してランタイムパスを特定します。

コマンド出力に基づいて、.NETランタイムのバイナリパスを設定します。たとえば、コマンド出力が/aa/bb/dotnetの場合、/aa/bbを.NETバイナリパスとして使用します。

手順4:Linux VDAパッケージのダウンロード

Citrix Virtual Apps and Desktopsのダウンロードページにアクセスします。適切なバージョンのCitrix Virtual Apps and Desktopsを展開し、Componentsをクリックして、使用中のLinuxディストリビューションに対応するLinux VDAパッケージをダウンロードします。

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

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

RHEL/CentOS/Rocky Linuxディストリビューションの場合:

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

注:

GCPでホストされているRHEL 8.xにLinux VDAをインストールすると、イーサネット接続が失われ、仮想マシンの再起動後にLinux VDAにアクセスできなくなることがあります。この問題を回避するには、仮想マシンの起動前に次のコマンドを実行します:

nmcli dev connect eth0
systemctl NetworkManager restart
<!--NeedCopy-->

Ubuntu/Debianディストリビューション

sudo dpkg -i <PATH>/<Linux VDA deb>
sudo apt-get install -f
<!--NeedCopy-->

注:

Debianディストリビューションに必要な依存関係をインストールするには、/etc/apt/sources.listファイルにdeb http://deb.debian.org/debian/ oldstable main行を追加します。

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

zypper -i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->

手順6:NVIDIA GRIDドライバーのインストール

HDX 3D Proを有効にするには、ハイパーバイザーとVDAマシンにNVIDIA GRIDドライバーをインストールする必要があります。

特定のハイパーバイザーにNVIDIA GRID Virtual GPU Manager(ホストドライバー)をインストールして構成するには、次のガイドを参照してください:

NVIDIA GRIDゲストVMドライバーをインストールして構成するには、次の一般的な手順を実行します:

  1. ゲストVMがシャットダウンされていることを確認します。
  2. ハイパーバイザーのコントロールパネルで、GPUをVMに割り当てます。
  3. 仮想マシンを起動します。
  4. ゲストVMドライバーをVMにインストールします。

手順7: Runtime Environmentをセットアップしてインストールを完了する

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

注:

ランタイム環境をセットアップする前に、en_US.UTF-8ロケールがOSにインストールされていることを確認します。OSにこのロケールがない場合は、sudo locale-gen en_US.UTF-8コマンドを実行します。Debianの場合は、# en_US.UTF-8 UTF-8行のコメントを解除して/etc/locale.genファイルを編集してから、sudo locale-genコマンドを実行します。

対話モード:

対話モードで簡単インストールを使用するには、次の2つの方法があります:

  • sudo /opt/Citrix/VDA/sbin/ctxinstall.shコマンドを実行し、コマンドラインインターフェイスの各プロンプトで関連するパラメーターを入力します。
  • VDAのデスクトップ環境で/opt/Citrix/VDA/bin/easyinstallコマンドを実行してから、簡単インストールのGUIの指示に従います。

簡単インストールのGUI

簡単インストールのGUIは、次の操作をガイドします:

  • システム環境を確認する
  • 依存関係をインストールする
  • 指定されたドメインにVDAを参加させる
  • ランタイム環境を構成する

サイレントモード:

サイレントモードで簡単インストールを使用するには、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 | pbis - 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_FAS_LIST=’list-fas-servers’ - フェデレーション認証サービス(FAS)サーバーは、ADグループポリシーにより構成されます。Linux VDAはADグループポリシーをサポートしていません。代わりに、セミコロンで区切られたFASサーバーの一覧を使用できます。シーケンスは、ADグループポリシーで設定したものと同じである必要があります。いずれかのサーバーアドレスが削除されている場合は、その空白を <none> という文字列で埋めて、サーバーアドレスの順番は変更しません。
  • CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime - 新しいブローカーエージェントサービス(ctxvda)をサポートするための.NETランタイム6.0をインストールするパス。デフォルトのパスは/usr/binです。
  • CTX_XDL_DESKTOP_ENVIRONMENT=gnome/mate - セッションで使用するGNOMEまたはMATEデスクトップ環境を指定します。変数を指定しないままにすると、現在VDAにインストールされているデスクトップが使用されます。ただし、現在インストールされているデスクトップがMATEの場合は、変数値をmateに設定する必要があります。

    次の手順を実行して、ターゲットセッションユーザーのデスクトップ環境を変更することもできます:

    1. VDAの $HOME/<username> ディレクトリに.xsessionまたは.Xclientsファイルを作成します。ここで、usernameはユーザー名です。Amazon Linux 2を使用している場合は、.Xclientsファイルを作成します。他のディストリビューションを使用している場合は、.xsessionファイルを作成します。
    2. .xsessionまたは.Xclientsファイルを編集して、ディストリビューションに基づいてデスクトップ環境を指定します。

      • Amazon Linux 2、Debian、RHEL 8、SUSE 15、およびUbuntu上のMATEデスクトップの場合

         MSESSION="$(type -p mate-session)"  
         if [ -n "$MSESSION" ]; then  
           exec mate-session  
         fi  
        
      • CentOS、RHEL、SUSE 15、およびSUSE 12.5上のGNOMEデスクトップの場合

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         export GNOME_SHELL_SESSION_MODE=classic  
         exec gnome-session --session=gnome-classic  
         fi  
        
      • Amazon Linux 2、UbuntuおよびDebian上のGNOMEデスクトップの場合

         GSESSION="$(type -p gnome-session)"  
         if [ -n "$GSESSION" ]; then  
         exec gnome-session  
         fi  
        
    3. ターゲットセッションユーザーと700ファイルのアクセス権限を共有します。
  • CTX_XDL_START_SERVICE= Y | N - 構成の完了時にLinux VDAサービスが開始されるようにするかどうかを指定します。
  • CTX_XDL_TELEMETRY_SOCKET_PORT – Citrix Scoutをリッスンするためのソケットポート。デフォルトのポートは7503です。
  • CTX_XDL_TELEMETRY_PORT – Citrix Scoutと通信するためのポート。デフォルトのポートは7502です。

設定されていないパラメーターがあるとインストールは対話モードにロールバックし、ユーザー入力が求められます。すべてのパラメーターが環境変数を使用して既に設定されている場合、ctxinstall.shスクリプトは、.NETランタイム6.0をインストールするためのパスの入力を要求します。

サイレントモードでは、次のコマンドを実行して環境変数を設定してから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 | pbis

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_FAS_LIST='list-fas-servers' | '<none>'

export CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime

export CTX_XDL_DESKTOP_ENVIRONMENT= gnome | mate | '<none>'

export CTX_XDL_TELEMETRY_SOCKET_PORT=port-number

export CTX_XDL_TELEMETRY_PORT=port-number

export CTX_XDL_START_SERVICE=Y | N

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

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

または、次のようにして、1つのコマンドですべてのパラメーターを指定することができます:

sudo CTX_XDL_SUPPORT_DDC_AS_CNAME=Y|N \

CTX_XDL_DDC_LIST='list-ddc-fqdns' \

CTX_XDL_VDA_PORT=port-number \

CTX_XDL_REGISTER_SERVICE=Y|N \

CTX_XDL_ADD_FIREWALL_RULES=Y|N \

CTX_XDL_AD_INTEGRATION=1|2|3|4 \

CTX_XDL_HDX_3D_PRO=Y|N \

CTX_XDL_VDI_MODE=Y|N \

CTX_XDL_SITE_NAME=dns-name \

CTX_XDL_LDAP_LIST='list-ldap-servers' \

CTX_XDL_SEARCH_BASE=search-base-set \

CTX_XDL_FAS_LIST='list-fas-servers' \

CTX_XDL_DOTNET_RUNTIME_PATH=path-to-install-dotnet-runtime \

CTX_XDL_DESKTOP_ENVIRONMENT=gnome | mate \

CTX_XDL_TELEMETRY_SOCKET_PORT=port-number \

CTX_XDL_TELEMETRY_PORT=port-number \

CTX_XDL_START_SERVICE=Y|N \

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

手順8:XDPingの実行

sudo /opt/Citrix/VDA/bin/xdpingを実行して、Linux VDA環境での一般的な構成の問題を確認します。詳しくは、「XDPing」を参照してください。

手順9:Linux VDAの実行

Linux VDAの起動:

Linux VDAサービスを起動するには、次のコマンドを実行します:

sudo /sbin/service ctxhdx start

sudo /sbin/service ctxvda start
<!--NeedCopy-->

Linux VDAの停止:

Linux VDAサービスを停止するには、次のコマンドを実行します:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx stop
<!--NeedCopy-->

注:

ctxvdaおよびctxhdxサービスを停止する前に、systemctl ctxmonitorservice stopコマンドを実行して監視サービスデーモンを停止します。これを実行しない場合、監視サービスデーモンは停止したサービスを再起動します。

Linux VDAの再起動:

Linux VDAサービスを再起動するには、次のコマンドを実行します:

sudo /sbin/service ctxvda stop

sudo /sbin/service ctxhdx restart

sudo /sbin/service ctxvda start
<!--NeedCopy-->

Linux VDAの状態の確認:

Linux VDAサービスの実行状態を確認するには、次のコマンドを実行します:

sudo /sbin/service ctxvda status

sudo /sbin/service ctxhdx status
<!--NeedCopy-->

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

マシンカタログを作成し、Linux VDAマシンを追加する手順は、従来のWindows VDAでの方法と似ています。このタスクを完了する方法の説明について詳しくは、「マシンカタログの作成」および「マシンカタログの管理」を参照してください。

次のように、Linux VDAマシンを含むマシンカタログの作成にはいくつかの制約があるため、Windows VDAマシンのマシンカタログの作成手順と異なる点があります:

  • オペレーティングシステムには、次を選択します:
    • ホストされる共有デスクトップ配信モデルの場合、マルチセッションOSオプション
    • VDI専用デスクトップ配信モデルの場合、シングルセッションOSオプション。
  • 同じマシンカタログで、Linux VDAマシンとWindows VDAマシンを混在させないでください。

注:

Citrix Studioの以前のバージョンは、「Linux OS」という概念をサポートしていませんでした。ただし、[WindowsサーバーOS] オプションまたは [サーバーOS] オプションを選択すると、同等のホストされる共有デスクトップ配信モデルが暗黙的に選択されます。[WindowsデスクトップOS] オプションまたは [デスクトップOS] オプションを選択すると、マシンごとに単一ユーザーの配信モデルが暗黙的に選択されます。

ヒント:

マシンがActive Directoryドメインから削除された後に再度追加された場合は、そのマシンをマシンカタログから削除してから再度追加する必要があります。

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

デリバリーグループを作成し、Linux VDAマシンを含むマシンカタログを追加する手順は、Windows VDAマシンの場合とほとんど同じです。このタスクを完了する方法の説明について詳しくは、「デリバリーグループの作成」を参照してください。

Linux VDAマシンカタログを含むデリバリーグループを作成する場合は、次の制約があります:

  • 選択するADユーザーおよびグループを、Linux VDAマシンにログオンするように適切に構成しておきます。
  • 認証されていない(匿名)ユーザーのログオンを許可しないでください。
  • Windowsマシンを含むマシンカタログをデリバリーグループで混在させないでください。

重要:

アプリケーションの公開は、Linux VDAバージョン1.4以降でサポートされています。ただし、同一マシンへのデスクトップおよびアプリの配信は、Linux VDAでサポートされていません。

マシンカタログおよびデリバリーグループの作成方法について詳しくは、「Citrix Virtual Apps and Desktops 7 2203」を参照してください。

トラブルシューティング

このセクションの情報を参照して、簡単インストール機能を使用することで発生する可能性のある問題のトラブルシューティングを実行できます。

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のデスクトップセッションで灰色の画面が表示される

セッションを起動すると、空のデスクトップでブロックされる問題が発生します。また、マシンのコンソールでも、ローカルユーザーアカウントを使用してログオンすると灰色の画面が表示されます。

この問題を解決するには、次の手順を実行します:

  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. 表示されたダイアログで、[ログイン時にホームディレクトリを作成する] が選択されていることを確認します。

    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ディストリビューションの場合は、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エラーメッセージがログに表示される場合、システムを再起動してから再試行することをお勧めします。

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を再起動します。

簡単インストールによるドメイン参加済みVDAの作成