Einfache Installation

Die einfache Installation wird offiziell ab Version 7.13 des Linux VDA unterstützt. Die einfache Installation hilft Ihnen, die Laufzeitumgebung des Linux VDA einzurichten, indem sie die notwendigen Pakete installiert und die Konfigurationsdateien automatisch anpasst.

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

Einfache Installation verwenden

Um diese Funktion zu verwenden, gehen Sie wie folgt vor:

    1. Konfigurationsinformationen und die Linux-Maschine vorbereiten.
    1. Das Linux VDA-Paket installieren.
  • Besuchen Sie die Citrix®-Website und laden Sie das entsprechende Linux VDA-Paket basierend auf Ihrer Linux-Distribution herunter.
    1. Die Laufzeitumgebung einrichten, um die Linux VDA-Installation abzuschließen.
  • Schritt 1: Konfigurationsinformationen und die Linux-Maschine vorbereiten

Sammeln Sie die folgenden Konfigurationsinformationen, die für die einfache Installation benötigt werden:

  • Hostname – Hostname der Maschine, auf der der Linux VDA installiert werden soll
  • IP-Adresse des Domain Name Servers
  • IP-Adresse oder Zeichenfolgenname des NTP-Servers
  • Domänenname – Der NetBIOS-Name der Domäne
  • Realm-Name – Der Kerberos-Realm-Name
  • FQDN der Active Domain – Vollqualifizierter Domänenname

Wichtig:

  • Um den Linux VDA zu installieren, stellen Sie sicher, dass die Repositorys auf der Linux-Maschine korrekt hinzugefügt wurden.
  • Um eine Sitzung zu starten, stellen Sie sicher, dass das X Window System und Desktop-Umgebungen installiert sind.

Schritt 2: Das Linux VDA-Paket installieren

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

Für RHEL- und CentOS-Distributionen:

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

Für Ubuntu-Distributionen:

-  sudo dpkg -i <PATH>/<Linux VDA deb>
-  sudo apt-get install -f
<!--NeedCopy-->
  • Für SUSE-Distributionen:
-  zypper -i install <PATH>/<Linux VDA RPM>
<!--NeedCopy-->
  • Schritt 3: Die Laufzeitumgebung einrichten, um die Installation abzuschließen

  • Nach der Installation des Linux VDA-Pakets konfigurieren Sie die Laufzeitumgebung mithilfe des Skripts ctxinstall.sh. Sie können das Skript im interaktiven Modus oder im unbeaufsichtigten Modus ausführen.

  • Interaktiver Modus:

  • Um eine manuelle Konfiguration durchzuführen, führen Sie den folgenden Befehl aus und geben Sie den entsprechenden Parameter bei jeder Aufforderung ein.
-  sudo /opt/Citrix/VDA/sbin/ctxinstall.sh
<!--NeedCopy-->

Unbeaufsichtigter Modus:

Um die einfache Installation im unbeaufsichtigten Modus zu verwenden, legen Sie die folgenden Umgebungsvariablen fest, bevor Sie ctxinstall.sh ausführen.

  • CTX_EASYINSTALL_HOSTNAME=host-name – Bezeichnet den Hostnamen 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-Realm-Name.
  • CTX_EASYINSTALL_FQDN=ad-fqdn-name
  • CTX_EASYINSTALL_ADINTEGRATIONWAY=winbind | sssd | centrify – Bezeichnet die Active Directory-Integrationsmethode.
  • CTX_EASYINSTALL_USERNAME=domain-user-name – Bezeichnet den Namen des Domänenbenutzers; wird zum Beitreten zur Domäne verwendet.
  • CTX_EASYINSTALL_PASSWORD=password – Gibt das Kennwort des Domänenbenutzers an; wird zum Beitreten zur Domäne verwendet.

Die folgenden Variablen werden von ctxsetup.sh verwendet:

  • CTX_XDL_SUPPORT_DDC_AS_CNAME=Y | N – Der Linux VDA unterstützt die Angabe eines Delivery Controller-Namens mithilfe eines DNS CNAME-Eintrags.
    • CTX_XDL_DDC_LIST=list-ddc-fqdns – Der Linux VDA erfordert eine durch Leerzeichen getrennte Liste von vollqualifizierten Domänennamen (FQDNs) der Delivery Controller, die für die Registrierung bei einem Delivery Controller verwendet werden sollen. 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 Maschinenstart gestartet.
  • CTX_XDL_ADD_FIREWALL_RULES=Y | N – Die Linux Virtual Desktop-Dienste erfordern, dass eingehende Netzwerkverbindungen über die System-Firewall zugelassen werden. Sie können die erforderlichen Ports (standardmäßig Ports 80 und 1494) in der System-Firewall für den Linux Virtual Desktop automatisch öffnen.
  • CTX_XDL_HDX_3D_PRO=Y | N – Der Linux VDA unterstützt HDX 3D Pro, eine Reihe von GPU-Beschleunigungstechnologien, die zur Optimierung der Virtualisierung von grafikintensiven Anwendungen entwickelt wurden. Wenn HDX 3D Pro ausgewählt ist, wird der VDA für VDI-Desktops (Einzelsitzungsmodus) konfiguriert – (d. h. CTX_XDL_VDI_MODE=Y).
  • CTX_XDL_VDI_MODE=Y | N – Ob die Maschine als dediziertes Desktop-Bereitstellungsmodell (VDI) oder als gehostetes Shared Desktop-Bereitstellungsmodell konfiguriert werden soll. Für HDX 3D Pro-Umgebungen setzen Sie den Wert auf Y.
  • CTX_XDL_SITE_NAME=dns-name – Der Linux VDA entdeckt LDAP-Server über DNS. Um die DNS-Suchergebnisse auf eine lokale Site zu beschränken, geben Sie einen DNS-Sitenamen an. Falls nicht erforderlich, kann er auf <none> gesetzt werden.
  • CTX_XDL_LDAP_LIST=list-ldap-servers – Der Linux VDA fragt DNS ab, um LDAP-Server zu entdecken. Wenn DNS keine LDAP-Dienstdatensätze bereitstellen kann, können Sie eine durch Leerzeichen getrennte Liste von LDAP-FQDNs mit LDAP-Port angeben. Zum Beispiel ad1.mycompany.com:389. Falls nicht erforderlich, kann er auf <none> gesetzt werden.
  • CTX_XDL_SEARCH_BASE=search-base-set – Der Linux VDA fragt LDAP über eine Suchbasis ab, die auf das Stammverzeichnis der Active Directory-Domäne gesetzt ist (z. B. DC=mycompany,DC=com). Um die Suchleistung zu verbessern, können Sie eine Suchbasis angeben (z. B. OU=VDI,DC=mycompany,DC=com). Falls nicht erforderlich, kann er auf <none> gesetzt werden.
  • CTX_XDL_START_SERVICE=Y | N – Ob die Linux VDA-Dienste gestartet werden, wenn die Konfiguration abgeschlossen ist.

Wenn Parameter nicht festgelegt sind, wechselt die Installation zurück in den interaktiven Modus mit einer Aufforderung zur Benutzereingabe. Das Skript ctxinstall.sh fordert keine Antworten an, wenn alle Parameter bereits über die Umgebungsvariablen festgelegt wurden.

Im unbeaufsichtigten Modus müssen Sie die folgenden Befehle ausführen, um Umgebungsvariablen festzulegen und dann das Skript ctxinstall.sh auszuführen.

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

Wenn Sie den Befehl sudo ausführen, geben Sie die Option -E ein, um die vorhandenen Umgebungsvariablen an die neue Shell zu übergeben, die sie erstellt. Citrix empfiehlt, eine Shell-Skriptdatei aus den vorhergehenden Befehlen mit #!/bin/bash als erster Zeile zu erstellen.

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

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. Um die Arbeitsgruppe in Ihrer Umgebung anzupassen, gehen Sie wie folgt vor:

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

  • Centrify unterstützt keine reine IPv6-DNS-Konfiguration. Mindestens ein DNS-Server, der IPv4 verwendet, ist in /etc/resolv.conf erforderlich, damit adclient AD-Dienste ordnungsgemäß finden kann.

  • Für Centrify unter CentOS kann die einfache Installation bei adcheck, dem Centrify-Umgebungsprüfungstool, fehlschlagen und den folgenden Fehler melden:

    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 tritt aufgrund der speziellen Konfiguration von Centrify auf. Gehen Sie wie folgt vor, um dieses Problem zu beheben:

    a. Öffnen Sie Administrative Tools auf dem Delivery Controller. b. Wählen Sie Active Directory-Standorte und -Dienste aus. c. Fügen Sie eine korrekte Subnetzadresse für Subnetze hinzu.

  • Wenn Sie Centrify als Methode zum Beitreten zu einer Domäne wählen, benötigt das Skript ctxinstall.sh das Centrify-Paket. Es gibt zwei Möglichkeiten, wie ctxinstall.sh das Centrify-Paket erhalten kann:

Fehlerbehebung

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

Beitritt zu einer Domäne mit SSSD schlägt fehl

Beim Versuch, einer Domäne beizutreten, kann ein Fehler auftreten, wobei die Ausgabe wie folgt aussieht (Protokolle für Bildschirmausgabe überprüfen):

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

Um dieses Problem zu beheben:

  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 auf dem 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.

Ubuntu-Desktopsitzungen zeigen einen grauen Bildschirm

Dieses Problem tritt auf, wenn Sie eine Sitzung starten, die dann auf einem leeren Desktop blockiert wird. Außerdem zeigt die Konsole des Server-Betriebssystemcomputers auch einen grauen Bildschirm an, wenn Sie sich mit einem lokalen Benutzerkonto anmelden.

Um dieses Problem zu beheben:

  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 die folgende Zeile zu /etc/lightdm/lightdm.conf hinzu: greeter-show-manual-login=true

Starten von Ubuntu-Desktopsitzungen schlägt aufgrund des fehlenden Home-Verzeichnisses fehl

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

Tipp:

Die Hauptursache dieses Problems ist, dass das Home-Verzeichnis für den Domänenadministrator nicht erstellt wird.

Um dieses Problem zu beheben:

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

  2. Vergewissern Sie sich im daraufhin angezeigten Popup-Fenster, dass Home-Verzeichnis-Anmeldung erstellen ausgewählt ist.

    Abbildung: Ubuntu kann Sitzung nicht starten

Sitzung kann nicht gestartet werden oder endet schnell mit dbus-Fehler

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

Oder, alternativ für Ubuntu-Distributionen, verwenden Sie das Protokoll /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-->

Einige Gruppen oder Module werden erst nach einem Neustart wirksam. Wenn die dbus-Fehlermeldungen im Protokoll erscheinen, empfiehlt Citrix, das System neu zu starten und es erneut zu versuchen.

SELinux verhindert, dass SSHD auf das Home-Verzeichnis zugreift

Der Benutzer kann eine Sitzung starten, sich aber 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-->

Um dieses Problem zu beheben:

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

    SELINUX=disabled

  2. Starten Sie den VDA neu.

Einfache Installation