Easy Install

Easy Install wird offiziell ab Linux VDA-Version 7.13 unterstützt. Mit “Easy Install” (einfache Installation) können Sie die Umgebung zum Ausführen des Linux VDA einrichten, wobei die erforderlichen Pakete automatisch installiert und die Konfigurationsdateien automatisch angepasst werden.

Unterstützte Distributionen

  Winbind SSSD Centrify
RHEL 7.3 Ja Ja Ja
RHEL 6.9 Ja Ja Ja
RHEL 6.6 Ja Ja Ja
CentOS 7.3 Ja Ja Ja
Ubuntu 16.04 Ja Ja Ja
SUSE 12.2 Ja Nein Ja

Verwenden von Easy Install

Um dieses Feature zu verwenden, führen Sie folgende Schritte aus:

  1. Bereiten Sie die Konfigurationsinformationen und die Linux-Maschine vor.
  2. Installieren Sie das Linux VDA-Paket.
    Rufen Sie die Citrix-Website auf und laden Sie das entsprechende Linux VDA-Paket herunter, je nach Linux-Distribution.
  3. Richten Sie die Laufzeitumgebung für die Linux VDA-Installation ein.

Schritt 1: Vorbereiten der Konfigurationsinformationen und der Linux-Maschine

Halten Sie die folgenden Konfigurationsinformationen für Easy Install bereit:

  • Hostname: Hostname der Maschine, auf der der Linux VDA installiert werden soll
  • IP-Adresse des Domänennamenservers
  • IP-Adresse oder Zeichenfolgenname des NTP-Servers
  • Domänenname: Der kurze NetBIOS-Name der Active Directory-Domäne
  • Bereichsname: Der Kerberos-Bereichsname
  • FQDN der aktiven Domäne: Vollqualifizierter Domänenname

Wichtig:

  • Für die Installation des Linux VDA muss sichergestellt sein, dass die Repositorys der Linux-Maschine richtig hinzugefügt wurden.
  • Zum Starten einer Sitzung muss sichergestellt sein, dass das X Window System und die Desktopumgebungen installiert sind.

Schritt 2: Installieren des Linux VDA-Pakets

Führen Sie die folgenden Befehle aus, um die Umgebung für den Linux VDA einzurichten.

RHEL- und CentOS-Distributionen:

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

Ubuntu-Distributionen:

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

SUSE-Distributionen:

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

Schritt 3: Einrichten der Laufzeitumgebung für die Linux VDA-Installation

Nach der Installation des Linux VDA-Pakets müssen Sie die Laufzeitumgebung konfigurieren, indem Sie das Skript ctxsetup.sh ausführen. Sie können das Skript im interaktiven Modus oder im automatischen Modus ausführen.

Interaktiver Modus:

Führen Sie für eine manuelle Konfiguration den folgenden Befehl aus und geben Sie die entsprechenden Parameter an jeder Eingabeaufforderung ein.

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

Automatischer Modus:

Um Easy Install im automatischen Modus zu verwenden, müssen Sie die folgenden Umgebungsvariablen vor dem Ausführen von “ctxinstall” festgelegt.

  • CTX_EASYINSTALL_HOSTNAME=host-name – Der Hostname des Linux VDA-Servers.
  • CTX_EASYINSTALL_DNS=ip-address-of-dns – IP-Adresse des DNS.
  • CTX_EASYINSTALL_NTPS=address-of-ntps – IP-Adresse oder Zeichenfolgenname des NTP-Servers.
  • CTX_EASYINSTALL_DOMAIN=domain-name – Der NetBIOS-Name der Domäne.
  • CTX_EASYINSTALL_REALM=realm-name – Der Kerberos-Bereichsname.
  • CTX_EASYINSTALL_FQDN=ad-fqdn-name
  • CTX_EASYINSTALL_ADINTEGRATIONWAY=winbind | sssd | centrify – Die Active Directory-Integrationsmethode.
  • CTX_EASYINSTALL_USERNAME=domain-user-name – Der Name des Domänenbenutzers; wird zum Domänenbeitritt verwendet.
  • CTX_EASYINSTALL_PASSWORD=password – Das Kennwort des Domänenbenutzers; wird zum Domänenbeitritt verwendet.

Die folgenden Variablen werden von ctxsetup.sh verwendet:

  • CTX_XDL_SUPPORT_DDC_AS_CNAME = Y | N – Der Linux VDA unterstützt die Angabe des Namens eines Delivery Controllers mit einem DNS CNAME-Datensatz.
  • CTX_XDL_DDC_LIST=list-ddc-fqdns – Der Linux VDA erfordert eine durch Leerzeichen getrennte Liste vollqualifizierter Domänennamen (FQDNs) für die Registrierung bei einem Delivery Controller. Mindestens ein FQDN oder CNAME muss angegeben werden.
  • CTX_XDL_VDA_PORT=port-number – Der Linux VDA kommuniziert mit Delivery Controllern über einen TCP/IP-Port.
  • CTX_XDL_REGISTER_SERVICE = Y | N – Die Linux Virtual Desktop-Dienste werden nach dem Systemstart gestartet.
  • CTX_XDL_ADD_FIREWALL_RULES=Y | N – Für die Linux Virtual Desktop-Dienste muss die Systemfirewall eingehende Netzwerkverbindungen zulassen. Sie können die erforderlichen Ports (standardmäßig Port 80 und 1494) in der Systemfirewall automatisch für Linux Virtual Desktop öffnen.
  • CTX_XDL_HDX_3D_PRO=Y | N – Der Linux VDA unterstützt HDX 3D Pro – GPU-Beschleunigungstechnologien zum Optimieren der Virtualisierung reichhaltiger Grafikanwendungen. Bei aktiviertem HDX 3D Pro wird der VDA für VDI-Desktopmodus (Einzelsitzungen) konfiguriert (d. h. CTX_XDL_VDI_MODE=Y).
  • CTX_XDL_VDI_MODE=Y | N – Ermöglicht die Konfiguration der Maschine als dediziertes Desktopbereitstellungsmodell (VDI) oder als gehostetes, freigegebenes Desktopbereitstellungsmodell. Legen Sie den Wert bei Umgebungen mit HDX 3D Pro auf “Y” fest.
  • CTX_XDL_SITE_NAME=dns-name – Der Linux VDA ermittelt LDAP-Server über DNS. Geben Sie einen DNS-Sitenamen an, wenn Sie die Suchergebnisse auf eine lokale Site beschränken möchten. Wenn dies unnötig ist, kann <none> festgelegt werden.
  • CTX_XDL_LDAP_LIST=list-ldap-servers – Der Linux VDA fragt DNS zur Erkennung von LDAP-Servern ab. Falls DNS keine LDAP-Diensteinträge bereitstellen kann, können Sie eine durch Leerzeichen getrennte Liste der FQDNs mit LDAP-Port angeben. Beispiel: ad1.mycompany.com:389. Wenn dies unnötig ist, kann <none> festgelegt werden.
  • CTX_XDL_SEARCH_BASE=search-base-set – Die Suchbasis bei LDAP-Abfragen des Linux VDA ist das Stammverzeichnis der Active Directory-Domäne (z. B. DC=mycompany,DC=com). Zur Verbesserung der Suchleistung können Sie eine Suchbasis angeben (z. B. OU=VDI,DC=mycompany,DC=com). Wenn dies unnötig ist, kann <none> festgelegt werden.
  • CTX_XDL_START_SERVICE=Y | N – Legt fest, ob die Linux VDA-Dienste gestartet werden, wenn die Konfiguration abgeschlossen ist.

Wenn ein Parameter nicht festgelegt ist, wird die Installation in den interaktiven Modus versetzt und eine Benutzereingabe ist erforderlich. Das Skript ctxinstall.sh fordert keine Antworten, wenn alle Parameter bereits über die Umgebungsvariablen voreingestellt sind.

Im automatischen Modus müssen Sie erst die folgenden Befehle ausführen, um die Umgebungsvariablen einzurichten. Führen Sie dann das Skript ctxinstall.sh aus.

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-->

Sie müssen die Option -E mit dem Befehl “sudo” angeben, damit die vorhandenen Umgebungsvariablen an die neu erstellte Shell weitergegeben werden. Citrix empfiehlt, dass Sie mit den oben aufgeführten Befehlen eine Shellskriptdatei erstellen, deren erste Zeile #!/bin/bash enthält.

Alternativ können Sie alle Parameter mit einem einzigen Befehl festlegen:

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-->

Überlegungen

  • Der Arbeitsgruppenname ist standardmäßig der Domänenname. Mit folgenden Schritten passen Sie die Arbeitsgruppe in Ihrer Umgebung an:

    a. Erstellen Sie die Datei /tmp/ctxinstall.conf auf der Linux VDA-Maschine.
    b. Fügen Sie der Datei die Zeile “workgroup=<your workgroup>” hinzu.

  • Centrify unterstützt keine reine IPv6-DNS-Konfiguration. Es ist mindestens ein DNS-Server mit IPv4 in /etc/resolv.conf für adclient erforderlich, damit die AD-Dienste ordnungsgemäß gefunden werden.

  • Easy Install kann für Centrify unter CentOS beim Centrify-Tool für die Umgebungsprüfung “adcheck” fehlschlagen und meldet dann den folgenden Fehler:

    Protokoll:

     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-->
    

    Dieses Problem basiert auf der speziellen Konfiguration von Centrify. Führen Sie folgende Schritte aus, um das Problem zu beheben:

    a. Öffnen Sie Verwaltungstools auf dem Delivery Controller.
    b. Wählen Sie Active Directory-Standorte und -Dienste aus.
    c. Geben Sie in Subnetze eine richtige Subnetzadresse ein.

  • Wenn Sie Centrify als Methode zum Domänenbeitritt wählen, benötigt das Skript ctxinstall.sh das Centrify-Paket. Es gibt zwei Möglichkeiten für ctxinstall.sh, das Centrify-Paket abzurufen:

Problembehandlung

Verwenden Sie die Informationen in diesem Abschnitt, um Probleme zu beheben, die sich aus der Verwendung dieser Funktion ergeben können.

Fehler beim Beitreten zu einer Domäne mit SSSD

Beim Versuch, einer Domäne beizutreten, kann ein Fehler auftreten, wobei die Ausgabe ähnlich wie das folgende Ergebnis aussieht (siehe Protokolle):

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

Lösen des Problems:

  1. Führen Sie den Befehl rm -f /etc/krb5.keytab aus.
  2. Führen Sie den Befehl net ads leave $REALM -U $domain-administrator aus.
  3. Entfernen Sie den Maschinenkatalog und die Bereitstellungsgruppe vom Delivery Controller.
  4. Führen Sie /opt/Citrix/VDA/sbin/ctxinstall.sh aus.
  5. Erstellen Sie den Maschinenkatalog und die Bereitstellungsgruppe auf dem Delivery Controller.

Grauer Bildschirm bei Ubuntu Desktopsitzungen

Dieses Problem tritt auf, wenn Sie eine Sitzung starten, die dann in einem leeren Desktop blockiert wird. Darüber hinaus zeigt die Konsole der Serverbetriebssystemmaschine bei der Anmeldung mit einem lokalen Benutzerkonto einen grauen Bildschirm an.

Lösen des Problems:

  1. Führen Sie den Befehl sudo apt-get update aus.
  2. Führen Sie den Befehl sudo apt-get install unity lightdm aus.
  3. Fügen Sie /etc/lightdm/lightdm.conf folgende Zeile hinzu:
    greeter-show-manual-login=true

Ubuntu Desktop-Sitzungen können aufgrund des fehlenden Homeverzeichnisses nicht gestartet werden

/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-->

Tip:

Die Ursache für dieses Problem ist, dass das Homeverzeichnis nicht für den Domänenadministrator erstellt wurde.

Lösen des Problems:

  1. Geben Sie an einer Befehlszeile pam-auth-update ein.

  2. Überprüfen Sie im angezeigten Popupfenster, ob Create home directory login ausgewählt ist.

    Abbildung: "Ubuntu kann keine Sitzung starten"

Sitzung kann nicht gestartet werden oder wird mit dbus-Fehler schnell beendet

/var/log/messages (für RHEL oder 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-->

Für Ubuntu-Distributionen können Sie auch das Protokoll /var/log/syslog verwenden:

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-->

Einige Gruppen oder Module werden erst nach einem Neustart wirksam. Wenn im Protokoll Fehlermeldungen zu dbus angezeigt werden, empfiehlt Citrix, das System neu zu starten und den Vorgang zu wiederholen.

SELinux verhindert den Zugriff auf das Homeverzeichnis durch SSHD

Der Benutzer kann eine Sitzung starten, er kann sich jedoch nicht anmelden.

/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-->

Lösen des Problems:

  1. Deaktivieren Sie SELinux, indem Sie die folgende Änderung an /etc/selinux/config vornehmen:

    SELINUX=disabled

  2. Starten Sie den VDA neu.

Easy Install