Einrichten von Horizon 6 for Linux-Desktops - VMware ... fileSystemanforderungen für Horizon 6 for...

108
Einrichten von Horizon 6 for Linux-Desktops VMware Horizon 6 6.2

Transcript of Einrichten von Horizon 6 for Linux-Desktops - VMware ... fileSystemanforderungen für Horizon 6 for...

Einrichten von Horizon 6for Linux-Desktops

VMware Horizon 6 6.2

Die aktuellste technische Dokumentation finden Sie auf der VMware-Website unter:

https://docs.vmware.com/de/

Falls Sie Anmerkungen zu dieser Dokumentation haben, senden Sie diese an:

[email protected]

VMware, Inc.3401 Hillview Ave.Palo Alto, CA 94304www.vmware.com

VMware Global, Inc.Zweigniederlassung DeutschlandWilly-Brandt-Platz 281829 MünchenGermanyTel.: +49 (0) 89 3706 17 000Fax: +49 (0) 89 3706 17 333www.vmware.com/de

Copyright © 2015-2017 VMware, Inc. Alle Rechte vorbehalten. Urheberrechts- und Markenhinweise.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 2

Inhalt

Einrichten von Horizon 6 for Linux-Desktops 5

1 Funktionen und Systemanforderungen 6Funktionen von Horizon 6 Linux-Desktops und Desktop-Pools 6

Übersicht über die Konfigurationsschritte für Horizon 6 for Linux-Desktops 8

Systemanforderungen für Horizon 6 for Linux 9

2 Vorbereiten einer virtuellen Linux-Maschine für die Desktop-Bereitstellung 14Erstellen einer virtuellen Maschine und Installieren von Linux 14

Vorbereiten einer Linux-Maschine für die Remote-Desktop-Bereitstellung 15

3 Einrichten der Active Directory-Integration für Linux-Desktops 19Integrieren von Linux mit Active Directory 19

Einrichten von Single Sign-On und Smartcard-Umleitung 20

4 Konfigurationsoptionen für Linux-Desktops 22Einstellen der Optionen in Konfigurationsdateien auf einem Linux-Desktop 22

Ausblenden der vSphere-Konsolenanzeige auf einem Linux-Desktop 24

5 Einrichten von Grafiken für Linux-Desktops 25Konfigurieren von RHEL 6.6 und RHEL 7.1 für vGPU 25

Installieren des VIB für die NVIDIA-Grafikkarte auf dem ESXi-Host 25

Konfigurieren eines gemeinsam genutzten PCI-Geräts für vGPU auf der virtuellen Linux-Maschine27

Installieren des NVIDIA-Anzeigetreibers 28

Überprüfen, ob der NVIDIA-Anzeigetreiber installiert ist 31

Konfigurieren von RHEL 6.6 für vDGA 32

Aktivieren von DirectPath I/O für NVIDIA GRID GPUs auf einem Host 32

Hinzufügen eines vDGA-Passthrough-Geräts zu einer virtuellen RHEL 6.6-Maschine 33

Installieren des NVIDIA-Anzeigetreibers 33

Überprüfen, ob der NVIDIA-Anzeigetreiber installiert ist 36

Konfigurieren von RHEL 7.1 für vSGA 37

Installieren des VIB für die NVIDIA-Grafikkarte auf dem ESXi-Host 37

Konfigurieren von 3D-Funktionen für vSGA auf einer virtuellen Linux-Maschine 38

Überprüfen, ob vSGA auf einer virtuellen Linux-Maschine ausgeführt wird 39

6 Installieren von View Agent und Verwalten von Linux-Desktops 41Installieren von View Agent auf einer virtuellen Linux-Maschine 41

VMware, Inc. 3

install_viewagent.sh-Befehlszeilenoptionen 44

Aktivieren der umkehrbaren Kennwortverschlüsselung 45

Erstellen eines Desktop-Pools mit virtuellen Linux-Maschinen 45

Durchführen eines Upgrades von View Agent auf einer virtuellen Linux-Maschine 47

Deinstallieren und Neuinstallieren von Horizon 6 for Linux-Maschinen 48

Entfernen eines nicht verwalteten Computers aus einem manuellen Desktop-Pool 48

Entfernen von registrierten Maschinen aus View 48

Deinstallieren von View Agent auf einer virtuellen Linux-Maschine 49

Neuinstallieren von View Agent auf einer virtuellen Linux-Maschine 50

Verwenden von Optionen zur Stromversorgung auf Linux-Desktops in vSphere 51

Ermitteln von Informationen über die Horizon 6 for Linux-Software 51

7 Massenbereitstellung von Horizon 6 for Linux-Desktops 53Überblick über die Massenbereitstellung von Linux-Desktops 54

Erstellen einer Vorlage für virtuelle Maschinen zum Klonen von Linux-Desktop-Maschinen 56

Eingabedatei für die PowerCLI-Beispielskripts zur Bereitstellung von Linux-Desktops 57

Beispielskript zum Klonen von virtuellen Linux-Maschinen 58

Beispielskript zum Hinzufügen geklonter virtueller Maschinen zu einer AD-Domäne 62

Beispielskript zum Hinzufügen geklonter virtueller Maschinen zu einer AD-Domäne mithilfe von SSH65

Beispielskript zum Installieren von View Agent auf virtuellen Linux-Maschinen 69

Beispielskript zum Installieren von View Agent auf virtuellen Linux-Maschinen mithilfe von SSH 74

Beispielskript zum Hochladen von Konfigurationsdateien zu virtuellen Linux-Maschinen 79

Beispielskript zum Hochladen von Konfigurationsdateien zu virtuellen Linux-Maschinen mithilfe von SSH83

Beispielskript zur Durchführung eines Upgrades von View Agent auf Linux-Desktop-Maschinen 87

Beispielskript zur Durchführung eines Upgrades von View Agent auf virtuellen Linux-Maschinen mithilfevon SSH 92

Beispielskript zum Ausführen von Vorgängen auf virtuellen Linux-Maschinen 97

Beispielskript zum Löschen von Maschinen aus der Verbindungsserver-LDAP-Datenbank 101

8 Fehlerbehebung bei Linux-Desktops 104Ermitteln von Diagnoseinformationen für eine Horizon 6 for Linux-Maschine 104

Durchführen der Fehlerbehandlung bei einer fehlerhaften View Agent-Registrierung für eine Linux-Maschine 105

Durchführen der Fehlerbehandlung für einen nicht erreichbaren View Agent auf einer Linux-Maschine106

Durchführen der Fehlerbehandlung für einen nicht antwortenden View Agent auf einer Linux-Maschine108

Konfigurieren der Linux-Firewall für das Akzeptieren eingehender TCP-Verbindungen 108

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 4

Einrichten von Horizon 6 for Linux-Desktops

Das Dokument Einrichtung von Horizon 6 for Linux Desktops bietet Informationen zur Einrichtung einervirtuellen Linux-Maschine als VMware Horizon 6™-Desktop, inklusive der Vorbereitung des Linux-Gastbetriebssystems, der Installation von View Agent auf der virtuellen Maschine und der Konfigurationder Maschine in View Administrator für die Verwendung in einer Horizon 6-Bereitstellung.

ZielgruppeDiese Informationen richten sich an alle, die Remote-Desktops konfigurieren und verwenden möchten,die auf Linux-Gastbetriebssystemen ausgeführt werden. Die Informationen wurden für erfahrene Linux-Systemadministratoren verfasst, die mit der Technologie virtueller Maschinen sowie mit Datencenter-Vorgängen vertraut sind.

VMware, Inc. 5

Funktionen undSystemanforderungen 1Mit Horizon 6 können die Benutzer eine Verbindung zu Remote-Desktops herstellen, auf denen dasLinux-Betriebssystem ausgeführt wird.

Dieses Kapitel enthält die folgenden Themen:

n Funktionen von Horizon 6 Linux-Desktops und Desktop-Pools

n Übersicht über die Konfigurationsschritte für Horizon 6 for Linux-Desktops

n Systemanforderungen für Horizon 6 for Linux

Funktionen von Horizon 6 Linux-Desktops und Desktop-PoolsMit Horizon 6 Version 6.2.1 wurde eine Reihe neuer Funktionen für Linux-Desktops eingeführt. Diefolgende Liste gibt Auskunft über die wesentlichen Funktionen.

Klontyp von virtuellenMaschinen

Die folgenden Klontypen werden unterstützt:

n Verknüpfter Klon

n Vollständiger Klon

Virtuelle Maschinen (VMs) des Klontyps „Verknüpfter Klon“ teilen sich dasBetriebssystem-Image einer übergeordneten VM und benötigen wenigerSpeicherplatz als VMs des Klontyps „Vollständiger Klon“.

Typ des Desktop-Pools Die folgenden Desktop-Pool-Typen werden unterstützt:

n Dediziert

n Dynamisch

Wenn bei einem dedizierten Pool einem Benutzer ein Desktop zugewiesenwurde, ist diese Zuweisung dauerhaft. Ein Benutzer kann sich abmeldenund wieder anmelden und sieht immer denselben Desktop. Bei einemdynamischen Pool sind die Zuweisungen nicht dauerhaft. Ein Benutzersieht möglicherweise einen anderen Desktop, nachdem er sich ab- undwieder anmeldet.

Audio-Ausgabe Ein Benutzer kann die vom Desktop erzeugten Audiosignale hören.

VMware, Inc. 6

Mehrere Monitore Es werden vier Monitore mit einer jeweiligen maximalen Auflösung von2560 x 1600 unterstützt.

Verlustfreier PNG-Modus

Bilder und Videos, die auf einem Desktop erzeugt werden, werden auf demClientgerät pixelgenau gerendert.

3D-Grafiken 3D-Grafiken werden bei den folgenden Kombinationen von Linux-Versionenund Grafikkarten unterstützt:

n vSGA wird auf RHEL 7.1 Workstation x64 mit NVIDIA GRID K1 oderK2 Grafikkarten unterstützt.

n vDGA wird auf RHEL 6.6 Workstation x64 mit NVIDIA GRID K1 oderK2 Grafikkarten unterstützt.

n vGPU wird auf RHEL 6.6 Workstation x64 mit NVIDIA Maxwell M60Grafikkarten unterstützt.

n vGPU wird auf RHEL 7.1 Workstation x64 mit NVIDIA Maxwell M60Grafikkarten unterstützt.

Zwischenablagenumleitung

n Unterstützung von Rich Text und einfachem Text auf RHEL 6.6Workstation x64.

n Unterstützung von Rich Text und einfachem Text auf CentOS 6.6 x64.

Single Sign-On Single Sign-On wird von den folgenden Linux-Versionen unterstützt:

n RHEL 6.6 Workstation x64

n CentOS 6.6 x64

Smartcard-Umleitung Die Smartcard-Umleitung wird auf RHEL 6.6 Workstation x64 unterstützt.Es werden Smartcards vom Typ PIV (Personal Identity Verification) undCAC (Common Access Card) unterstützt. Mac-Client wird nicht unterstützt.

Hinweis Die Smartcard-Umleitung wird auf Ubuntu nicht offiziell unterstützt. Allerdings sollte dieFunktion betriebsfähig sein, nachdem die libexpat1-Komponente mit dem Befehl apt-get installlibexpat1 installiert wurde.

Für Linux-Desktops und Desktop-Pools gelten die folgenden Einschränkungen:

n Die automatische Bereitstellung und andere Funktionen, die nur mit automatischen Desktop-Poolsverfügbar sind, werden nicht unterstützt. Beispielsweise ist keine Aktualisierung desAbmeldevorgangs möglich.

n USB-Umleitung, virtueller Druck, standortbasiertes Drucken und Echtzeit-Audio-Video werden nichtunterstützt.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 7

n HTML Access wird nicht unterstützt.

Hinweis Wird ein Sicherheitsserver verwendet, muss der Port 22443 in der internen Firewall geöffnetsein, damit ein Datenverkehr zwischen dem Sicherheitsserver und dem Linux-Desktop möglich ist.

Übersicht über die Konfigurationsschritte für Horizon 6for Linux-DesktopsWenn Sie Horizon 6 for Linux-Desktops installieren und konfigurieren, müssen Sie unterschiedlicheSchritte durchführen, ja nachdem, ob Sie 2D-Grafiken oder 3D-Grafiken auf den virtuellen Maschineninstallieren.

2D-Grafiken – Überblick über die KonfigurationsschritteFür 2D-Grafiken führen Sie die folgenden Schritte durch:

1 Überprüfen Sie die Systemanforderungen für die Einrichtung einer Horizon 6 for Linux-Bereitstellung.Siehe Systemanforderungen für Horizon 6 for Linux.

2 Erstellen Sie in vSphere eine virtuelle Maschine und installieren Sie das Linux-Betriebssystem. SieheErstellen einer virtuellen Maschine und Installieren von Linux.

3 Bereiten Sie das Gastbetriebssystem für eine Bereitstellung als Desktop in einer Horizon 6-Umgebung vor. Siehe Vorbereiten einer Linux-Maschine für die Remote-Desktop-Bereitstellung.

4 Konfigurieren Sie das Linux-Gastbetriebssystem zur Authentifizierung mit Active Directory. DieserSchritt wird mit einer externen Software auf der Basis der Anforderungen in Ihrer Umgebungdurchgeführt und nicht in diesem Handbuch beschrieben.

5 Installieren Sie View Agent auf der virtuellen Linux-Maschine. Siehe Installieren von View Agent aufeiner virtuellen Linux-Maschine.

6 Erstellen Sie einen Desktop-Pool mit den konfigurierten virtuellen Linux-Maschinen. Siehe Erstelleneines Desktop-Pools mit virtuellen Linux-Maschinen.

3D-Grafiken – Überblick über die KonfigurationsschritteSie müssen die Konfiguration von NVIDIA GRID vGPU, vDGA oder vSGA auf den virtuellen Linux-Maschine abschließen, bevor Sie View Agent auf den Maschinen installieren und einen Desktop-Pool inView Administrator bereitstellen.

1 Überprüfen Sie die Systemanforderungen für die Einrichtung einer Horizon 6 for Linux-Bereitstellung.Siehe Systemanforderungen für Horizon 6 for Linux.

2 Erstellen Sie in vSphere eine virtuelle Maschine und installieren Sie das Linux-Betriebssystem. SieheErstellen einer virtuellen Maschine und Installieren von Linux.

3 Bereiten Sie das Gastbetriebssystem für eine Bereitstellung als Desktop in einer Horizon 6-Umgebung vor. Siehe Vorbereiten einer Linux-Maschine für die Remote-Desktop-Bereitstellung.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 8

4 Konfigurieren Sie das Linux-Gastbetriebssystem zur Authentifizierung mit Active Directory. DieserSchritt wird mit einer externen Software auf der Basis der Anforderungen in Ihrer Umgebungdurchgeführt und nicht in diesem Handbuch beschrieben.

5 Konfigurieren Sie 3D-Funktionen auf Ihren ESXi-Hosts und der virtuellen Linux-Maschine. Folgen Sieden Vorgehensweisen für die 3D-Funktion, die Sie installieren möchten.

n Siehe Konfigurieren von RHEL 6.6 und RHEL 7.1 für vGPU.

n Siehe Konfigurieren von RHEL 6.6 für vDGA.

n Siehe Konfigurieren von RHEL 7.1 für vSGA.

6 Installieren Sie View Agent auf der virtuellen Linux-Maschine. Siehe Installieren von View Agent aufeiner virtuellen Linux-Maschine.

7 Erstellen Sie einen Desktop-Pool mit den konfigurierten virtuellen Linux-Maschinen. Siehe Erstelleneines Desktop-Pools mit virtuellen Linux-Maschinen.

MassenbereitstellungMit View Administrator können Sie nur virtuelle Linux-Maschinen in einem manuellen Desktop-Poolbereitstellen. vSphere PowerCLI bietet dagegen die Möglichkeit zur Entwicklung von Skripts, die dieBereitstellung eines Pools von Linux-Desktop-Maschinen automatisieren. Siehe Kapitel 7Massenbereitstellung von Horizon 6 for Linux-Desktops.

Systemanforderungen für Horizon 6 for LinuxFür Horizon 6 for Linux gelten bestimmte Anforderungen für das Betriebssystem, Horizon 6 und dievSphere-Plattform.

Unterstützte Linux-Versionen für View AgentDie folgende Tabelle enthält eine Aufstellung der Linux-Betriebssysteme, die auf virtuellen Maschinen ineinem Desktop-Pool unterstützt werden.

Tabelle 1-1. Unterstützte Linux-Betriebssysteme für View Agent

Linux-Distribution Architektur

Ubuntu 14.04 x64

Ubuntu 12.04 x64

RHEL 7.1 x64

RHEL 6.6 x86 und x64

CentOS 6.6 x64

NeoKylin 6 Update 1 x64

Hinweis Für Ubuntu 14.04 deaktivieren Sie Compiz, um Beeinträchtigungen der Leistung zu vermeiden.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 9

Erforderliche Plattform- und Horizon 6-SoftwareversionenUm Horizon 6 for Linux installieren und anwenden zu können, muss Ihre Bereitstellung bestimmteAnforderungen für die vSphere-Plattform, Horizon 6 und den Client erfüllen.

vSphere-Plattformversion

vSphere 5.5 U3, vSphere 6.0 U1 oder eine höhere Version

Zur Unterstützung von NeoKylin ist vSphere 6.0 oder höher erforderlich.

vSphere 6.0 U1 oder eine höhere Version ist für die Unterstützung virtuellerMaschinen mit 3D-Grafiken erforderlich, inklusive NVIDIA GRID vGPU,vDGA, und vSGA.

Horizon-Umgebung Horizon 6 Version 6.2.1 oder eine höhere Version

Horizon Client-Software Horizon Client 3.5.2 für Windows, 3.5.0 für Linux oder 3.5.2 für Mac OS X

Zero-Clients und mobile Clients werden nicht unterstützt

Empfohlene Videospeichereinstellungen (vRAM)Wenn Sie im vSphere Client eine virtuelle Linux-Maschine erstellen, müssen Sie die vRAM-Größe wie inTabelle 1-2. Empfohlene vRAM-Einstellungen für 2D- oder vSGA-Grafiken dargestellt konfigurieren.Legen Sie die vRAM-Größe fest, die für die Anzahl und Auflösung der von Ihnen für die virtuelleMaschine konfigurierten Monitore empfohlen wird.

Diese Empfehlungen für die vRAM-Größe gelten nur für virtuelle Maschinen, die für 2D- oder vSGA-Grafiken konfiguriert sind. Diese verwenden den VMware-Treiber. vDGA und NVIDIA GRID vGPUverwenden NVIDIA-Treiber. Die im vSphere Client festgelegte vRAM-Größe hat keinen Einfluss aufvDGA- oder NVIDIA GRID vGPU-Maschinen.

Diese vRAM-Werte stellen Mindestempfehlungen dar. Wenn auf der virtuellen Maschine mehrRessourcen verfügbar sind, können Sie die vRAM-Größe für eine verbesserte Videoleistung erhöhen.

10 MB wird als Mindest-vRAM-Wert für eine mit einem Monitor mit der niedrigsten Auflösung konfigurierteMaschine empfohlen.

Wird eine virtuelle Linux-Maschine mit einer geringeren vRAM-Größe konfiguriert, treten eventuellfolgende Probleme auf:

n Desktop-Sitzungen können unmittelbar nach der ersten Herstellung der Verbindung wieder getrenntwerden.

n Die automatische Anpassung funktioniert nicht. Der Desktop wird nur in einem kleinen Bereich desBildschirms dargestellt.

Vorsicht Horizon 6 konfiguriert auf virtuellen Linux-Maschinen anders als auf virtuellen Windows-Maschinen die vRAM-Einstellungen nicht automatisch. Sie müssen stattdessen die vRAM-Einstellungenmanuell im vSphere Client konfigurieren.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 10

Tabelle 1-2. Empfohlene vRAM-Einstellungen für 2D- oder vSGA-Grafiken

VRAM-Größe:Anzahl derMonitore Maximale Auflösung

10 MB 1 1600x1200 oder 1680x1050

12 MB 1 1920x1440

16 MB 1 2560x1600

32 MB 2 2048x1536 oder 2560x1600

48 MB 3 2048x1536

64 MB 3 2560x1600

64 MB 4 2048x1536

128 MB 4 2560x1600

Diese Konfiguration wird für RHEL und CentOS nur auf vSphere 5.5 unterstützt.

Für eine Unterstützung dieser Konfiguration auf Ubuntu müssen Sie den Kernel neukompilieren und 3d deaktivieren. Informationen zum Deaktivieren von 3D finden Sie unterhttp://kb.vmware.com/kb/2114809.

Für NeoKylin wird diese Konfiguration nicht unterstützt.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 11

Hinweis Um eine Verbindung mit einem RHEL 6.6- oder CentOS 6.6-Desktop mit mehreren Monitorenherzustellen, müssen die Anzahl der Bildschirme und die Größe des Videospeichers korrekt angegebenwerden, wie das unter Erstellen einer virtuellen Maschine und Installieren von Linux beschrieben ist.Außerdem müssen Sie bei ausgeschalteter virtueller Maschine (VM) die VMX-Datei bearbeiten undsvga.maxWidth sowie svga.maxHeight entsprechend der Anzahl und Ausrichtung (horizontal oder vertikal)der Bildschirme einstellen. Sie müssen auch svga.autodetect auf „false“ setzen. Schalten Sie dann dieVM ein. Als allgemeine Regel gilt, dass die Werte für svga.maxWidth und svga.maxHeight groß genug seinmüssen, um alle Bildschirme zu unterstützen. Um 4 Bildschirme mit der maximalen Auflösung von 2560 x1600 zu unterstützen, fügen Sie die folgenden Zeilen zur VMX-Datei hinzu. Am Parameter svga.vramSizemüssen Sie keine Änderungen vornehmen.

svga.maxWidth="10240"

svga.maxHeight="3200"

svga.autodetect="false"

Wenn Sie über mehrere Monitore verfügen, müssen Sie diese Parameter festlegen. Ansonsten könnenein oder mehrere der folgenden Probleme auftreten:

n Die Anzeige ist nur auf einem der Monitore korrekt. Die anderen Monitore bleiben entweder schwarzoder zeigen dasselbe Bild wie ein anderer Monitor.

n Eine Tastatureingabe wird mehrfach angezeigt.

n Der Desktop wird sehr langsam.

Wenn ein Problem mit der automatischen Anpassung auftritt, können Sie eine höhere vRAM-Größefestlegen. vSphere Client ermöglicht eine maximale vRAM-Größe von 128 MB. Wenn Sie mehr als 128MB für die vRAM-Größe festlegen möchten, müssen Sie die VMX-Datei manuell verändern. Das folgendeBeispiel legt eine vRAM-Größe von 256 MB fest:

svga.vramSize = "268435456"

Hinweis Um vier Monitore für eine RHEL 7.1-Maschine zu konfigurieren, die ein 2D-Rendering oder ein3D-Rendering mit vSGA verwendet, legen Sie eine maximale Auflösung von 2048x1536 für jeden Monitorfest. Um eine RHEL 7.1-Maschine für bis zu drei Monitore zu konfigurieren, legen Sie eine maximaleAuflösung von 2560x1600 für jeden Monitor fest.

Zur Verbesserung der Leistung einer RHEL 7.1-Maschine in einer vSGA-Umgebung mit mehrerenMonitoren legen Sie die Einstellung für 3D-Arbeitsspeicher für die virtuelle Maschine auf 1 GB odergrößer fest und konfigurieren vier vCPUs für die Maschine. Wenn Sie vier Monitore für eine Auflösungvon 2048x1536 auf einer RHEL 7.1-Maschine konfigurieren, legen Sie für 3D-Arbeitsspeicher 4 GB festund konfigurieren vier vCPUs für die Maschine.

Empfohlene vCPU- und Shared Memory-Einstellungen zurUnterstützung mehrerer MonitoreUm die Desktop-Leistung mit mehreren Monitoren zu erhöhen, müssen Sie mindestens zwei vCPUs füreine virtuelle Linux-Maschine konfigurieren.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 12

Stellen Sie auch sicher, dass die virtuelle Maschine über ausreichend gemeinsamen Speicher („SharedMemory“) für die Unterstützung mehrerer Monitore verfügt. Mit dem folgenden Befehl können Sie dieaktuelle maximale Größe für das „Shared Memory“ (shmmax) festlegen:

sysctl -a | grep shm

Ist die Größe des „Shared Memory“ zu klein, lässt sich die maximale Größe mit dem folgenden Befehlerhöhen:

sysctl -w "kernel.shmmax=65536000"

Empfohlene vCPU-Einstellungen für die VideowiedergabeFür eine virtuelle Linux-Maschine ohne vDGA kann die Videowiedergabe auf Monitoren mit hoherAuflösung ungleichmäßig sein, wenn zu wenige vCPUs konfiguriert sind. Konfigurieren Sie dannzusätzliche vCPUs (z. B. vier vCPUs), um die Leistung der Videowiedergabe zu erhöhen.

Von vDGA und NVIDIA GRID vGPU unterstützte MonitorauflösungEine für die Verwendung von vDGA oder NVIDIA GRID vGPU konfigurierte virtuelle Maschine unterstütztbis zu vier Monitore mit einer maximalen Auflösung von 2560x1600.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 13

Vorbereiten einer virtuellenLinux-Maschine für die Desktop-Bereitstellung 2Das Einrichten eines Linux-Desktops umfasst das Erstellen einer virtuellen Linux-Maschine und dasVorbereiten des Betriebssystems auf die Remote-Desktop-Bereitstellung.

Dieses Kapitel enthält die folgenden Themen:

n Erstellen einer virtuellen Maschine und Installieren von Linux

n Vorbereiten einer Linux-Maschine für die Remote-Desktop-Bereitstellung

Erstellen einer virtuellen Maschine und Installieren vonLinuxSie erstellen eine neue virtuelle Maschine für jeden in Horizon 6 bereitgestellten Remote-Desktop invCenter Server. Dazu müssen Sie Ihre Linux-Distribution auf der virtuellen Maschine installieren.

Voraussetzungen

n Stellen Sie sicher, dass Ihre Bereitstellung den Anforderungen für die Unterstützung von Linux-Desktops entspricht. Siehe Systemanforderungen für Horizon 6 for Linux.

n Machen Sie sich mit den Schritten für das Erstellen virtueller Maschinen in vCenter Server und mitder Installation von Gastbetriebssystemen vertraut. Unter „Erstellen und Vorbereiten virtuellerMaschinen“ im Einrichten von Desktop- und Anwendungspools für View-Dokument finden Sie dazuErläuterungen.

n Informieren Sie sich über die empfohlenen Videospeicherwerte (vRAM) für die Monitore, die Sie mitder virtuellen Maschine verwenden möchten. Siehe Systemanforderungen für Horizon 6 for Linux.

Verfahren

1 Erstellen Sie im vSphere Web Client oder vSphere Client eine neue virtuelle Maschine.

VMware, Inc. 14

2 Konfigurieren Sie die benutzerdefinierten Konfigurationsoptionen.

a Klicken Sie mit der rechten Maustaste auf die virtuelle Maschine und klicken Sie aufEinstellungen bearbeiten.

b Geben Sie die Anzahl der vCPUs und die Größe des vMemory-Arbeitsspeichers an.

Empfohlene Werte finden Sie im Installationshandbuch Ihrer Linux-Distribution.

Ubuntu 12.04 empfiehlt beispielsweise die Konfiguration von 2.048 MB für den vMemory-Arbeitsspeicher und von zwei vCPUs.

c Wählen Sie Grafikkarte aus und geben Sie die Anzahl der Anzeigegeräte sowie den gesamtenVideospeicher (vRAM) ein.

Legen Sie im vSphere Web Client die vRAM-Größe für virtuelle Maschinen mit 2D oder vSGAfest. Diese verwenden den VMware-Treiber. Die vRAM-Größe hat keinen Einfluss auf vDGA-oder NVIDIA GRID vGPU-Maschinen. Diese verwenden NVIDIA-Treiber.

Empfohlene Werte finden Sie unter Systemanforderungen für Horizon 6 for Linux. Verwenden Sienicht die Videospeicherberechnung.

3 Schalten Sie die virtuelle Maschine ein und installieren Sie die Linux-Distribution.

4 Konfigurieren Sie die virtuelle Maschine als Gnome-Desktop-Umgebung.

KDE wurde noch nicht für die Unterstützung von View Agent zertifiziert, wobei Basisverbindungensowie die Verwendung von Audio und Video bei einigen Distributionen wie Kubuntu funktionieren.

5 Stellen Sie sicher, dass der Hostname des Systems als 127.0.0.1 aufgelöst werden kann.

Vorbereiten einer Linux-Maschine für die Remote-Desktop-BereitstellungZur Vorbereitung einer Linux-Maschine für die Verwendung als Desktop in einer Horizon 6-Bereitstellungmüssen Sie bestimmte Aufgaben durchführen.

Bevor eine Linux-Maschine durch Horizon 6 verwaltet werden kann, muss sie in der Lage sein, mit demVerbindungsserver zu kommunizieren. Sie müssen die Netzwerkeinstellungen auf der Linux-Maschinekonfigurieren, damit diese unter Verwendung des vollqualifizierten Domänennamens (FQDN) dieVerbindungsserver-Instanz pingen kann.

Open VMware Tools (OVT) sind auf RHEL 7-Maschinen vorinstalliert. Wenn Sie eine RHEL 7-Maschinefür die Verwendung als Remote-Desktop vorbereiten, können Sie bei manueller Ausführung desInstallationsprogramms in der im Folgenden beschriebenen Installation der VMware Tools die Schritte 1bis 5 überspringen.

Voraussetzungen

n Stellen Sie sicher, dass eine neue virtuelle Maschine (VM) in vCenter Server erstellt und Ihre Linux-Distribution auf der Maschine installiert wurde.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 15

n Machen Sie sich mit den Schritten zum Mounten und Installieren von VMware Tools auf einer Linux-VM vertraut. Erläuterungen dazu finden Sie unter „Manuelles Installieren oder Durchführen einesUpgrades der VMware Tools in einer virtuellen Linux-Maschine“ im Dokument Verwaltung virtuellervSphere-Maschinen.

n Machen Sie sich mit den Schritten zur Konfiguration Ihrer Linux-Maschine für deren Auflösung überdas DNS vertraut. Die Schritte sind im Einzelnen von den jeweiligen Linux-Distributionen und -Versionen abhängig. Anleitungen dazu finden Sie in der Dokumentation Ihrer Linux-Distributionenund -Versionen.

Verfahren

1 Im vSphere Web Client oder vSphere Client mounten Sie die virtuelle Festplatte von VMware Toolsauf der VM.

2 Klicken Sie mit der rechten Maustaste auf die Installationsdatei VMwareTools.x.x.x-xxxx.tar.gzvon VMware Tools, klicken Sie im eingeblendeten Kontextmenü auf Extrahieren nach und wählenSie den Desktop für Ihre Linux-Distribution aus.

Der Ordner vmware-tools-distrib wird für den Desktop extrahiert.

3 Melden Sie sich auf der VM als Root an und öffnen Sie ein Terminalfenster.

4 Dekomprimieren Sie die TAR-Installationsdatei von VMware Tools.

Beispiel:

tar zxpf /mnt/cdrom/VMwareTools-x.x.x-yyyy.tar.gz

5 Führen Sie das Installationsprogramm aus und konfigurieren Sie VMware Tools.

Der exakte Befehl ist von den jeweiligen Linux-Distributionen abhängig. Beispiel:

cd vmware-tools-distrib

sudo ./vmware-install.pl -d

In der Regel wird die Konfigurationsdatei vmware-config-tools.pl nach Ausführung derInstallationsprogrammdatei ausgeführt.

6 Für RHEL und CentOS ordnen Sie den Hostnamen der Maschine in /etc/hosts 127.0.0.1 zu.

Dieser Schritt ist für Ubuntu nicht nötig, weil die Zuordnung dort standardmäßig erfolgt. Dieser Schrittist auch nicht erforderlich, wenn Sie die Massenbereitstellung von Desktops verwenden, weil derKlonvorgang diese Zuordnung hinzufügt.

7 Stellen Sie sicher, dass die View-Verbindungsserver-Instanzen im Pod über das DNS aufgelöstwerden können.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 16

8 Auf Ubuntu 14.04-Maschinen deaktivieren Sie den Benutzerwechsel, um sicherzustellen, dassEndbenutzer die Benutzersitzungen innerhalb des Linux-Desktops nicht wechseln können.

a Um den Benutzerwechsel erfolgreich deaktivieren zu können, laden Sie die neueste Version desunter https://launchpad.net/ubuntu/wily/amd64/indicator-session/12.10.5+15.04.20150327-0ubuntu1 verfügbaren Indikatorsitzungspakets herunter und installierenSie dieses.

b Starten Sie den Computer neu.

9 Für RHEL 7.1 stufen Sie die neuesten installierten Grafiktreiber herunter.

yum update

yum downgrade mesa-libxatracker mesa-dri-drivers

yum downgrade mesa-libxatracker.x86_64 xorg-x11-drv-vmware mesa-private-llvm mesa-dri-drivers

10 Konfigurieren Sie die Linux-Maschine für Runlevel 5 als Standard.

Für Linux-Desktops muss das Runlevel 5 zur ordnungsgemäßen Ausführung gültig sein.

11 Stellen Sie sicher, dass kein HD-Audio-Gerät in den Einstellungen der virtuellen Hardware für dievirtuelle Maschine vorhanden ist.

Wenn HD-Audio für die Maschine konfiguriert ist, kann es vorkommen, dass Audio nicht korrektfunktioniert, wenn Benutzer eine Verbindung mit dem Linux-Desktop herstellen.

12 Auf einer Ubuntu-Maschine, die für die Authentifizierung mit einem OpenLDAP-Server konfiguriertwurde, geben Sie den vollqualifizierten Domänennamen auf der Maschine an.

Dieser Schritt stellt sicher, dass die Informationen im Benutzerfeld auf der Seite „Sitzungen“ in ViewAdministrator korrekt dargestellt werden. Bearbeiten Sie die Datei /etc/hosts wie folgt:

a # nano /etc/hosts

b Fügen Sie den vollqualifizierten Domänennamen hinzu. Beispiel: 127.0.0.1hostname.domainname hostname.

c Beenden Sie und speichern Sie die Datei.

13 Für RHEL und CentOS bearbeiten Sie /etc/cron.daily/tmpwatch und fügen Sie den Parameter -X '/tmp/view*' zum Befehl tmpwatch hinzu.

Beispiel:

/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \

-x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \

-X '/tmp/hsperfdata_*' -X '/tmp/view*' 10d /tmp

14 Bearbeiten Sie /etc/nsswitch.conf und ändern Sie den hosts-Eintrag folgendermaßen:

hosts: cache db files dns

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 17

Die Standardeinstellung ist hosts: files dns. Sie kann dazu führen, dass die Wiederherstellung desLinux-Desktops nach einem temporären Netzwerkausfall fehlschlägt. Der Desktop kannmöglicherweise dauerhaft nicht mehr mit View-Verbindungsserver kommunizieren und muss neugestartet werden, um das Problem zu beheben.

Wenn Sie nach der Installation von VMware Tools ein Upgrade für den Linux-Kernel durchführen, wirdVMware Tools eventuell nicht mehr ausgeführt. Zur Lösung dieses Problems finden Sie Erläuterungenunter http://kb.vmware.com/kb/2050592.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 18

Einrichten der Active Directory-Integration für Linux-Desktops 3View nutzt die vorhandene Microsoft Active Directory (AD)-Infrastruktur für die Benutzerauthentifizierungund -verwaltung. Sie können die Linux-Desktops mit Active Directory integrieren, sodass sich Benutzermit ihrem Active Directory-Benutzerkonto bei einem Linux-Desktop anmelden können.

Dieses Kapitel enthält die folgenden Themen:

n Integrieren von Linux mit Active Directory

n Einrichten von Single Sign-On und Smartcard-Umleitung

Integrieren von Linux mit Active DirectoryEs existieren mehrere Lösungen, mit denen sich Linux mit Active Directory (AD) integrieren lässt.

Die folgenden Lösungen sind als funktionsfähig in einer View-Umgebung bekannt:

n OpenLDAP Pass-Through-Authentifizierung

n Winbind

Auf einer höheren Ebene umfasst die Lösung mit OpenLDAP Pass-Through-Authentifizierung diefolgenden Schritte:

n Konfigurieren des OpenLDAP-Servers, um die Kennwortüberprüfung an einen separaten Prozess zudelegieren, zum Beispiel an saslauthd, der die Kennwortüberprüfung gegenüber Active Directorydurchführen kann.

n Konfigurieren der Linux-Desktops zur Authentifizierung von Benutzern mit OpenLDAP.

Falls Sie die Massenbereitstellung von Linux-Desktops planen, können Sie zur Ausführung derabschließenden AD-Integrationsaufgabe die Vorlagen-VM (virtuelle Maschine) einrichten. Beachten Siedie folgenden Überlegungen:

n Die OpenLDAP-Lösung funktioniert für geklonte VMs ohne jegliche zusätzliche Schritte.

n Bei der Winbind-Lösung schlägt der Schritt des Hinzufügens zur Domäne fehl, weil jede geklonte VMeinen anderen Hostnamen besitzt. Für jede geklonte VM muss der folgende Befehl ausgeführtwerden, um erneut zur Domäne hinzugefügt zu werden.

sudo /usr/bin/net ads join -U <domain user>%<domain password>

VMware, Inc. 19

VMware empfiehlt die OpenLDAP- oder eine ähnliche Lösung, weil dabei keinerlei zusätzliche Schritte fürgeklonte VMs erforderlich sind.

Weitere Informationen zur Massenbereitstellung von Linux-Desktops finden Sie unter Kapitel 7Massenbereitstellung von Horizon 6 for Linux-Desktops.

Einrichten von Single Sign-On und Smartcard-UmleitungZum Einrichten von Single Sign-On (SSO) und Smartcard-Umleitung müssen Sie einigeKonfigurationsschritte durchführen.

Single Sign-OnDas Single Sign-On-Modul von View kommuniziert mit PAMs (Pluggable Authentication Modules) in Linuxund ist nicht von der Methode abhängig, die Sie zur Integration von Linux mit Active Directory (AD)verwenden. Das View-SSO funktioniert bekanntermaßen mit den OpenLDAP- und Winbind-Lösungen, diefür die Integration von Linux und AD sorgen.

Standardmäßig nimmt SSO an, dass das sAMAccountName-Attribut von AD die Anmelde-ID ist. Umsicherzustellen, dass die korrekte Anmelde-ID für SSO verwendet wird, müssen Sie die folgendenKonfigurationsschritte durchführen, wenn Sie die OpenLDAP- oder Winbind-Lösung verwenden.

n Für OpenLDAP setzen Sie sAMAccountName auf uid.

n Für Winbind fügen Sie die folgende Anweisung zur Konfigurationsdatei /etc/samba/smb.confhinzu.

winbind use default domain = true

Wenn Benutzer den Domänennamen angeben müssen, um sich anzumelden, müssen Sie dieSSOUserFormat-Option auf dem Linux-Desktop angeben. Weitere Informationen finden Sie unterEinstellen der Optionen in Konfigurationsdateien auf einem Linux-Desktop. Achten Sie darauf, dass SSOimmer die Kurzform des Domänennamens in Großbuchstaben verwendet. Wenn zum Beispiel dieDomäne mydomain.com ist, wird MYDOMAIN von SSO als Domänenname verwendet. Aus diesemGrund müssen Sie MYDOMAIN angeben, wenn Sie SSOUserFormat festlegen. In Bezug auf die Kurz-und Langformen von Domänennamen gelten die folgenden Regeln:

n Für OpenLDAP müssen Sie die Kurzform der Domänennamen in Großbuchstaben verwenden.

n Winbind unterstützt sowohl die Langform als auch die Kurzform der Domänennamen.

AD unterstützt Sonderzeichen in Anmeldenamen, Linux jedoch nicht. Deshalb dürfen Sie keineSonderzeichen in Anmeldenamen verwenden, wenn Sie SSO einrichten.

Wenn in AD das UserPrincipalName-Attribut (UPN) und das sAMAccount-Attribut eines Benutzers nichtübereinstimmen und der Benutzer sich mit dem UPN anmeldet, schlägt SSO fehl. Zur Umgehung desProblems kann sich der Benutzer mit dem Namen anmelden, der in sAMAccount gespeichert ist.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 20

View erfordert nicht, dass beim Benutzernamen zwischen Groß- und Kleinschreibung unterschieden wird.Sie müssen sicherstellen, dass das Linux-Betriebssystem Benutzernamen verarbeiten kann, bei denenzwischen Groß- und Kleinschreibung unterschieden wird.

n Für Winbind wird beim Benutzernamen standardmäßig zwischen Groß- und Kleinschreibungunterschieden.

n Für OpenLDAP verwendet Ubuntu NSCD zur Authentifizierung von Benutzern, und es wirdstandardmäßig zwischen Groß- und Kleinschreibung unterschieden. RHEL und CentOS verwendenSSSD zur Authentifizierung von Benutzern, und es wird standardmäßig zwischen Groß- undKleinschreibung unterschieden. Zum Ändern der Einstellung bearbeiten Sie die Datei /etc/sssd/sssd.conf und fügen Sie dem Abschnitt [domain/default] die folgende Zeile hinzu:

case_sensitive = false

Smartcard-UmleitungZum Einrichten der Smartcard-Umleitung müssen Sie zunächst die Anweisungen des Linux-Distributorsund des Smartcard-Anbieters befolgen. Führen Sie dann ein Upgrade auf pcsc-lite 1.7.4 durch. FührenSie beispielsweise die folgenden Befehle aus:

#yum groupinstall "Development tools"

#yum install libudev-devel

#service pcscd stop

#wget https://alioth.debian.org/frs/download.php/file/3598/pcsc-lite-1.7.4.tar.bz2

#tar -xjvf pcsc-lite-1.7.4.tar.bz2

#cd ./pcsc-lite-1.7.4

#./configure --prefix=/usr/ --libdir=/usr/lib64/ --enable-usbdropdir=/usr/lib64/pcsc/drivers

--enable-confdir=/etc --enable-ipcdir=/var/run --disable-libusb --disable-serial --disable-usb

--disable-libudev

#service pcscd start

Wenn Sie View Agent installieren, müssen Sie zuerst SELinux deaktivieren oder den Permissive Mode fürSELinux aktivieren. Sie müssen auch die Smartcard-Umleitungskomponente speziell auswählen, weil dieKomponente nicht standardmäßig ausgewählt wird. Weitere Informationen finden Sie unterinstall_viewagent.sh-Befehlszeilenoptionen.

Bei aktivierter Smartcard-Umleitung wird SSO nicht implementiert, wenn der Benutzer sich mit derSmartcard anmeldet. Das bedeutet, dass der Benutzer nach der Anmeldung bei der Verbindungsserver-Instanz mit der Smartcard die Smartcard-PIN eingeben muss, um sich am Linux-Desktop anzumelden.Außerdem gilt: Wenn die Funktion der Smartcard-Umleitung in einer virtuellen Maschine installiert ist,funktioniert die USB-Umleitung des vSphere-Clients mit dieser Smartcard nicht.

Die Smartcard-Umleitung unterstützt nur ein Smartcard-Lesegerät. Diese Funktion ist nicht funktionsfähig,wenn zwei oder mehr Lesegeräte an das Client-Gerät angeschlossen sind.

Die Smartcard-Umleitung unterstützt nur ein Zertifikat auf der Smartcard. Wenn sich auf der Smartcardmehrere Zertifikate befinden, wird das im ersten Slot befindliche Zertifikat verwendet; die anderen werdenignoriert. Dies ist eine Einschränkung durch Linux.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 21

Konfigurationsoptionen fürLinux-Desktops 4Mithilfe von Konfigurationsdateien können Sie verschiedene Optionen konfigurieren, um dieBenutzererfahrung anzupassen.

Dieses Kapitel enthält die folgenden Themen:

n Einstellen der Optionen in Konfigurationsdateien auf einem Linux-Desktop

n Ausblenden der vSphere-Konsolenanzeige auf einem Linux-Desktop

Einstellen der Optionen in Konfigurationsdateien aufeinem Linux-DesktopSie können verschiedene Optionen konfigurieren, indem Sie der Datei /etc/vmware/config oder /etc/vmware/viewagent-custom.conf Einträge hinzufügen.

Bei der Installation von View Agent kopiert das Installationsprogramm zweiKonfigurationsvorlagendateien, nämlich template_config und template_viewagent-custom.conf,in /etc/vmware. Außerdem kopiert das Installationsprogramm, falls die Dateien /etc/vmware/configund /etc/vmware/viewagent-custom.conf nicht vorhanden sind, template-config nach config undtemplate_viewagent-custom.conf in viewagent-custom.conf. In den Vorlagendateien sind alleKonfigurationsoptionen aufgelistet und dokumentiert. Um eine Option einzustellen, entfernen Sie einfachden Kommentar und ändern Sie den Wert wie gewünscht.

So aktiviert beispielsweise die folgende Zeile in /etc/vmware/config den verlustfreien PNG-Modus.

RemoteDisplay.alwaysLossless=TRUE

Nachdem Sie Ihre Änderungen vorgenommen haben, müssen Sie Linux neu starten, damit dieÄnderungen wirksam werden.

Konfigurationsoptionen in /etc/vmware/config

VMwareBlastServer und seine zugehörigen Plug-ins verwenden die Konfigurationsdatei /etc/vmware/config.

VMware, Inc. 22

Tabelle 4-1. Konfigurationsoptionen in /etc/vmware/config

Option WertStandard Beschreibung

RemoteDisplay.alwaysLossless TRUE oderFALSE

FALSE Grafische Anwendungen und insbesondere grafische Anwendungenzur Bildbearbeitung erfordern ein pixelgenaues Rendering vonBildern in der Clientanzeige eines Linux-Desktops. Sie haben dieMöglichkeit, einen speziellen verlustfreien PNG-Modus für Bilder unddie Videowiedergabe zu konfigurieren, die auf einem Linux-Desktopgeneriert und auf dem Clientgerät gerendert werden. Diese Funktionverwendet zusätzliche Bandbreite zwischen dem Client und demESXi-Host.

mksVNCServer.useUInputButtonMapping

TRUE oderFALSE

FALSE Legen Sie diese Option fest, um die Unterstützung einerlinkshändigen Maus auf Ubuntu oder RHEL 7 zu aktivieren. CentOSund RHEL 6.6 unterstützen eine linkshändige Maus, und Sie müssendiese Option nicht festlegen.

RemoteDisplay.allowAudio TRUE oderFALSE

TRUE Legen Sie diese Option fest, um die Audio-Ausgabe zu deaktivieren.

VVC.ScRedir.Enable TRUE oderFALSE

TRUE Legen Sie diese Option fest, um die Smartcard-Umleitung zudeaktivieren.

Clipboard.Direction 0, 1, 2oder 3

2 Durch diese Option wird die Richtlinie für dieZwischenablagenumleitung bestimmt.

n 0 - Zwischenablagenumleitung deaktivieren.

n 1 - Zwischenablagenumleitung in beide Richtungen aktivieren.

n 2 - Zwischenablagenumleitung nur vom Client zum Remote-Desktop aktivieren.

n 3 - Zwischenablagenumleitung nur vom Remote-Desktop zumClient aktivieren.

Konfigurationsoptionen in /etc/vmware/viewagent-custom.conf

Java Standalone Agent verwendet die Konfigurationsdatei /etc/vmware/viewagent-custom.conf.

Tabelle 4-2. Konfigurationsoptionen in /etc/vmware/viewagent-custom.conf

Option Wert Standard Beschreibung

SSOEnable TRUE oderFALSE

TRUE Legen Sie diese Option fest, um Single Sign-On (SSO) zudeaktivieren.

SSOUserFormat EineTextzeichenfolge

[Benutzername] Verwenden Sie diese Option, um das Format des Anmeldenamens fürdas Single Sign-On anzugeben. Der Standard ist lediglich derBenutzername. Legen Sie diese Option fest, wenn auch derDomänenname erforderlich ist. Meist ist der Anmeldename derDomänenname plus einem Sonderzeichen, gefolgt vomBenutzernamen. Wenn das Sonderzeichen ein Rückschrägstrich ist,muss ein weiterer Rückschrägstrich als Escape-Zeichen verwendetwerden. Beispiele für Formate von Anmeldenamen:

n SSOUserFormat=[Domäne]\\[Benutzername]

n SSOUserFormat=[Domäne]+[Benutzername]

n SSOUserFormat=[Benutzername]@[Domäne]

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 23

Option Wert Standard Beschreibung

StartBlastServerTimeout

EineGanzzahl

20 Diese Option legt die Zeit (in Sekunden) fest, die demVMwareBlastServer-Prozess zur Initialisierung zur Verfügung steht.Wenn der Prozess nicht innerhalb dieses Timeout-Werts verfügbar ist,schlägt die Anmeldung des Benutzers fehl.

SSLCiphers EineTextzeichenfolge

!aNULL:kECDH+AES:ECDH+AES:RSA+AES:@STRENGTH

Verwenden Sie diese Option zum Festlegen der Liste derVerschlüsselungen. Sie müssen das Format verwenden, das inhttps://www.openssl.org/docs/manmaster/apps/ciphers.html definiertist.

SSLProtocols EineTextzeichenfolge

TLSv1_1:TLSv1_2 Verwenden Sie diese Option zum Festlegen der Sicherheitsprotokolle.Die unterstützten Protokolle sind TLSv1.0, TLSv1.1 und TLSv1.2.

SSLCipherServerPreference

TRUE oderFALSE

TRUE Verwenden Sie diese Option, um die OptionSSL_OP_CIPHER_SERVER_PREFERENCE zu aktivieren oder zudeaktivieren. Weitere Informationen finden Sie unter https://www.openssl.org/docs/manmaster/ssl/SSL_CTX_set_options.html.

Hinweis Die drei Sicherheitsoptionen SSLCiphers, SSLProtocols und SSLCipherServerPreferencegelten für den VMwareBlastServer-Prozess. Beim Start des VMwareBlastServer-Prozesses durchläuft derJava Standalone Agent diese Optionen als Parameter. Wenn Blast Secure Gateway (BSG) aktiviert ist,wirken sich diese Optionen auf die Verbindung zwischen BSG und dem Linux-Desktop aus. Wenn BSGdeaktiviert ist, wirken sich diese Optionen auf die Verbindung zwischen dem Client und dem Linux-Desktop aus.

Ausblenden der vSphere-Konsolenanzeige auf einemLinux-DesktopWenn ein Benutzer eine Verbindung mit einem Linux-Desktop herstellt, kann der Desktop auch in dervSphere-Konsole der virtuellen Linux-Maschine dargestellt werden. Virtuelle Linux-Maschinen lassen sichso konfigurieren, dass die vSphere-Konsole leer ist, wenn Benutzer eine Verbindung mit ihren Desktopsherstellen.

Verfahren

u Auf dem ESXi-Host fügen Sie der VMX-Datei der virtuellen Maschine die folgende Zeile hinzu.

RemoteDisplay.maxConnections = "0"

Die vSphere-Konsolenanzeige bleibt dann leer, auch wenn Sie nach dem Abmelden des Benutzersvom Desktop eine Verbindung zu einer virtuellen Maschine herstellen.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 24

Einrichten von Grafiken fürLinux-Desktops 5Dieses Kapitel enthält die folgenden Themen:

n Konfigurieren von RHEL 6.6 und RHEL 7.1 für vGPU

n Konfigurieren von RHEL 6.6 für vDGA

n Konfigurieren von RHEL 7.1 für vSGA

Konfigurieren von RHEL 6.6 und RHEL 7.1 für vGPUSie können RHEL 6.6 und RHEL 7.1 so einrichten, dass die NVIDIA GRID vGPU-Funktionalitäten(gemeinsam genutzte GPU-Hardwarebeschleunigung) auf dem ESXi-Host zur Verfügung stehen.

Wichtig NVIDIA vGPU wird auf NVIDIA Maxwell M60-Grafikkarten unterstützt. Diese Funktion ist nichtauf anderen NVIDIA-Grafikkarten wie GRID K1 oder K2 verwendbar.

Vorsicht Bevor Sie starten, stellen Sie sicher, dass View Agent nicht auf der virtuellen Linux-Maschineinstalliert ist. Wenn Sie View Agent vor der Konfiguration der Maschine zur Verwendung von NVIDIAvGPU installieren, werden die erforderlichen Parameter in der Datei xorg.conf überschrieben undNVIDIA vGPU funktioniert nicht. Sie müssen View Agent nach dem Abschluss der NVIDIA vGPU-Konfiguration installieren.

Installieren des VIB für die NVIDIA-Grafikkarte auf dem ESXi-HostSie müssen das VIB für Ihre NVIDIA GRID-Grafikkarte herunterladen und auf dem ESXi 6.0 U1-Host oderhöher installieren.

Für eine NVIDIA GRID vGPU-Konfiguration bietet NVIDIA ein vGPU-Softwarepaket mit einem vGPUManager, den Sie in diesem Vorgang auf dem ESXi-Host installieren, und einen Linux-Anzeigetreiber,den Sie auf der virtuellen Linux-Maschine in einem späteren Vorgang installieren.

Für eine vSGA-Konfiguration bietet NVIDIA einen VMware vSphere ESXi-Treiber für vSGA. Für vSGAwird kein NVIDIA-Anzeigetreiber auf der virtuellen Linux-Maschine installiert.

Voraussetzungen

n Stellen Sie sicher, dass vSphere 6.0 U1 oder höher in Ihrer Umgebung installiert ist.

n Für eine NVIDIA GRID vGPU-Konfiguration stellen Sie sicher, dass die NVIDIA Maxwell M60-GPUsauf dem ESXi-Host installiert sind.

VMware, Inc. 25

n Für eine vSGA-Konfiguration stellen Sie sicher, dass die NVIDIA GRID K1- oder K2-GPUs auf demESXi-Host installiert sind.

Verfahren

1 Laden Sie das VIB für Ihre NVIDIA GRID-Grafikkarte von der Site NVIDIA Treiber Downloadsherunter.

Wählen Sie aus den Dropdown-Menüs die geeignete VIB-Version aus.

Option Beschreibung

Produkttyp GRID

Produktserie Für vGPU wählen Sie NVIDIA GRID vGPU aus.

Für vSGA wählen Sie GRID Series aus.

Produkt Wählen Sie die Version aus, die auf dem ESXi-Host installiert ist (z. B. GRID K2).

Betriebssystem Wählen Sie die VMware vSphere ESXi-Version aus.

2 Für eine NVIDIA GRID vGPU-Konfiguration führen Sie folgende Schritte durch:

a Dekomprimieren Sie die ZIP-Datei des vGPU-Softwarepakets.

b Laden Sie den vGPU Manager-Ordner auf den ESXi 6.0 U1-Host hoch.

Hinweis Der Linux-Anzeigetreiber wird später auf der virtuellen Linux-Maschine installiert.

3 Für eine vSGA-Konfiguration laden Sie den VMware vSphere-ESXi-Treiber für vSGA auf den ESXi6.0 U1-Host hoch.

4 Schalten Sie alle virtuellen Maschinen auf dem ESXi-Host aus oder halten Sie diese an.

5 Stellen Sie mithilfe von SSH eine Verbindung zum ESXi-Host her.

6 Halten Sie den xorg-Dienst an.

# /etc/init.d/xorg stop

7 Installieren Sie das NVIDIA VIB.

Beispiel:

# esxcli system maintenanceMode set --enable true

# esxcli software acceptance set --level=CommunitySupported

# esxcli software vib install --no-sig-check -v /path-to-vib/NVIDIA-VIB-name.vib

# esxcli system maintenanceMode set --enable false

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 26

8 Starten Sie den ESXi-Host neu oder aktualisieren Sie diesen.

3D-Typ Beschreibung

NVIDIA GRID vGPU Bei einem installierten ESXi-Host starten Sie den Host neu.

Bei einem zustandsfreien ESXI-Host aktualisieren Sie den Host mit den folgendenSchritten. (Diese Schritte können auch auf einem installierten Host durchgeführtwerden.)

Update vmkdevmgr:# kill -HUP $(cat /var/run/vmware/vmkdevmgr.pid)

Wait for the update to complete:# localcli --plugin-dir /usr/lib/vmware/esxcli/int deviceInternal bind

This is a new requirement with the NVIDIA 352.* host driver:# /etc/init.d/nvidia-vgpu start

Restart xorg, which is used for GPU assignment:# /etc/init.d/xorg start

vSGA a Starten Sie den xorg-Dienst neu, der für die GPU-Zuweisung verwendet wird:

# /etc/init.d/xorg start

b Starten Sie den ESXi-Host neu.

9 Stellen Sie sicher, dass der xorg-Dienst nach dem Neustart des Hosts ausgeführt wird.

Konfigurieren eines gemeinsam genutzten PCI-Geräts für vGPUauf der virtuellen Linux-MaschineZur Verwendung der NVIDIA vGPU müssen Sie ein gemeinsam genutztes PCI-Gerät für die virtuelleLinux-Maschine konfigurieren.

Voraussetzungen

n Stellen Sie sicher, dass die virtuelle Linux-Maschine für eine Verwendung als Desktop vorbereitet ist.Siehe Erstellen einer virtuellen Maschine und Installieren von Linux und Vorbereiten einer Linux-Maschine für die Remote-Desktop-Bereitstellung.

n Stellen Sie sicher, dass View Agent nicht auf der virtuellen Linux-Maschine installiert ist.

n Stellen Sie sicher, dass das NVIDIA VIB auf dem ESXi-Host installiert ist. Siehe Installieren des VIBfür die NVIDIA-Grafikkarte auf dem ESXi-Host.

n Machen Sie sich mit den virtuellen GPU-Typen vertraut, die mit NVIDIA vGPU verfügbar sind und diemit der Einstellung GPU-Profil ausgewählt werden. Die virtuellen GPU-Typen bieten unterschiedlicheFunktionen für die physischen GPUs, die auf dem ESXi-Host installiert sind. Siehe Virtuelle GPU-Typen für NVIDIA.

Verfahren

1 Schalten Sie die virtuelle Maschine aus

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 27

2 Im vSphere Web Client wählen Sie die virtuelle Maschine aus und klicken auf der Registerkarte VM-Hardware auf Einstellungen bearbeiten.

3 Im Menü Neues Gerät wählen Sie Gemeinsam genutztes PCI-Gerät aus.

4 Klicken Sie auf Hinzufügen und wählen Sie NVIDIA GRID vGPU aus dem Dropdown-Menü aus.

5 Für die Einstellung GPU-Profil wählen Sie einen virtuellen GPU-Typ aus dem Dropdown-Menü aus.

6 Klicken Sie auf Gesamten Arbeitsspeicher reservieren und dann auf OK.

Um die GPU zur Unterstützung von NVIDIA GRID vGPU zu aktivieren, müssen Sie dafür dengesamten Arbeitsspeicher der virtuellen Maschine reservieren.

7 Schalten Sie die virtuelle Maschine ein.

Virtuelle GPU-Typen für NVIDIAMit der Einstellung GPU-Profile auf der Seite „Virtuelle Hardware“ im vSphere Web Client können Sieeinen virtuellen GPU-Typ auswählen, der bestimmte Funktionen für den physischen NVIDIA-GPU aufdem ESXi-Host bereitstellt.

Auf virtuellen Linux-Maschinen wird NVIDIA GRID vGPU auf NVIDIA Maxwell M60-GPUs unterstützt.

Tabelle 5-1. Für NVIDIA GRID vGPU auf virtuellen Linux-Maschinen verfügbare virtuelle GPU-Typen

VirtuellerGPU-Typ

PhysischePlatine

PhysischeGPUs

FB provirtuellemGPU

Anzeige-Heads

MaximaleAuflösung

MaximaleAnzahlvirtuellerGPUs prophysischemGPU

MaximaleAnzahlvirtuellerGPUs prophysischerPlatine

GRID M60-0q GRID M60 Zwei 512M 2 2560x1600 16 32

GRID M60-1q GRID M60 Zwei 1G 2 2560x1600 8 16

GRID M60-2q GRID M60 Zwei 2G 4 2560x1600 4 8

GRID M60-4q GRID M60 Zwei 4G 4 3840x2160 2 4

GRID M60-8q GRID M60 Zwei 8G 4 3840x2160 1 2

Installieren des NVIDIA-AnzeigetreibersUm einen NVIDIA-Anzeigetreiber zu installieren, müssen Sie den Standard-NVIDIA-Treiber deaktivieren,die NVIDIA-Anzeigetreiber herunterladen und das PCI-Gerät auf der virtuellen Maschine konfigurieren.

Voraussetzungen

n Für eine NVIDIA GRID vGPU-Konfiguration müssen Sie das vGPU-Softwarepaket von der NVIDIA-Download-Site herunterladen, das Paket dekomprimieren und den Linux-Anzeigetreiber (einePaketkomponente) bereithalten. Siehe Installieren des VIB für die NVIDIA-Grafikkarte auf dem ESXi-Host.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 28

Stellen Sie sicher, dass der virtuellen Maschine ein gemeinsam genutztes PCI-Gerät hinzugefügtwurde. Siehe Konfigurieren eines gemeinsam genutzten PCI-Geräts für vGPU auf der virtuellenLinux-Maschine .

n Für eine vDGA-Konfiguration stellen Sie sicher, dass der virtuellen RHEL 6.6-Maschine das PCI-Gerät hinzugefügt wurde. Siehe Hinzufügen eines vDGA-Passthrough-Geräts zu einer virtuellenRHEL 6.6-Maschine.

Verfahren

1 Deaktivieren Sie den Standard-NVIDIA Nouveau-Treiber und sperren Sie diesen für eine weitereVerwendung.

a Bearbeiten Sie die Datei grub.conf.

Für RHEL 6.6 ist das die Datei /boot/grub/grub.conf. Für RHEL 7.1 ist das die Datei /etc/default/grub.conf.

RHEL-Version Befehl

6.6 sudo vi /boot/grub/grub.conf

7.1 sudo vi /etc/default/grub.conf

b Fügen Sie am Ende der Kernel-Optionen die Zeile rdblacklist=nouveau hinzu.

c Bearbeiten Sie die Datei blacklist.conf.

sudo vi /etc/modprobe.d/blacklist.conf

d Fügen Sie der Datei blacklist.conf die folgende Zeile an einer beliebigen Stelle hinzu.

blacklist nouveau

2 Starten Sie die virtuelle Maschine neu.

Die Art der Anzeige hat sich verändert.

3 (Optional) Stellen Sie sicher, dass der Nouveau-Treiber deaktiviert ist.

/sbin/lsmod | grep nouveau

Dies ist dann der Fall, wenn die grep-Suche keine Ergebnisse ergibt.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 29

4 Kopieren Sie den NVIDIA-Anzeigetreiber auf die virtuelle Maschine oder laden Sie ihn herunter.

a Für eine NVIDIA GRID vGPU-Konfiguration kopieren Sie den NVIDIA-Linux-Anzeigetreiber aufdie virtuelle Maschine.

b Für eine vDGA-Konfiguration laden Sie den NVIDIA-Treiber von der Site NVIDIA TreiberDownload herunter.

Wählen Sie aus den NVIDIA-Dropdown-Menüs die geeignete Treiberversion aus:

Option Beschreibung

Produkttyp GRID

Produktserie GRID Series

Produkt Wählen Sie die Version aus, die auf dem ESXi-Host installiert ist (z. B. GRIDK2).

Betriebssystem Linux 64-Bit oder Linux 32-Bit

5 Öffnen Sie einen Remoteterminal für die virtuelle Maschine oder wechseln Sie durch Drücken vonStrg-Alt-F2 zu einer Textkonsole, melden Sie sich als Root an und führen Sie dann den init 3-Befehl zur Deaktivierung von X Windows aus.

6 Installieren Sie weitere für den NVIDIA-Treiber erforderliche Komponenten.

sudo yum install gcc-c++

sudo yum install kernel-devel-$(uname -r)

sudo yum install kernel-headers-$(uname -r)

7 Fügen Sie dem NVIDIA-Treiberpaket ein ausführbares Attribut hinzu.

Das folgende Beispiel verwendet ein Treiberpaket für NVIDIA GRID vGPU:

chmod +x NVIDIA-Linux-x86_64-Version-grid.run

Das folgende Beispiel verwendet ein Treiberpaket für vDGA:

chmod +x NVIDIA-Linux-x86_64-Version.run

8 Starten Sie das NVIDIA-Installationsprogramm.

Für NVIDIA GRID vGPU:

sudo ./NVIDIA-Linux-x86_64-Version-grid.run

Für vDGA:

sudo ./NVIDIA-Linux-x86_64-Version.run

9 Akzeptieren Sie die NVIDIA-Softwarelizenzvereinbarung und wählen Sie Ja für eine automatischeAktualisierung der X-Konfigurationseinstellungen aus.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 30

Nächste Schritte

Installieren Sie View Agent auf der virtuellen Linux-Maschine. Siehe Installieren von View Agent auf einervirtuellen Linux-Maschine.

Erstellen Sie einen Desktop-Pool mit den konfigurierten virtuellen Linux-Maschinen. Siehe Erstellen einesDesktop-Pools mit virtuellen Linux-Maschinen.

Überprüfen, ob der NVIDIA-Anzeigetreiber installiert istSie können prüfen, ob der NVIDIA-Anzeigetreiber auf einer virtuellen RHEL 6.6-Maschine installiertwurde, indem Sie die NVIDIA-Treiberausgabe in einer View-Desktop-Sitzung darstellen.

Voraussetzungen

n Überprüfen Sie, ob der NVIDIA-Anzeigetreiber installiert ist.

n Stellen Sie sicher, dass View Agent auf der virtuellen Linux-Maschine installiert ist. Siehe Installierenvon View Agent auf einer virtuellen Linux-Maschine.

n Stellen Sie sicher, dass die virtuelle Linux-Maschine in einem Desktop-Pool bereitgestellt wurde.Siehe Erstellen eines Desktop-Pools mit virtuellen Linux-Maschinen.

Verfahren

1 Starten Sie die virtuelle Linux-Maschine neu.

Das Startskript für View Agent initialisiert den X-Server und stellt die Topologie dar.

Die Anzeige der virtuellen Maschine erscheint nicht mehr in der vSphere-Konsole.

2 Von Horizon Client aus stellen Sie eine Verbindung zum Linux-Desktop her.

3 In der Linux-Desktop-Sitzung stellen Sie sicher, dass der NVIDIA-Anzeigetreiber installiert ist.

Öffnen Sie ein Terminalfenster und führen Sie den Befehl glxinfo | grep NVIDIA aus.

Die Ausgabe des NVIDIA-Treibers wird dargestellt. Beispiel:

[root]# glxinfo | grep NVIDIA

server glx vendor string: NVIDIA Corporation

client glx vendor string: NVIDIA Corporation

OpenGL vendor string: NVIDIA Corporation

OpenGL version string: 4.5.0 NVIDIA 346.47

OpenGL shading language version string: 4.50 NVIDIA

Der Benutzer kann auf die NVIDIA-Grafikfunktionen auf dem Remote-Desktop zugreifen.

Wenn Sie nach der Installation des NVIDIA-Treibers ein Upgrade für den Linux-Kernel durchführen, kannView Agent eventuell nicht mehr mit dem View-Verbindungsserver kommunizieren. Um dieses Problemzu beheben, installieren Sie den NVIDIA-Treiber erneut.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 31

Konfigurieren von RHEL 6.6 für vDGASie können durch entsprechende Einrichtung eines RHEL 6.6-Gastbetriebssystems die vDGA-Funktionalität auf dem ESXi-Host einem Horizon 6 for Linux-Desktop zur Verfügung stellen.

Vorsicht Bevor Sie starten, stellen Sie sicher, dass View Agent nicht auf der virtuellen Linux-Maschineinstalliert ist. Wenn Sie View Agent vor der Konfiguration der Maschine zur Verwendung von vDGAinstallieren, werden die erforderlichen Parameter in der Datei xorg.conf überschrieben und vDGAfunktioniert nicht. Sie müssen View Agent nach dem Abschluss der vDGA-Konfiguration installieren.

Aktivieren von DirectPath I/O für NVIDIA GRID GPUs auf einemHostBevor Sie eine virtuelle Linux-Maschine für die Verwendung von vDGA konfigurieren können, müssen Siedie NVIDIA GRID GPU-PCI-Geräte für den DirectPath I/O-Passthrough auf dem ESXi-Host verfügbarmachen.

Voraussetzungen

n Stellen Sie sicher, dass vSphere 6.0 oder höher in Ihrer Umgebung installiert ist.

n Vergewissern Sie sich, dass die NVIDIA GRID K1- oder K2-Grafikkarte auf dem ESXi-Host installiertist.

Verfahren

1 Im vSphere Web Client suchen Sie nach dem ESXi-Host.

2 Klicken Sie auf die Registerkarte Verwalten und anschließend auf Einstellungen.

3 Klicken Sie im Abschnitt „Hardware“ auf PCI-Geräte.

4 Um den DirectPath I/O-Passthrough für die NVIDIA GRID GPUs zu aktivieren, klicken Sie aufBearbeiten.

Symbol Beschreibung

Grünes Symbol Das PCI-Gerät ist aktiv und kann aktiviert werden.

Oranges Symbol Der Status des Geräts hat sich geändert. Sie müssen nun den Host neu starten,bevor Sie das Gerät verwenden können.

5 Wählen Sie die NVIDIA GRID GPUs aus und klicken Sie auf OK.

Die PCI-Geräte werden der Tabelle der für VMs verfügbaren DirectPath I/O-PCI-Geräte hinzugefügt.

6 Um die PCI-Geräte den virtuellen Linux-Maschinen zur Verfügung zu stellen, starten Sie den Hostneu.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 32

Hinzufügen eines vDGA-Passthrough-Geräts zu einer virtuellenRHEL 6.6-MaschineUm eine virtuelle RHEL 6.6-Maschine für die Verwendung von vDGA zu konfigurieren, müssen Sie dasPCI-Gerät der virtuellen Maschine hinzufügen. Damit kann das physische Gerät auf dem ESXi-Host füreine Verwendung auf der virtuellen Maschine weitergeleitet werden.

Voraussetzungen

n Stellen Sie sicher, dass die virtuelle Linux-Maschine für eine Verwendung als Desktop vorbereitet ist.Siehe Erstellen einer virtuellen Maschine und Installieren von Linux und Vorbereiten einer Linux-Maschine für die Remote-Desktop-Bereitstellung.

n Stellen Sie sicher, dass View Agent nicht auf der virtuellen Linux-Maschine installiert ist.

n Vergewissern Sie sich, dass das NVIDIA GRID GPU-PCI-Gerät für den DirectPath I/O-Passthroughauf dem Host verfügbar ist. Siehe Aktivieren von DirectPath I/O für NVIDIA GRID GPUs auf einemHost.

Verfahren

1 Schalten Sie die virtuelle Maschine aus und melden Sich sich beim RHEL 6.6-Gastbetriebssysem alslokaler Benutzer mit konfigurierten sudo-Rechten an.

2 Im vSphere Web Client wählen Sie die virtuelle Maschine aus und klicken auf der Registerkarte VM-Hardware auf Einstellungen bearbeiten.

3 Im Menü Neues Gerät wählen Sie PCI-Gerät aus.

4 Klicken Sie auf Hinzufügen und wählen Sie das PCI-Gerät aus dem Dropdown-Menü aus.

5 Klicken Sie auf Gesamten Arbeitsspeicher reservieren und dann auf OK.

Um die GPU zur Unterstützung von vDGA zu aktivieren, müssen Sie dafür den gesamtenArbeitsspeicher der virtuellen Maschine reservieren.

6 Schalten Sie die virtuelle Maschine ein und öffnen Sie die vSphere-Konsole, um eine Verbindung zurMaschine herzustellen.

7 Stellen Sie sicher, dass das NVIDIA GRID-Gerät an die virtuelle Maschine weitergeleitet wird.

Öffnen Sie ein Terminalfenster und führen Sie den folgenden Befehl aus:

lspci | grep NVIDIA

Der VGA-kompatible XX:00.0-Controller wird dargestellt. Beispiel:

NVIDIA Corporation GK104GL [GRID K2]

Installieren des NVIDIA-AnzeigetreibersUm einen NVIDIA-Anzeigetreiber zu installieren, müssen Sie den Standard-NVIDIA-Treiber deaktivieren,die NVIDIA-Anzeigetreiber herunterladen und das PCI-Gerät auf der virtuellen Maschine konfigurieren.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 33

Voraussetzungen

n Für eine NVIDIA GRID vGPU-Konfiguration müssen Sie das vGPU-Softwarepaket von der NVIDIA-Download-Site herunterladen, das Paket dekomprimieren und den Linux-Anzeigetreiber (einePaketkomponente) bereithalten. Siehe Installieren des VIB für die NVIDIA-Grafikkarte auf dem ESXi-Host.

Stellen Sie sicher, dass der virtuellen Maschine ein gemeinsam genutztes PCI-Gerät hinzugefügtwurde. Siehe Konfigurieren eines gemeinsam genutzten PCI-Geräts für vGPU auf der virtuellenLinux-Maschine .

n Für eine vDGA-Konfiguration stellen Sie sicher, dass der virtuellen RHEL 6.6-Maschine das PCI-Gerät hinzugefügt wurde. Siehe Hinzufügen eines vDGA-Passthrough-Geräts zu einer virtuellenRHEL 6.6-Maschine.

Verfahren

1 Deaktivieren Sie den Standard-NVIDIA Nouveau-Treiber und sperren Sie diesen für eine weitereVerwendung.

a Bearbeiten Sie die Datei grub.conf.

Für RHEL 6.6 ist das die Datei /boot/grub/grub.conf. Für RHEL 7.1 ist das die Datei /etc/default/grub.conf.

RHEL-Version Befehl

6.6 sudo vi /boot/grub/grub.conf

7.1 sudo vi /etc/default/grub.conf

b Fügen Sie am Ende der Kernel-Optionen die Zeile rdblacklist=nouveau hinzu.

c Bearbeiten Sie die Datei blacklist.conf.

sudo vi /etc/modprobe.d/blacklist.conf

d Fügen Sie der Datei blacklist.conf die folgende Zeile an einer beliebigen Stelle hinzu.

blacklist nouveau

2 Starten Sie die virtuelle Maschine neu.

Die Art der Anzeige hat sich verändert.

3 (Optional) Stellen Sie sicher, dass der Nouveau-Treiber deaktiviert ist.

/sbin/lsmod | grep nouveau

Dies ist dann der Fall, wenn die grep-Suche keine Ergebnisse ergibt.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 34

4 Kopieren Sie den NVIDIA-Anzeigetreiber auf die virtuelle Maschine oder laden Sie ihn herunter.

a Für eine NVIDIA GRID vGPU-Konfiguration kopieren Sie den NVIDIA-Linux-Anzeigetreiber aufdie virtuelle Maschine.

b Für eine vDGA-Konfiguration laden Sie den NVIDIA-Treiber von der Site NVIDIA TreiberDownload herunter.

Wählen Sie aus den NVIDIA-Dropdown-Menüs die geeignete Treiberversion aus:

Option Beschreibung

Produkttyp GRID

Produktserie GRID Series

Produkt Wählen Sie die Version aus, die auf dem ESXi-Host installiert ist (z. B. GRIDK2).

Betriebssystem Linux 64-Bit oder Linux 32-Bit

5 Öffnen Sie einen Remoteterminal für die virtuelle Maschine oder wechseln Sie durch Drücken vonStrg-Alt-F2 zu einer Textkonsole, melden Sie sich als Root an und führen Sie dann den init 3-Befehl zur Deaktivierung von X Windows aus.

6 Installieren Sie weitere für den NVIDIA-Treiber erforderliche Komponenten.

sudo yum install gcc-c++

sudo yum install kernel-devel-$(uname -r)

sudo yum install kernel-headers-$(uname -r)

7 Fügen Sie dem NVIDIA-Treiberpaket ein ausführbares Attribut hinzu.

Das folgende Beispiel verwendet ein Treiberpaket für NVIDIA GRID vGPU:

chmod +x NVIDIA-Linux-x86_64-Version-grid.run

Das folgende Beispiel verwendet ein Treiberpaket für vDGA:

chmod +x NVIDIA-Linux-x86_64-Version.run

8 Starten Sie das NVIDIA-Installationsprogramm.

Für NVIDIA GRID vGPU:

sudo ./NVIDIA-Linux-x86_64-Version-grid.run

Für vDGA:

sudo ./NVIDIA-Linux-x86_64-Version.run

9 Akzeptieren Sie die NVIDIA-Softwarelizenzvereinbarung und wählen Sie Ja für eine automatischeAktualisierung der X-Konfigurationseinstellungen aus.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 35

Nächste Schritte

Installieren Sie View Agent auf der virtuellen Linux-Maschine. Siehe Installieren von View Agent auf einervirtuellen Linux-Maschine.

Erstellen Sie einen Desktop-Pool mit den konfigurierten virtuellen Linux-Maschinen. Siehe Erstellen einesDesktop-Pools mit virtuellen Linux-Maschinen.

Überprüfen, ob der NVIDIA-Anzeigetreiber installiert istSie können prüfen, ob der NVIDIA-Anzeigetreiber auf einer virtuellen RHEL 6.6-Maschine installiertwurde, indem Sie die NVIDIA-Treiberausgabe in einer View-Desktop-Sitzung darstellen.

Voraussetzungen

n Überprüfen Sie, ob der NVIDIA-Anzeigetreiber installiert ist.

n Stellen Sie sicher, dass View Agent auf der virtuellen Linux-Maschine installiert ist. Siehe Installierenvon View Agent auf einer virtuellen Linux-Maschine.

n Stellen Sie sicher, dass die virtuelle Linux-Maschine in einem Desktop-Pool bereitgestellt wurde.Siehe Erstellen eines Desktop-Pools mit virtuellen Linux-Maschinen.

Verfahren

1 Starten Sie die virtuelle Linux-Maschine neu.

Das Startskript für View Agent initialisiert den X-Server und stellt die Topologie dar.

Die Anzeige der virtuellen Maschine erscheint nicht mehr in der vSphere-Konsole.

2 Von Horizon Client aus stellen Sie eine Verbindung zum Linux-Desktop her.

3 In der Linux-Desktop-Sitzung stellen Sie sicher, dass der NVIDIA-Anzeigetreiber installiert ist.

Öffnen Sie ein Terminalfenster und führen Sie den Befehl glxinfo | grep NVIDIA aus.

Die Ausgabe des NVIDIA-Treibers wird dargestellt. Beispiel:

[root]# glxinfo | grep NVIDIA

server glx vendor string: NVIDIA Corporation

client glx vendor string: NVIDIA Corporation

OpenGL vendor string: NVIDIA Corporation

OpenGL version string: 4.5.0 NVIDIA 346.47

OpenGL shading language version string: 4.50 NVIDIA

Der Benutzer kann auf die NVIDIA-Grafikfunktionen auf dem Remote-Desktop zugreifen.

Wenn Sie nach der Installation des NVIDIA-Treibers ein Upgrade für den Linux-Kernel durchführen, kannView Agent eventuell nicht mehr mit dem View-Verbindungsserver kommunizieren. Um dieses Problemzu beheben, installieren Sie den NVIDIA-Treiber erneut.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 36

Konfigurieren von RHEL 7.1 für vSGASie können durch entsprechende Einrichtung eines RHEL 7.1-Gastbetriebssystems die vSGA-Funktionalität einem Horizon 6 for Linux-Desktop zur Verfügung stellen.

Installieren des VIB für die NVIDIA-Grafikkarte auf dem ESXi-HostSie müssen das VIB für Ihre NVIDIA GRID-Grafikkarte herunterladen und auf dem ESXi 6.0 U1-Host oderhöher installieren.

Für eine NVIDIA GRID vGPU-Konfiguration bietet NVIDIA ein vGPU-Softwarepaket mit einem vGPUManager, den Sie in diesem Vorgang auf dem ESXi-Host installieren, und einen Linux-Anzeigetreiber,den Sie auf der virtuellen Linux-Maschine in einem späteren Vorgang installieren.

Für eine vSGA-Konfiguration bietet NVIDIA einen VMware vSphere ESXi-Treiber für vSGA. Für vSGAwird kein NVIDIA-Anzeigetreiber auf der virtuellen Linux-Maschine installiert.

Voraussetzungen

n Stellen Sie sicher, dass vSphere 6.0 U1 oder höher in Ihrer Umgebung installiert ist.

n Für eine NVIDIA GRID vGPU-Konfiguration stellen Sie sicher, dass die NVIDIA Maxwell M60-GPUsauf dem ESXi-Host installiert sind.

n Für eine vSGA-Konfiguration stellen Sie sicher, dass die NVIDIA GRID K1- oder K2-GPUs auf demESXi-Host installiert sind.

Verfahren

1 Laden Sie das VIB für Ihre NVIDIA GRID-Grafikkarte von der Site NVIDIA Treiber Downloadsherunter.

Wählen Sie aus den Dropdown-Menüs die geeignete VIB-Version aus.

Option Beschreibung

Produkttyp GRID

Produktserie Für vGPU wählen Sie NVIDIA GRID vGPU aus.

Für vSGA wählen Sie GRID Series aus.

Produkt Wählen Sie die Version aus, die auf dem ESXi-Host installiert ist (z. B. GRID K2).

Betriebssystem Wählen Sie die VMware vSphere ESXi-Version aus.

2 Für eine NVIDIA GRID vGPU-Konfiguration führen Sie folgende Schritte durch:

a Dekomprimieren Sie die ZIP-Datei des vGPU-Softwarepakets.

b Laden Sie den vGPU Manager-Ordner auf den ESXi 6.0 U1-Host hoch.

Hinweis Der Linux-Anzeigetreiber wird später auf der virtuellen Linux-Maschine installiert.

3 Für eine vSGA-Konfiguration laden Sie den VMware vSphere-ESXi-Treiber für vSGA auf den ESXi6.0 U1-Host hoch.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 37

4 Schalten Sie alle virtuellen Maschinen auf dem ESXi-Host aus oder halten Sie diese an.

5 Stellen Sie mithilfe von SSH eine Verbindung zum ESXi-Host her.

6 Halten Sie den xorg-Dienst an.

# /etc/init.d/xorg stop

7 Installieren Sie das NVIDIA VIB.

Beispiel:

# esxcli system maintenanceMode set --enable true

# esxcli software acceptance set --level=CommunitySupported

# esxcli software vib install --no-sig-check -v /path-to-vib/NVIDIA-VIB-name.vib

# esxcli system maintenanceMode set --enable false

8 Starten Sie den ESXi-Host neu oder aktualisieren Sie diesen.

3D-Typ Beschreibung

NVIDIA GRID vGPU Bei einem installierten ESXi-Host starten Sie den Host neu.

Bei einem zustandsfreien ESXI-Host aktualisieren Sie den Host mit den folgendenSchritten. (Diese Schritte können auch auf einem installierten Host durchgeführtwerden.)

Update vmkdevmgr:# kill -HUP $(cat /var/run/vmware/vmkdevmgr.pid)

Wait for the update to complete:# localcli --plugin-dir /usr/lib/vmware/esxcli/int deviceInternal bind

This is a new requirement with the NVIDIA 352.* host driver:# /etc/init.d/nvidia-vgpu start

Restart xorg, which is used for GPU assignment:# /etc/init.d/xorg start

vSGA a Starten Sie den xorg-Dienst neu, der für die GPU-Zuweisung verwendet wird:

# /etc/init.d/xorg start

b Starten Sie den ESXi-Host neu.

9 Stellen Sie sicher, dass der xorg-Dienst nach dem Neustart des Hosts ausgeführt wird.

Konfigurieren von 3D-Funktionen für vSGA auf einer virtuellenLinux-MaschineUm eine virtuelle RHEL 7.1-Maschine für die Verwendung von vSGA zu konfigurieren, müssen Sie die3D-Einstellungen für die Grafikkarte der virtuellen Maschine im vSphere Web Client konfigurieren.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 38

Voraussetzungen

n Stellen Sie sicher, dass die virtuelle Linux-Maschine für die Verwendung als Desktop vorbereitetwurde, dass View Agent installiert ist und die Maschine in einem Desktop-Pool bereitgestellt wird.

n Stellen Sie sicher, dass das NVIDIA VIB auf dem ESXi-Host installiert ist. Siehe Installieren des VIBfür die NVIDIA-Grafikkarte auf dem ESXi-Host.

Verfahren

1 Schalten Sie die virtuelle Maschine aus

2 Im vSphere Web Client wählen Sie die virtuelle Maschine aus und klicken auf der Registerkarte VM-Hardware auf Einstellungen bearbeiten.

3 In der Registerkarte „Virtuelle Hardware“ klicken Sie auf Grafikkarte, um die Menüeinstellungen zuerweitern.

4 Legen Sie für Gesamter Videoarbeitsspeicher den Wert 128 MB fest.

5 Für 3D-Grafiken wählen Sie 3D-Unterstützung aktivieren aus.

6 Für 3D-Renderer wählen Sie Hardware aus dem Dropdown-Menü aus.

7 Für 3D-Arbeitsspeicher wählen Sie einen geeigneten Wert gemäß den Anforderungen IhrerAnwendung aus.

Wenn Ihre Benutzer mehr als drei Monitore angeschlossen haben, legen Sie einen Wert vonmindestens 1024 MB fest.

8 Klicken Sie auf OK.

9 Schalten Sie die virtuelle Maschine ein.

Nächste Schritte

Stellen Sie sicher, dass vSGA auf der virtuellen Linux-Maschine ausgeführt wird.

Installieren Sie als Nächstes View Agent auf der virtuellen Linux-Maschine. Siehe Installieren von ViewAgent auf einer virtuellen Linux-Maschine.

Überprüfen, ob vSGA auf einer virtuellen Linux-Maschineausgeführt wirdSie können überprüfen, ob vSGA auf einer virtuellen RHEL 7.1-Maschine ausgeführt wird, indem Sie dieProtokolldatei der virtuellen Maschine und das Gastbetriebssystem durchsehen.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 39

Verfahren

1 Öffnen Sie die Datei vmware.log für die virtuelle Maschine.

Wenn ein unterstützter GPU und ein unterstütztes NVIDIA VIB korrekt installiert sind, enthält dieProtokolldatei Zeilen wie im folgenden Beispiel:

2015-06-24T22:19:25.259Z| svga| I125: OpenGL Version: "4.5.0 NVIDIA 346.69" (4.5.0)

2015-06-24T22:19:25.259Z| svga| I125: GLSL Version: "4.50 NVIDIA" (4.50.0)

2015-06-24T22:19:25.259Z| svga| I125: OpenGL Vendor: "NVIDIA Corporation"

2015-06-24T22:19:25.259Z| svga| I125: OpenGL Renderer: "Quadro 4000/PCIe/SSE2"

Wenn ein unterstützter GPU und ein unterstütztes NVIDIA VIB nicht korrekt installiert sind, verwendetdie virtuelle Maschine den Software-Renderer. Die Datei vmware.log enthält Zeilen wie im folgendenBeispiel:

2015-07-06T17:09:26.423Z| vmx| I125: [msg.mks.noGPUResourceFallback] Hardware GPU resources are

not available. The virtual machine will use software rendering.

2015-07-06T17:09:26.423Z| vmx| I125: ----------------------------------------

2015-07-06T17:09:26.425Z| svga| I125: MKS-SWP: plugin started - llvmpipe (LLVM 3.3, 256 bits)

2015-07-06T17:09:26.426Z| svga| I125: Started Shim3D

2015-07-06T17:09:26.426Z| svga| I125: MKS-RenderMain: Starting SWRenderer

2 Im Gastbetriebssystem auf der virtuellen Maschine geben Sie nachfolgend aufgeführten Befehl ein.

glxinfo|grep Gallium

Wenn vSGA funktioniert, gibt der Befehl folgenden Text zurück:

OpenGL renderer string: Gallium 0.4 on SVGA3D; build : RELEASE;

Wenn vSGA nicht korrekt funktioniert, gibt der Befehl folgenden Text zurück:

OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.3, 256 bits)

Nächste Schritte

Installieren Sie View Agent auf der virtuellen Linux-Maschine. Siehe Installieren von View Agent auf einervirtuellen Linux-Maschine.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 40

Installieren von View Agent undVerwalten von Linux-Desktops 6Sie müssen View Agent auf den Linux-Desktops installieren, sodass der View-Verbindungsserver mit denDesktops kommunizieren und sie verwalten kann.

Dieses Kapitel enthält die folgenden Themen:

n Installieren von View Agent auf einer virtuellen Linux-Maschine

n Aktivieren der umkehrbaren Kennwortverschlüsselung

n Erstellen eines Desktop-Pools mit virtuellen Linux-Maschinen

n Durchführen eines Upgrades von View Agent auf einer virtuellen Linux-Maschine

n Deinstallieren und Neuinstallieren von Horizon 6 for Linux-Maschinen

n Verwenden von Optionen zur Stromversorgung auf Linux-Desktops in vSphere

n Ermitteln von Informationen über die Horizon 6 for Linux-Software

Installieren von View Agent auf einer virtuellen Linux-MaschineBevor Sie eine virtuelle Linux-Maschine als Remote-Desktop bereitstellen können, müssen Sie auf dieserView Agent installieren.

Zum Installieren von View Agent müssen Sie die Anmeldedaten eines View-Administrators angeben. DasInstallationsprogramm sendet diese Anmeldedaten zum Verbindungsserver zur Authentifizierung. Diefolgenden Authentifizierungsmechanismen werden unterstützt:

n DIGEST-MD5. Für diesen Mechanismus muss die Active Directory-Richtlinie Kennwort mitumkehrbarer Verschlüsselung speichern aktiviert sein. Weitere Informationen zur Aktivierungdieser Richtlinie finden Sie unterAktivieren der umkehrbaren Kennwortverschlüsselung.

VMware, Inc. 41

n Kerberos. Um diesen Mechanismus verwenden zu können, müssen Sie mit der Befehlszeilenoption -k die Adresse des Active Directory-Servers angeben. Außerdem müssen Sie für den erforderlichenParameter -b den vollqualifizierten Domänennamen (FQDN) des Verbindungsservers unterVerwendung des realen Hostnamens und Domänennamens angeben. Sie können nicht die IP-Adresse oder einen zugeordneten FQDN verwenden.

Vorsicht Wenn Sie NVIDIA GRID vGPU, vDGA oder vSGA verwenden möchten, müssen Sie diese 3D-Funktionen auf der virtuellen Linux-Maschine vor der Installation von View Agent konfigurieren. Wenn SieView Agent zuerst installieren, werden erforderliche Parameter in der Datei xorg.conf überschriebenund die 3D-Grafikfunktionen können nicht verwendet werden.

Weitere Informationen finden Sie unter Konfigurieren von RHEL 6.6 und RHEL 7.1 für vGPU,Konfigurieren von RHEL 6.6 für vDGA oder Konfigurieren von RHEL 7.1 für vSGA. Installieren Sie ViewAgent erst nach dem Abschluss der 3D-Grafikkonfiguration.

Für die 2D-Grafikkonfiguration können Sie View Agent nach dem Abschluss der unter Vorbereiten einerLinux-Maschine für die Remote-Desktop-Bereitstellung aufgeführten Schritte installieren.

Voraussetzungen

n Stellen Sie sicher, dass das Linux-Gastbetriebssystem für die Desktop-Verwendung vorbereitet ist.Siehe Vorbereiten einer Linux-Maschine für die Remote-Desktop-Bereitstellung.

n Machen Sie sich mit dem Installationsskript von View Agent für Linux vertraut. Sieheinstall_viewagent.sh-Befehlszeilenoptionen.

n Stellen Sie sicher, dass der Administrator des View-Verbindungsservers, dem der Installationsbefehlzur Verfügung gestellt wird, über die Rolle Agent-Registrierungsadministratoren oderAdministratoren in View Administrator verfügt. Im Einzelnen ist speziell das Recht Agentregistrieren für die Registrierung von View Agent mit dem View-Verbindungsserver erforderlich. DieRolle Agent-Registrierungsadministratoren ist eine beschränkte Rolle mit diesem Mindestrecht.

n Wenn Ihre Installationsumgebung mehrere Domänen verwendet, müssen Sie sicherstellen, dass sichdas View Administrator-Benutzerkonto in derselben Domäne wie der View-Verbindungsserverbefindet.

n Vergewissern Sie sich, dass der Port 389 für den Linux-View Agent verfügbar ist, damit bei derInstallation von View Agent eine Kommunikation mit dem View-Verbindungsserver möglich ist.

Verfahren

1 Laden Sie die Installationsdatei für View Agent für Linux von der VMware-Download-Site unter https://my.vmware.com/web/vmware/downloads herunter.

Unter „Desktop- und Endbenutzer-Computing“ wählen Sie den VMware Horizon-6-Download aus, derdie Installationsdatei für View Agent für Linux enthält.

Der Name der Installationsdatei lautet VMware-viewagent-linux-x86_64-y.y.y-xxxxxxx.tar.gz für 64-Bit-Linux oder VMware-viewagent-linux-y.y.y-xxxxxxx.tar.gz für 32-Bit.Linux, wobei y.y.y dieVersionsnummer und xxxxxxx die Build-Nummer darstellt.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 42

2 Entpacken Sie das TAR-Archiv für Ihre Linux-Distribution auf dem Gastbetriebssystem.

Beispiel:

tar -xzvf <View Agent-TAR-Archiv>

3 Wechseln Sie zum Ordner des TAR-Archivs.

4 Führen Sie das Skript install_viewagent.sh als Superuser aus.

Unter install_viewagent.sh-Befehlszeilenoptionen finden Sie eine Liste der Befehlszeilenoptionen.

Beispiel:

sudo ./install_viewagent.sh -b mybroker.mydomain.com -d mydomain.com -u administrator -p password

Der -b-Parameter gibt die View-Verbindungsserver-Instanz an, für die die Linux-Maschine registriertwird. Sie können mit dem -b-Parameter einen vollqualifizierten Domänennamen (FQDN) oder eineIP-Adresse verwenden.

Mit den Parametern -d, -u und -p werden die Domäne, der Benutzername und das Kennwort desView-Administrators angegeben. Achten Sie darauf, dass im Kennwort Sonderzeichen wie $ einEscape-Zeichen vorangestellt ist. Beispiel: ab\$cdef

Wenn Sie den Befehl ohne den -p-Parameter eingeben, werden Sie nach der Befehlseingabe zurAngabe des Kennworts aufgefordert. Das Kennwort ist bei der Eingabe an der Eingabeaufforderungnicht sichtbar.

Standardmäßig wird für die Registrierung der Linux-Maschine deren Hostname verwendet. Mit dem -n-Parameter können Sie einen anderen Maschinennamen festlegen.

5 Geben Sie Yes ein, um die EULA-Vereinbarung anzunehmen, wenn Sie install_viewagent.shohne Angabe der Option -A ausführen.

Das Installationsprogramm wird ohne Annahme der EULA-Vereinbarung nicht ausgeführt.

6 Führen Sie einen Linux-Neustart durch, damit die Änderungen wirksam werden.

Nach der Installation ist die Maschine beim View-Verbindungsserver registriert und der viewagent-Dienstwird gestartet. Durch Ausführung des Befehls #service viewagent status können Sie überprüfen, obder Dienst gestartet wurde.

Wenn die Meldung Agent-Registrierung fehlgeschlagen angezeigt wird, finden Sie entsprechendeErläuterungen unter Durchführen der Fehlerbehandlung bei einer fehlerhaften View Agent-Registrierungfür eine Linux-Maschine.

Zu anderen View Agent-Problemen sind Informationen unter Kapitel 8 Fehlerbehebung bei Linux-Desktops verfügbar.

Hinweis Das install_viewagent.sh-Skript installiert JRE 8 im View Agent-Installationsverzeichnis /usr/lib/vmware/viewagent/jre auf der virtuellen Linux-Maschine. ViewAgent erfordert JRE 8.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 43

Nächste Schritte

Stellen Sie die virtuelle Maschine in einem Desktop-Pool bereit. Siehe Erstellen eines Desktop-Pools mitvirtuellen Linux-Maschinen.

install_viewagent.sh-BefehlszeilenoptionenDas install_viewagent.sh-Skript installiert View Agent auf einem Linux-Gastbetriebssystem.

Verwenden Sie für das install_viewagent.sh-Skript die folgende Syntax in einem Befehlsfenster derGnome-Desktop-Umgebung.

install_viewagent.sh command_option argument [command_option argument] . . .

Das install_viewagent.sh-Skript enthält obligatorische und optionale Parameter.

Tabelle 6-1. Obligatorische install_viewagent.sh-Parameter

ObligatorischeParameter Beschreibung

-b FQDN oder IP-Adresse der View-Verbindungsserver-Instanz, wenn der AuthentifizierungsmechanismusDIGEST-MD5 ist. Wenn der Authentifizierungsmechanismus Kerberos ist, geben Sie den realen FQDN an undnicht die IP-Adresse oder einen zugeordneten FQDN.

-d Domänenname der View-Verbindungsserver-Instanz Beispiel: meinedomaene.de

-u Benutzername des Administrators des View-Verbindungsservers. Beispiel: meineadminDer Administrator muss über die Rolle Agent-Registrierungsadministratoren oder Administratoren in ViewAdministrator verfügen. Im Einzelnen ist speziell das Recht Agent registrieren für die Registrierung von ViewAgent mit dem View-Verbindungsserver erforderlich. Die Rolle Agent-Registrierungsadministratoren isteine beschränkte Rolle mit diesem Mindestrecht.

Tabelle 6-2. install_viewagent.sh-Kennwortparameter

OptionalerParameter(erforderlicheInformationen) Beschreibung

-p Kennwort des Administrators des View-Verbindungsservers.

Wenn Sie das Kennwort im Detail nicht offenlegen möchten, verzichten Sie auf den Parameter -p in derBefehlszeile. Bei der Eingabe des Befehls install_viewagent.sh ohne -p-Parameter werden Sie zurEingabe des Kennworts aufgefordert. Das Kennwort ist bei der Eingabe an der Eingabeaufforderung nichtsichtbar.

Sie müssen das Kennwort also entweder über den -p-Parameter oder an der Eingabeaufforderung angeben.

Wenn das Kennwort ein Sonderzeichen wie z. B. $ in der Shell enthält, in der das Installationsprogrammausgeführt wird, müssen Sie sicherstellen, dass dem Sonderzeichen ein Escape-Zeichen vorangestellt ist.Beispiel: ab\$cdef

-A yes EULA-Annahme. Um die Installation fortzusetzen zu können, müssen Sie yes angeben. Wird dieserParameter nicht angegeben, werden Sie vom Installationsprogramm dazu aufgefordert.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 44

Tabelle 6-3. Optionale Parameter für install_viewagent.sh

OptionaleParameter Beschreibung

-n Der für den View-Verbindungsserver registrierte Maschinenname. Standardmäßig verwendet das View Agent-Installationsprogramm den Hostnamen. Sie können aber einen eigenen Namen angeben.

-s Subject-DN des selbstsignierten Zertifikats.

Standardmäßig erstellt das View Agent-Installationsprogramm ein selbstsigniertes Zertifikat mit demfolgenden Subject-DN-Wert: '/C=US/ST=California/O=VMware/CN=Hostname.Domänenname'. DerStandard-CN gibt den Hostnamen und den Domänennamen der Maschine an.

Sie können aber einen eigenen Subject-DN angeben.

-m yes Aktivieren der Smartcard-Umleitung

-j JMS SSL-Schlüsselspeicherkennwort. Wenn keine Angabe erfolgt, erzeugt das Installationsprogramm einzufälliges Kennwort.

-k Die Adresse des Active Directory-Servers zur Kerberos-Authentifizierung. Wenn dieser Parameter festgelegtwird, bedeutet das, dass das Installationsprogramm ausschließlich Kerberos zur Authentifizierung verwendet.

-r Starten Sie das Betriebssystems nach der Installation neu. Die zulässigen Optionen sind yes (Ja) und no(Nein). Die Standardeinstellung ist no.

Aktivieren der umkehrbaren KennwortverschlüsselungBei der Installation muss sich View Agent beim View-Verbindungsserver als View-Administratorauthentifizieren. Wenn der Authentifizierungsmechanismus DIGEST-MD5 ist, müssen Sie zunächst dieActive Directory (AD)-Einstellung Kennwort mit umkehrbarer Verschlüsselung speichern für dasKonto des Administrators aktivieren.

Verfahren

1 Öffnen Sie auf dem AD-Server Administrative Tools > Active Directory-Benutzer und -Computer.

2 Klicken Sie mit der rechten Maustaste auf das Konto des View-Administrators und wählen SieEigenschaften.

3 Wählen Sie die Registerkarte „Konto“ aus.

4 In den Kontooptionen wählen Sie die Einstellung Kennwort mit umkehrbarer Verschlüsselungspeichern aus.

5 Setzen Sie das Kennwort für den View-Administrator zurück.

Erstellen eines Desktop-Pools mit virtuellen Linux-MaschinenUm virtuelle Linux-Maschinen für die Verwendung als Remote-Desktops zu konfigurieren, müssen Sieeinen manuellen Desktop-Pool erstellen und diesem die Linux-Maschinen hinzufügen.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 45

Beim Erstellen des Desktop-Pools dürfen Sie nur virtuelle Linux-Maschinen hinzufügen. Wenn der Poolsowohl virtuelle Windows- als auch virtuelle Linux-Gastbetriebssysteme enthält, wird der Pool alsWindows-Pool behandelt und kann nicht mit Linux-Desktops verbunden werden.

Wenn Sie Benutzern Berechtigungen für Linux-Maschinen im Desktop-Pool erteilen, müssen Siesicherstellen, dass die Benutzer nicht über Administratorrechte im Linux-Gastbetriebssystem verfügen.Ein Administrator kann ein Terminalfenster öffnen und mit einem Befehl wie shutdown die virtuelleMaschine ausschalten. Der vCenter Server-Administrator muss dann die Maschine erneut einschalten.Durch die Erteilung von nicht-administrativen Berechtigungen für Linux-Benutzer wird sichergestellt, dassSie diese Vorgänge der Stromversorgung nicht manuell verwalten müssen.

Voraussetzungen

n Stellen Sie sicher, dass View Agent auf dem Linux-Gastbetriebssystem installiert ist. SieheInstallieren von View Agent auf einer virtuellen Linux-Maschine.

n Überprüfen Sie, ob die virtuellen Linux-Maschinen auf dem View-Verbindungsserver registriert sind.In View Administrator wählen Sie View-Konfiguration > Registrierte Computer aus und dann dieRegisterkarte Andere. Stellen Sie sicher, dass für jede Maschine der Status Verfügbar gültig ist.

n Auf Ubuntu 14.04-Maschinen müssen Sie sicherstellen, dass der Benutzerwechsel deaktiviert ist.Siehe auch Schritt 9 in Vorbereiten einer Linux-Maschine für die Remote-Desktop-Bereitstellung.

Verfahren

1 In View Administrator fügen Sie einen manuellen Desktop-Pool hinzu.

Wählen Sie Katalog > Desktop-Pools > Hinzufügen aus.

2 Wählen Sie Manueller Desktop-Pool aus.

3 Wählen Sie entweder dedizierte oder flexible Benutzerzuweisungen für die Maschinen im Desktop-Pool aus.

4 Auf der Seite „Maschinenquelle“ wählen Sie Andere Quellen aus.

5 Auf der Seite „Maschinen hinzufügen“ wählen Sie die von Ihnen konfigurierten virtuellen Linux-Maschinen aus und führen die notwendigen Eingaben im Assistenten Desktop-Pool hinzufügendurch.

Lassen Sie die Einstellungen für das Remoteanzeigeprotokoll unverändert. Diese Einstellungenhaben keinen Einfluss auf Linux-Desktops. Darüber hinaus kann der Endbenutzer dasAnzeigeprotokoll nicht auswählen.

Wichtig Fügen Sie nur virtuelle Linux-Maschinen hinzu. Wenn Sie virtuelle Windows-Maschinenhinzufügen, sind die Linux-Desktops im Pool nicht verfügbar.

6 Erteilen Sie Benutzern Berechtigungen für die Maschinen im Desktop-Pool.

In View Administrator wählen Sie den Desktop-Pool aus, wählen Berechtigungen > Berechtigunghinzufügen und fügen Benutzer oder Gruppen hinzu.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 46

Es ist empfehlenswert, sicherzustellen, dass die Benutzer nicht über Administratorrechte im Linux-Gastbetriebssystem verfügen.

Die virtuellen Linux-Maschinen stehen dann für die Verwendung als Remote-Desktops in einer Horizon 6-Bereitstellung zur Verfügung.

Durchführen eines Upgrades von View Agent auf einervirtuellen Linux-MaschineSie können das Upgrade von View Agent auf einer Linux-Maschine durchführen, indem Sie die aktuelleVersion von View Agent installieren.

Die meisten Installationsparameter, die in der vorherigen Installation festgelegt wurden, werdengespeichert. Optional können Sie die folgenden Parameter festlegen:

Parameter Beschreibung

-A yes EULA-Annahme. Um die Installation fortzusetzen zu können, müssen Sie yes angeben. Wird dieser Parameternicht angegeben, werden Sie vom Installationsprogramm dazu aufgefordert.

-m yes Aktivieren der Smartcard-Umleitung

-r Starten Sie das Betriebssystems nach der Installation neu. Die zulässigen Optionen sind yes (Ja) und no (Nein).Die Standardeinstellung ist no.

Voraussetzungen

n Stellen Sie sicher, dass der VMwareBlastServer-Prozess nicht ausgeführt wird.

Um diesen Prozess anzuhalten, stellen Sie sicher, dass der Benutzer von der Maschine abgemeldetist und keine Desktop-Sitzung aktiv ist, oder starten Sie die Maschine neu.

Verfahren

1 Laden Sie die neueste Installationsdatei für View Agent für Linux von der VMware-Download-Siteunter https://my.vmware.com/web/vmware/downloads herunter.

Unter „Desktop- und Endbenutzer-Computing“ wählen Sie den VMware Horizon-6-Download aus, derdie Installationsdatei für View Agent für Linux enthält.

Der Name der Installationsdatei lautet VMware-viewagent-linux-x86_64-y.y.y-xxxxxxx.tar.gz für 64-Bit-Linux oder VMware-viewagent-linux-y.y.y-xxxxxxx.tar.gz für 32-Bit.Linux, wobei y.y.y dieVersionsnummer und xxxxxxx die Build-Nummer darstellt.

2 Entpacken Sie das TAR-Archiv für Ihre Linux-Distribution auf dem Gastbetriebssystem.

Beispiel:

tar -xzvf <View Agent-TAR-Archiv>

3 Wechseln Sie zum Ordner des TAR-Archivs.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 47

4 Führen Sie das install_viewagent.sh-Skript aus.

Beispiel:

sudo ./install_viewagent.sh -A yes

Deinstallieren und Neuinstallieren von Horizon 6 forLinux-MaschinenUm Horizon 6 for Linux auf einer virtuellen Maschine zu deinstallieren, müssen Sie die nicht verwalteteMaschine aus dem Desktop-Pool sowie die registrierte Maschine aus View entfernen, View Agentdeinstallieren und die Konfigurationsdateien löschen. Wenn Sie Horizon 6 for Linux erneut installierenmöchten, führen Sie das Installationsskript von View Agent aus.

Entfernen eines nicht verwalteten Computers aus einemmanuellen Desktop-PoolDie Größe eines manuellen Desktop-Pools kann durch Entfernen nicht verwalteter Computer aus demPool verringert werden.

Verfahren

1 Wählen Sie in View Administrator Katalog > Desktop-Pools aus.

2 Doppelklicken Sie auf die Pool-ID des manuellen Pools.

3 Wählen Sie die Registerkarte Bestandsliste aus.

4 Wählen Sie die zu entfernenden nicht verwalteten Computer aus.

5 Klicken Sie auf Entfernen.

6 Wenn Benutzer bei den nicht verwalteten, VM-basierten Desktops angemeldet sind, legen Sie fest,ob die Sitzungen beendet werden oder aktiv bleiben sollen.

Option Beschreibung

Aktiv lassen Aktive Sitzungen bleiben bestehen, bis der Benutzer sich abmeldet. View-Verbindungsserver verfolgt diese Sitzungen nicht nach.

Beenden Aktive Sitzungen werden sofort beendet.

7 Klicken Sie auf OK.

Die nicht verwalteten Computer werden aus dem Pool entfernt.

Entfernen von registrierten Maschinen aus ViewFalls Sie eine registrierte Maschine nicht mehr verwenden möchten, können Sie sie aus View entfernen.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 48

Es sind zwei Arten von registrierten Maschinen in View möglich: RDS-Hosts und andere Hosts. Nichtverwaltete Maschinen fallen unter die Kategorie „Andere“. Unter nicht verwalteten Maschinen sindphysische Computer und virtuelle Maschinen zu verstehen, die nicht von vCenter Server verwaltetwerden, inklusive virtuelle Horizon 6 for Linux-Maschinen. Sie werden zur Bildung von manuellenDesktop-Pools verwendet, die keine vCenter Server-VMs enthalten.

Nachdem Sie eine registrierte Maschine entfernt haben, ist sie in View nicht mehr verfügbar. Damit Ihnendie Maschine wieder zur Verfügung steht, müssen Sie View Agent neu installieren.

Voraussetzungen

Stellen Sie sicher, dass die registrierten Maschinen, die Sie entfernen möchten, nicht in einem Desktop-Pool verwendet werden.

Verfahren

1 Wählen Sie in View Administrator View-Konfiguration > Registrierte Computer aus.

2 Klicken Sie auf die Registerkarte Andere.

3 Wählen Sie einen oder mehrere Computer aus und klicken Sie auf Entfernen.

Sie können nur Maschinen auswählen, die nicht von einem Desktop-Pool verwendet werden.

4 Klicken Sie zum Bestätigen auf OK.

Deinstallieren von View Agent auf einer virtuellen Linux-MaschineUm View Agent auf einer virtuellen Linux-Maschine zu deinstallieren, verwenden Sie dasuninstall_viewagent.sh-Skript. Darüber hinaus müssen Sie die Horizon 6 for Linux-Konfiguration vonder Maschine entfernen.

Voraussetzungen

n Stellen Sie sicher, dass die Maschine aus dem Desktop-Pool und aus Horizon 6 entfernt wurde.Siehe Entfernen eines nicht verwalteten Computers aus einem manuellen Desktop-Pool undEntfernen von registrierten Maschinen aus View.

Verfahren

1 Öffnen Sie auf der virtuellen Maschine ein Terminalfenster und führen Sie das Deinstallationsskript fürView Agent aus.

Beispiel:

sudo /usr/lib/vmware/viewagent/bin/uninstall_viewagent.sh

Das Skript hält die View Agent-Vorgänge an und löscht den View Agent-Dienst sowie das ViewAgent-Installationsverzeichnis /usr/lib/vmware/viewagent.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 49

2 Löschen Sie manuell die Konfigurationsdateien für Horizon 6 for Linux im Verzeichnis /etc/vmware/.

Wenn Sie View Agent erneut installieren möchten (z. B. um ein Upgrade auf eine höhere View Agent-Version durchzuführen), müssen Sie diese Konfigurationsdateien nicht löschen.

delete /etc/vmware/viewagent-machine.cfg

delete /etc/vmware/viewagent-config.txt

delete /etc/vmware/jms

delete /etc/vmware/ssl

Neuinstallieren von View Agent auf einer virtuellen Linux-MaschineFür die Neuinstallation von View Agent auf einer virtuellen Linux-Maschine sind verschiedeneVorgehensweisen möglich, je nachdem, ob Sie eine vorhandene Horizon 6 for Linux-Konfigurationverwenden oder mit einer neuen Konfiguration neuinstallieren möchten.

Sie können View Agent mit einer vorhandenen Konfiguration neuinstallieren, wenn die Horizon 6 forLinux-Konfigurationsdateien auf der virtuellen Maschine vorhanden sind und die Maschine auf dem View-Verbindungsserver registriert ist.

Wenn entweder die Konfigurationsdateien von der Maschine oder der Name der registrierten Maschinevom View-Verbindungsserver entfernt wurden, müssen Sie sicherstellen, dass sowohl die lokalenKonfigurationsdateien als auch der Name der registrierten Maschine auf dem View-Verbindungsservernicht mehr vorhanden sind. Sie haben dann die Möglichkeit, eine neue Installation von View Agent miteiner neuen Konfiguration durchzuführen.

Voraussetzungen

n Stellen Sie sicher, dass die Konfigurationsdateien für Horizon 6 for Linux auf der Maschine vorhandensind.

/etc/vmware/viewagent-machine.cfg

/etc/vmware/viewagent-config.txt

/etc/vmware/jms

/etc/vmware/ssl

n Überprüfen Sie, ob die virtuelle Linux-Maschine auf dem View-Verbindungsserver registriert ist. InView Administrator wählen Sie View-Konfiguration > Registrierte Computer aus und dann dieRegisterkarte Andere.

n Wenn die Konfigurationsdateien und der Name der registrierten Maschine nicht mehr vorhanden sind,machen Sie sich mit den Schritten zur Durchführung einer neuen Installation von View Agent vertraut.Siehe Installieren von View Agent auf einer virtuellen Linux-Maschine.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 50

Verfahren

u Für die Neuinstallation mit einer vorhandenen Horizon 6 for Linux-Konfiguration führen Sie dasInstallationsskript von View Agent ohne Parameter aus.

sudo ./install_viewagent.sh

Das Installationsprogramm von View Agent verwendet die vorhandenen Konfigurationsdateien unddie Maschinenregistrierung auf dem View-Verbindungsserver erneut. Das Installationsprogrammmuss deshalb die Maschine nicht noch einmal registrieren.

u Für eine Neuinstallation mit einer neuen Horizon 6 for Linux-Konfiguration führen Sie dasInstallationsskript von View Agent mit den erforderlichen Parametern aus.

Die Installationsschritte entsprechen denen einer neuen Installation. Das Installationsprogrammregistriert die Maschine mit dem View-Verbindungsserver.

Verwenden von Optionen zur Stromversorgung auf Linux-Desktops in vSphereVerschiedentlich kann es notwendig sein, Optionen zur Stromversorgung auf Linux-Desktops in vSpherezu verwenden.

Verwenden Sie nicht die Optionen Ausschalten und Zurücksetzen, da mit diesen die Gefahr besteht,dass Daten verloren gehen oder View Agent nicht mehr korrekt startet. Verwenden Sie stattdessen dieOptionen Gast herunterfahren oder Gast neu starten.

Ermitteln von Informationen über die Horizon 6 for Linux-SoftwareZur Unterstützung der Verwaltung und Fehlerbehebung für die Horizon 6 für Linux-Software lassen sichInformationen über eine View Agent-Installation auf einer virtuellen Linux-Maschine ermitteln.

Verfahren

u Ermitteln Sie die View Agent-Version auf einer Linux-Maschine.

Führen Sie den folgenden Befehl aus:

cat /usr/lib/vmware/viewagent/Product.txt

Die Ausgabe zeigt die View Agent-Version an. Beispiel:

VMware-viewagent-linux-x.x-yyyyyyy

wobei x.x die Produktversion darstellt und yyyyyyy die Build-Nummer.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 51

u Ermitteln Sie Informationen über die View Agent-Software.

Dateien Speicherort

View Agent-Installationsverzeichnis /usr/lib/vmware/viewagent

Protokolle /var/log/vmware/

View Agent-Konfiguration /etc/vmware/viewagent-config.txt

Maschinenkonfiguration /etc/vmware/viewagent-machine.cfg

u Halten Sie den View Agent-Dienst an, starten Sie ihn oder starten Sie ihn neu.

Ein View Agent-Dienst, der über diese Vorgänge verfügt, wird mit den Linux-Distributionen zurVerfügung gestellt. Mit Ubuntu 12.04 können Sie beispielsweise folgenden Befehl ausführen:

sudo service viewagent <stop/start/restart>

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 52

Massenbereitstellung vonHorizon 6 for Linux-Desktops 7Mit View Administrator können Sie automatisch einen Pool von Windows-Desktop-Maschinen erstellen,nicht jedoch von Linux-Desktop-Maschinen. Sie können jedoch Skripts entwickeln, die die Bereitstellungeines Pools von Linux-Desktop-Maschinen automatisieren.

Die zur Verfügung gestellten Beispielskripts dienen nur der Veranschaulichung. VMware übernimmt keineVerantwortung für Probleme, die im Zusammenhang mit der praktischen Anwendung der Beispielskriptsauftreten.

Dieses Kapitel enthält die folgenden Themen:

n Überblick über die Massenbereitstellung von Linux-Desktops

n Erstellen einer Vorlage für virtuelle Maschinen zum Klonen von Linux-Desktop-Maschinen

n Eingabedatei für die PowerCLI-Beispielskripts zur Bereitstellung von Linux-Desktops

n Beispielskript zum Klonen von virtuellen Linux-Maschinen

n Beispielskript zum Hinzufügen geklonter virtueller Maschinen zu einer AD-Domäne

n Beispielskript zum Hinzufügen geklonter virtueller Maschinen zu einer AD-Domäne mithilfe von SSH

n Beispielskript zum Installieren von View Agent auf virtuellen Linux-Maschinen

n Beispielskript zum Installieren von View Agent auf virtuellen Linux-Maschinen mithilfe von SSH

n Beispielskript zum Hochladen von Konfigurationsdateien zu virtuellen Linux-Maschinen

n Beispielskript zum Hochladen von Konfigurationsdateien zu virtuellen Linux-Maschinen mithilfe vonSSH

n Beispielskript zur Durchführung eines Upgrades von View Agent auf Linux-Desktop-Maschinen

n Beispielskript zur Durchführung eines Upgrades von View Agent auf virtuellen Linux-Maschinenmithilfe von SSH

n Beispielskript zum Ausführen von Vorgängen auf virtuellen Linux-Maschinen

n Beispielskript zum Löschen von Maschinen aus der Verbindungsserver-LDAP-Datenbank

VMware, Inc. 53

Überblick über die Massenbereitstellung von Linux-DesktopsFür die Bereitstellung von Linux-Desktops sind mehrere Schritte erforderlich. Wenn Sie mehr als nur eineHandvoll Desktops bereitstellen möchten, können Sie einige dieser Schritte mithilfe von PowerCLI-Skriptsautomatisieren.

Für einige Vorgänge können Sie auswählen, ob entweder PowerCLI oder SSH die Befehle auf der Linux-Maschine ausführen soll. Die folgende Tabelle beschreibt die Unterschiede zwischen den beidenVorgehensweisen.

PowerCLI SSH

Es ist nicht erforderlich, zusätzliche Tools zuinstallieren.

n Für Ubuntu müssen Sie den SSH-Server mit dem Befehl sudo apt-getinstall openssh-server installieren. Für RHEL und CentOS wirdopenssh-server standardmäßig installiert. Sie müssen jedochsicherstellen, dass die Firewall-Einstellungen SSH zulassen.

n Die SSH-Client-Anwendungen pscp.exe und plink.exe müssenheruntergeladen und im selben Ordner wie die PowerCLI-Skripts abgelegtwerden.

Das Hochladen von Dateien und dieBefehlsausführung gehen langsamer vonstatten.

Das Hochladen von Dateien und die Befehlsausführung gehen schnellervonstatten.

Die Administrator-Anmeldedaten des ESXi-Hostsmüssen angegeben werden.

Die Administrator-Anmeldedaten des ESXi-Hosts müssen nicht angegebenwerden.

Es können keine Sonderzeichen im Administrator-Kennwort (bei Ausführung des Skripts zurInstallation von View Agent) oder im Kennwort desAD-Benutzers (bei Ausführung des Skripts zumHinzufügen der Domäne) verarbeitet werden.

Es können Sonderzeichen im Administrator-Kennwort (bei Ausführung desSkripts zur Installation von View Agent) oder im Kennwort des AD-Benutzers(bei Ausführung des Skripts zum Hinzufügen der Domäne) verarbeitet werden.

Hinweis Sowohl PowerCLI-basierte als auch SSH-basierte Skripts können Sonderzeichen in denKennwörtern für den vCenter Server-Administrator und den Linux-Administrator verarbeiten. PowerCLI-basierte Skripts können Sonderzeichen auch im Kennwort des ESXi-Host-Administrators verarbeiten. Inall diesen Fällen ist kein Escape-Zeichen erforderlich.

Weitere Informationen zu vSphere PowerCLI finden Sie unter https://www.vmware.com/support/developer/PowerCLI.

Die Massenbereitstellung eines Pools von Linux-Desktops umfasst die folgenden Schritte:

1 Erstellen Sie eine Vorlage für die virtuelle Maschine.

Siehe Erstellen einer Vorlage für virtuelle Maschinen zum Klonen von Linux-Desktop-Maschinen.

2 Erstellen Sie eine Anpassungsspezifikation für das Gastbetriebssystem.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 54

Erläuterungen finden Sie unter „Erstellen einer Anpassungsspezifikation für Linux im vSphere WebClient“ im Dokument Verwaltung virtueller vSphere-Maschinen. Für die Erstellung einer Spezifikationmüssen die folgenden Einstellungen korrekt festgelegt werden.

Einstellung Wert

Betriebssystem der virtuellen Zielmaschine Linux

Computername Verwenden Sie den Namen der virtuellen Maschine.

Domäne Geben Sie die Domäne der View-Umgebung an.

Netzwerkeinstellungen Verwenden Sie die Standardnetzwerkeinstellungen.

Primäres DNS Geben Sie eine gültige Adresse an.

3 Klonen Sie virtuelle Maschinen.

Siehe Beispielskript zum Klonen von virtuellen Linux-Maschinen.

4 Fügen Sie die geklonten VMs zur Active Directory-Domäne (AD-Domäne) hinzu.

Siehe Beispielskript zum Hinzufügen geklonter virtueller Maschinen zu einer AD-Domäne oderBeispielskript zum Hinzufügen geklonter virtueller Maschinen zu einer AD-Domäne mithilfe von SSH.

5 Installieren Sie View Agent auf einer virtuellen Maschine.

Siehe Beispielskript zum Installieren von View Agent auf virtuellen Linux-Maschinen oderBeispielskript zum Installieren von View Agent auf virtuellen Linux-Maschinen mithilfe von SSH.

6 Aktualisieren Sie die Konfigurationsoptionen in virtuellen Maschinen.

Siehe Beispielskript zum Hochladen von Konfigurationsdateien zu virtuellen Linux-Maschinen oderBeispielskript zum Hochladen von Konfigurationsdateien zu virtuellen Linux-Maschinen mithilfe vonSSH.

7 Erstellen Sie einen Desktop-Pool.

Siehe Erstellen eines Desktop-Pools mit virtuellen Linux-Maschinen.

Verschiedentlich kann es notwendig sein, ein Upgrade von View Agent auf den virtuellen Linux-Maschinen durchzuführen. Unter Beispielskript zur Durchführung eines Upgrades von View Agent aufLinux-Desktop-Maschinen oder Beispielskript zur Durchführung eines Upgrades von View Agent aufvirtuellen Linux-Maschinen mithilfe von SSH finden Sie ein Beispielskript für ein Upgrade von View Agentauf virtuellen Maschinen.

Unter Beispielskript zum Ausführen von Vorgängen auf virtuellen Linux-Maschinen erhalten Sie einBeispielskript, das Vorgänge wie das Einschalten, Herunterfahren, Neustarten oder Löschen virtuellerMaschinen durchführt. Mit diesem Skript lassen sich virtuelle Maschinen aus vCenter Server löschen.Erläuterungen zum Löschen von Desktop-Maschinen aus View finden Sie unter Beispielskript zumLöschen von Maschinen aus der Verbindungsserver-LDAP-Datenbank.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 55

Erstellen einer Vorlage für virtuelle Maschinen zumKlonen von Linux-Desktop-MaschinenBevor Sie eine virtuelle Maschine klonen können, müssen Sie als Grundlage für die Klone eine Vorlagefür virtuelle Maschinen erstellen.

Voraussetzungen

n Stellen Sie sicher, dass Ihre Bereitstellung den Anforderungen für die Unterstützung von Linux-Desktops entspricht. Siehe Systemanforderungen für Horizon 6 for Linux.

n Machen Sie sich mit den Schritten für das Erstellen virtueller Maschinen in vCenter Server und mitder Installation von Gastbetriebssystemen vertraut. Unter „Erstellen und Vorbereiten virtuellerMaschinen“ im Einrichten von Desktop- und Anwendungspools für View-Dokument finden Sie dazuErläuterungen.

n Informieren Sie sich über die empfohlenen Videospeicherwerte (vRAM) für die Monitore, die Sie mitder virtuellen Maschine verwenden möchten. Siehe Systemanforderungen für Horizon 6 for Linux.

n Machen Sie sich mit den Schritten zur AD-Integration vertraut. Siehe Kapitel 3 Einrichten der ActiveDirectory-Integration für Linux-Desktops.

n Machen Sie sich, falls erforderlich, mit den Schritten zur Konfiguration von Optionen mithilfe derKonfigurationsdateien von View vertraut. Siehe Kapitel 4 Konfigurationsoptionen für Linux-Desktops.

n Wenn Sie planen, Grafiken einzurichten, machen Sie sich mit den entsprechenden Schritten vertraut.Siehe Kapitel 5 Einrichten von Grafiken für Linux-Desktops.

Verfahren

1 Erstellen Sie im vSphere Web Client oder vSphere Client eine neue virtuelle Maschine.

2 Konfigurieren Sie die benutzerdefinierten Konfigurationsoptionen.

a Klicken Sie mit der rechten Maustaste auf die virtuelle Maschine und klicken Sie aufEinstellungen bearbeiten.

b Geben Sie die Anzahl der vCPUs und die Größe des vMemory-Arbeitsspeichers an.

Empfohlene Werte finden Sie im Installationshandbuch Ihrer Linux-Distribution.

Ubuntu 12.04 empfiehlt beispielsweise die Konfiguration von 2.048 MB für den vMemory-Arbeitsspeicher und von zwei vCPUs.

c Wählen Sie Grafikkarte aus und geben Sie die Anzahl der Anzeigegeräte sowie den gesamtenVideospeicher (vRAM) ein.

Legen Sie im vSphere Web Client die vRAM-Größe für virtuelle Maschinen mit 2D oder vSGAfest. Diese verwenden den VMware-Treiber. Die vRAM-Größe hat keinen Einfluss auf vDGA-oder NVIDIA GRID vGPU-Maschinen. Diese verwenden NVIDIA-Treiber.

Empfohlene Werte finden Sie unter Systemanforderungen für Horizon 6 for Linux. Verwenden Sienicht die Videospeicherberechnung.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 56

3 Schalten Sie die virtuelle Maschine ein und installieren Sie die Linux-Distribution.

4 Erstellen Sie einen Benutzer mit Root-Rechten, z. B. „ViewBenutzer“. Mit diesem Benutzer wird nurView Agent installiert und deinstalliert.

5 Bearbeiten Sie /etc/sudoers und fügen Sie die Zeile ViewUser ALL=(ALL) NOPASSWD:ALL hinzu.

Enthält /etc/sudoers diese Zeile ist kein Kennwort für die Ausführung von Sudo als „ViewBenutzer“erforderlich. Wenn Sie für die Installation von View Agent das in diesem Kapitel zur Verfügunggestellte Beispielskript verwenden, müssen Sie „ViewBenutzer“ als Eingabe angeben.

6 Bei Linux-Distributionen wie RHEL, CentOS oder NeoKylin bearbeiten Sie /etc/sudoers undkommentieren die folgenden Zeilen aus:

Defaults requiretty

Defaults !visiblepw

7 Wenn es sich bei der Linux-Distribution nicht um RHEL 7 handelt, installieren Sie VMware Tools.

Bei RHEL 7 wird Open VM Tools standardmäßig installiert.

8 Für die Linux-Distribution RHEL 7 installieren Sie das Plug-In deployPkg.

Die Anweisungen dazu finden Sie unter http://kb.vmware.com/kb/2075048.

9 Für RHEL und CentOS aktivieren Sie die Netzwerkverbindungseinstellung Automatisch verbinden.

10 Führen Sie die Aufgaben zur AD-Integration aus.

11 Führen Sie zusätzliche Konfigurationen mithilfe der Konfigurationsdateien von View durch.

12 Führen Sie die Schritte zum Einrichten von Grafiken durch.

13 Fahren Sie die virtuelle Maschine herunter und erstellen Sie einen Snapshot.

Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-DesktopsDie PowerCLI-Beispielskripts zur Bereitstellung von Linux-Desktops lesen eine Eingabedatei mitInformationen über die Desktop-Maschinen.

Die Eingabedatei ist vom Typ csv und enthält die folgenden Informationen:

n Name der virtuellen Desktop-Maschine

n Übergeordneter Name der virtuellen Maschine

n Anpassungsspezifikation des Gastbetriebssystems

n Datenspeicher mit den geklonten Desktop-Maschinen

n Host-ESXi-Server der Desktop-Maschine

n Snapshot der übergeordneten virtuellen Maschine für das Klonen

n Attribut für das Löschen der virtuellen Desktop-Maschine, wenn vorhanden

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 57

Das folgende Beispiel zeigt den möglichen Inhalt einer Eingabedatei.

VMName,Parentvm,CustomSpec,Datastore,Host,FromSnapshot,DeleteIfPresent

linux-001,Ubuntu1204x64,linuxagent,datastore1,10.117.44.172,snapshot1,TRUE

linux-002,Ubuntu1204x64,linuxagent,datastore1,10.117.44.172,snapshot1,TRUE

linux-003,Ubuntu1204x64,linuxagent,datastore1,10.117.44.172,snapshot1,TRUE

linux-004,Ubuntu1204x64,linuxagent,datastore1,10.117.44.172,snapshot1,TRUE

linux-005,Ubuntu1204x64,linuxagent,datastore1,10.117.44.172,snapshot1,TRUE

Das Beispielskript geht davon aus, dass der Name dieser Eingabedatei CloneVMs.csv lautet und dassdie Datei im selben Ordner wie die Skripts enthalten ist.

Beispielskript zum Klonen von virtuellen Linux-MaschinenSie können das im Folgenden aufgeführte Beispielskript für das Klonen einer beliebigen Anzahl virtuellerMaschinen (VMs) anpassen und anwenden.

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

SkripteingabeDieses Skript liest eine Eingabedatei, die im Kapitel Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-Desktops beschrieben ist. Es gibt verschiedene Eingabeaufforderungen für diefolgenden Informationen aus:

n IP-Adresse von vCenter Server

n Anmeldename des Administrators für vCenter Server

n Kennwort des Administrators für vCenter Server

n Klontyp (verknüpft oder vollständig)

n Deaktivierung der vSphere-VM-Konsole

Skriptinhalt

<#

Create Clones from a Master VM

The Tool supports creation of Full clone and linked clone from Master VM.

The parent VM is required for the linked-clone to work and the parent VMs file cannot be renamed or

moved.

#>

#------------------------- Functions -------------------------

function GetInput

{

Param($prompt, $IsPassword = $false)

$prompt = $prompt + ": "

Write-Host $prompt -NoNewLine

[Console]::ForegroundColor = "Blue"

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 58

if ($IsPassword)

{

$input = Read-Host -AsSecureString

$input =

[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBS

TR($input))

}

else

{

$input = Read-Host

}

[Console]::ResetColor()

return $input

}

function IsVMExists ()

{

Param($VMExists)

Write-Host "Checking if the VM $VMExists already Exists"

[bool]$Exists = $false

#Get all VMS and check if the VMs is already present in VC

$listvm = Get-vm

foreach ($lvm in $listvm)

{

if($VMExists -eq $lvm.Name )

{

$Exists = $true

}

}

return $Exists

}

function Disable_VM_Console()

{

Param($VMToDisableConsole)

$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec

$extra = New-Object VMware.Vim.optionvalue

$extra.Key="RemoteDisplay.maxConnections"

$extra.Value="0"

$vmConfigSpec.extraconfig += $extra

$vm = Get-VM $VMToDisableConsole | Get-View

$vm.ReconfigVM($vmConfigSpec)

}

function Delete_VM()

{

Param($VMToDelete)

Write-Host "Deleting VM $VMToDelete"

Get-VM $VMToDelete | where { $_.PowerState –eq "PoweredOn" } | Stop-VM –confirm:$false

Get-VM $VMToDelete | Remove-VM –DeleteFromDisk –confirm:$false

}

#------------------------- Main Script -------------------------

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 59

$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false

$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false

$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true

$cloneType = GetInput -prompt 'Clone Type ("linked" or "full")' -IsPassword $false

$disableVMConsole = GetInput -prompt 'Disable vSphere VM Console ("yes" or "no", recommend "yes")' -

IsPassword $false

"-----------------------------------------------------"

$csvFile = '.\CloneVMs.csv'

# Check that user passed only linked or full clone

if (($CloneType.length >0) -and ($CloneType -ne "linked" -or $CloneType -ne "full"))

{

write-host -ForeGroundColor Red "Clone type supports only 'linked' or 'full' (case sensitive)"

exit

}

if (($disableVMConsole.length >0) -and ($disableVMConsole -ne "yes" -or $disableVMConsole -ne "no"))

{

write-host -ForeGroundColor Red "Disable vSphere VM Console supports only 'yes' or 'no' (case

sensitive)"

exit

}

#check if file exists

if (!(Test-Path $csvFile))

{

write-host -ForeGroundColor Red "CSV File $CSVFile not found"

exit

}

# Connect to the VC (Parameterize VC)

#Connect to vCenter

$VC_Conn_State = Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword

if([string]::IsNullOrEmpty($VC_Conn_State))

{

Write-Host 'Exit since failed to login vCenter'

exit

}

else

{

Write-Host 'vCenter is connected'

}

#Read input CSV file

$csvData = Import-CSV $csvFile

#$csvData = Import-CSV $csvFile -

header("VMName","Parentvm","CustomSpec","Datastore","Host","FromSnapshot","DeleteIfPresent")

foreach ($line in $csvData)

{

"`n-----------------------------------------------------"

$VMName = $line.VMName

write-host -ForeGroundColor Yellow "VM: $VMName`n"

$destVMName=$line.VMName

$srcVM = $line.Parentvm

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 60

$cSpec = $line.CustomSpec

$targetDSName = $line.Datastore

$destHost = $line.Host

$srcSnapshot = $line.FromSnapshot

$deleteExisting = $line.DeleteIfPresent

if (IsVMExists ($destVMName))

{

Write-Host "VM $destVMName Already Exists in VC $vcAddress"

if($deleteExisting -eq "TRUE")

{

Delete_VM ($destVMName)

}

else

{

Write-Host "Skip clone for $destVMName"

continue

}

}

$vm = get-vm $srcvm -ErrorAction Stop | get-view -ErrorAction Stop

$cloneSpec = new-object VMware.VIM.VirtualMachineCloneSpec

$cloneSpec.Location = new-object VMware.VIM.VirtualMachineRelocateSpec

if ($CloneType -eq "linked")

{

$cloneSpec.Location.DiskMoveType =

[VMware.VIM.VirtualMachineRelocateDiskMoveOptions]::createNewChildDiskBacking

}

Write-Host "Using Datastore $targetDSName"

$newDS = Get-Datastore $targetDSName | Get-View

$CloneSpec.Location.Datastore = $newDS.summary.Datastore

Set-VM -vm $srcVM -snapshot (Get-Snapshot -vm $srcVM -Name $srcSnapshot) -confirm:$false

$cloneSpec.Snapshot = $vm.Snapshot.CurrentSnapshot

$cloneSpec.Location.Host = (get-vmhost -Name $destHost).Extensiondata.MoRef

$CloneSpec.Location.Pool = (Get-ResourcePool -Name Resources -Location (Get-VMHost -Name

$destHost)).Extensiondata.MoRef

# Start the Clone task using the above parameters

$task = $vm.CloneVM_Task($vm.parent, $destVMName, $cloneSpec)

# Get the task object

$task = Get-Task | where { $_.id -eq $task }

#Wait for the taks to Complete

Wait-Task -Task $task

$newvm = Get-vm $destVMName

$customSpec = Get-OSCustomizationSpec $cSpec

Set-vm -OSCustomizationSpec $cSpec -vm $newvm -confirm:$false

if ($disableVMConsole -eq "yes")

{

Disable_VM_Console($destVMName)

}

# Start the VM

Start-VM $newvm

}

Disconnect-VIServer $vcAddress -Confirm:$false

exit

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 61

SkriptausführungDie folgenden Meldungen resultieren aus einer Ausführung des Skripts:

PowerCLI C:\scripts> .\CloneVMs.ps1

Your vCenter address: 10.117.44.17

Your vCenter admin user name: administrator

Your vCenter admin user password: *******

Clone Type<"linked" or "Full"> : linked

Disable vSphere VM Console ("yes" or "no", recommend "yes") : yes

Der für den Klonvorgang notwendige Zeitraum ist abhängig von der Anzahl der Desktop-Maschinen undkann von mehreren Minuten bis zu Stunden reichen. Um sicherzustellen, dass der Vorgangabgeschlossen ist, vergewissern Sie sich im vSphere Client, dass die letzte virtuelle Desktop-Maschineeingeschaltet ist und über ihren eigenen eindeutigen Hostnamen verfügt und dass VMware Toolsausgeführt wird.

Beispielskript zum Hinzufügen geklonter virtuellerMaschinen zu einer AD-DomäneSie können das folgende Beispielskript anpassen und verwenden, um geklonte virtuelle Maschinen (VMs)zu einer Active Directory-Domäne (AD-Domäne) hinzuzufügen.

Sie müssen dieses Skript ausführen, wenn Sie die Winbind-Lösung für die AD-Integration verwenden,weil dabei der Schritt des Hinzufügens zur Domäne für geklonte VMs fehlschlägt. Dieses Skript führteinen Befehl zum Hinzufügen zur Domäne auf jeder VM aus. Sie müssen dieses Skript nicht ausführen,wenn Sie die OpenLDAP-Lösung verwenden.

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

SkripteingabeDieses Skript liest eine Eingabedatei, die im Kapitel Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-Desktops beschrieben ist. Es gibt verschiedene Eingabeaufforderungen für diefolgenden Informationen aus:

n IP-Adresse von vCenter Server

n Anmeldename des Administrators für vCenter Server

n Kennwort des Administrators für vCenter Server

n Anmeldename des Administrators für den ESXi-Host

n Kennwort des Administrators für den ESXi-Host

n Benutzeranmeldename für die Linux-VM

n Benutzerkennwort für die Linux-VM

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 62

n Anmeldename eines AD-Benutzers, der autorisiert ist, Maschinen zur Domäne hinzuzufügen

n Kennwort des autorisierten AD-Benutzers

Skriptinhalt

<#

.SYNOPSIS

run command "sudo /usr/bin/net ads join"

.DESCRIPTION

The tool is to run the command "sudo /usr/bin/net ads join" to join Linux to AD

.NOTES

#>

#------------------------- Functions -------------------------

function GetInput

{

Param($prompt, $IsPassword = $false)

$prompt = $prompt + ": "

Write-Host $prompt -NoNewLine

[Console]::ForegroundColor = "Blue"

if ($IsPassword)

{

$input = Read-Host -AsSecureString

$input =

[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBS

TR($input))

}

else

{

$input = Read-Host

}

[Console]::ResetColor()

return $input

}

#------------------------- Handle input -------------------------

"-----------------------------------------------------"

$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false

$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false

$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true

"-----------------------------------------------------"

$hostAdmin = GetInput -prompt 'Your ESXi host admin user name, such as root' -IsPassword $false

$hostPassword = GetInput -prompt "Your ESXi admin user password" -IsPassword $true

"-----------------------------------------------------"

$guestUser = GetInput -prompt 'Your VM guest OS user name' -IsPassword $false

$guestPassword = GetInput -prompt 'Your VM guest OS user password' -IsPassword $true

"-----------------------------------------------------"

$adUser = GetInput -prompt 'Type the AD user name to join the AD' -IsPassword $false

""

"`nPlease type the AD user password."

"Plase note that special character in password may not work with the script"

$adUserPassword = GetInput -prompt 'Your AD user password' -IsPassword $true

"-----------------------------------------------------"

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 63

#$csvFile = Read-Host 'Csv File '

$csvFile = '.\CloneVMs.csv'

#------------------------- Main Script -------------------------

#Connect to vCenter

#Connect to vCenter

$VC_Conn_State = Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword

if([string]::IsNullOrEmpty($VC_Conn_State))

{

Write-Host 'Exit since failed to login vCenter'

exit

}

else

{

Write-Host 'vCenter is connected'

}

#Read input CSV file

$csvData = Import-CSV $csvFile

$destFolder = "/home/$guestUser/"

#Handle VMs one by one

foreach ($line in $csvData)

{

"`n-----------------------------------------------------"

$VMName = $line.VMName

write-host -ForeGroundColor Yellow "VM: $VMName`n"

$cmd = "sudo /usr/bin/net ads join -U $adUser%$adUserPassword"

Write-Host "Run cmd 'sudo /usr/bin/net ads join' in VM '$VMName' with user '$guestUser'"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

}

Disconnect-VIServer $vcAddress -Confirm:$false

exit

SkriptausführungDie folgenden Meldungen resultieren aus einer Ausführung des Skripts:

PowerCLI C:\scripts> .\ClonedVMs_JoinDomain.ps1

--------------------------------------------------

Your vCenter address: 10.117.44.17

Your vCenter admin user name: administrator

Your vCenter admin user password: *******

--------------------------------------------------

Your ESXi host admin user name, such as root: root

Your ESXi host admin user password: *******

--------------------------------------------------

Your VM guest OS user name: ViewUser

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 64

Your VM guest OS user password: *******

--------------------------------------------------

Type the AD user name to join the AD: viewadmin

Please type the AD user password.

Please note that special character in password may not work with the script.

Your AD user password: *******

Beispielskript zum Hinzufügen geklonter virtuellerMaschinen zu einer AD-Domäne mithilfe von SSHSie können das folgende Beispielskript anpassen und verwenden, um geklonte virtuelle Maschinen (VMs)zu einer Active Directory-Domäne (AD-Domäne) hinzuzufügen. Dieses Skript verwendet SSH zurAusführung von Befehlen auf den Linux-VMs.

Sie müssen dieses Skript ausführen, wenn Sie die Winbind-Lösung für die AD-Integration verwenden,weil dabei der Schritt des Hinzufügens zur Domäne für geklonte VMs fehlschlägt. Dieses Skript führteinen Befehl zum Hinzufügen zur Domäne auf jeder VM aus. Sie müssen dieses Skript nicht ausführen,wenn Sie die OpenLDAP-Lösung verwenden.

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

SkripteingabeDieses Skript liest eine Eingabedatei, die im Kapitel Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-Desktops beschrieben ist. Es gibt verschiedene Eingabeaufforderungen für diefolgenden Informationen aus:

n IP-Adresse von vCenter Server

n Anmeldename des Administrators für vCenter Server

n Kennwort des Administrators für vCenter Server

n Benutzeranmeldename für die Linux-VM

n Benutzerkennwort für die Linux-VM

n Anmeldename eines AD-Benutzers, der autorisiert ist, Maschinen zur Domäne hinzuzufügen

n Kennwort des autorisierten AD-Benutzers

Skriptinhalt

<#

.SYNOPSIS

run command "sudo /usr/bin/net ads join" via SSH

.DESCRIPTION

The tool is to run the command "sudo /usr/bin/net ads join" to join Linux machine to AD via SSH

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 65

.NOTES

#>

#------------------------- Functions -------------------------

function GetInput

{

Param($prompt, $IsPassword = $false)

$prompt = $prompt + ": "

Write-Host $prompt -NoNewLine

[Console]::ForegroundColor = "Blue"

if ($IsPassword)

{

$input = Read-Host -AsSecureString

$input =

[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBS

TR($input))

}

else

{

$input = Read-Host

}

[Console]::ResetColor()

return $input

}

function Check_SSH_Client

{

Param($IsPlink, $IsPSCP)

if ($IsPlink)

{

if (Test-Path ".\plink.exe")

{

write-host -ForeGroundColor Yellow 'SSH client "plink.exe" found'

}

else

{

write-host -ForeGroundColor Red 'SSH client "plink.exe" not found, please download from

its official web site'

exit

}

}

if ($IsPSCP)

{

if (Test-Path ".\pscp.exe")

{

write-host -ForeGroundColor Yellow 'SSH client "pscp.exe" found'

}

else

{

write-host -ForeGroundColor Red 'SSH client "pscp.exe" not found, please download from its

official web site'

exit

}

}

}

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 66

function RunCmdViaSSH

{

Param($VM_Name, $User, $Password, $Cmd, $returnOutput = $false)

$VM= Get-VM $VM_Name

$IP = $VM.guest.IPAddress[0]

write-host "Run cmd on $VM_Name ($IP)"

if($returnOutput)

{

$command = "echo yes | .\plink.exe -ssh -l $user -pw $password $IP " + '"' + $cmd +'"'

$output = Invoke-Expression $command

return $output

}

else

{

echo yes | .\plink.exe -ssh -l $user -pw $password $IP "$cmd"

}

}

function UploadFileViaSSH

{

Param($VM_Name, $User, $Password, $LocalPath, $DestPath)

$VM= Get-VM $VM_Name

$IP = $VM.guest.IPAddress[0]

$command = "echo yes | .\pscp.exe -l $User -pw $Password $LocalPath $IP" + ":" + "$DestPath"

write-host "Upload file: $command"

Invoke-Expression $command

}

#------------------------- Handle input -------------------------

"-----------------------------------------------------"

Check_SSH_Client -IsPlink $true -IsPSCP $false

"-----------------------------------------------------"

$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false

$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false

$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true

"-----------------------------------------------------"

$guestUser = GetInput -prompt 'Your VM guest OS user name' -IsPassword $false

$guestPassword = GetInput -prompt 'Your VM guest OS user password' -IsPassword $true

"-----------------------------------------------------"

$adUser = GetInput -prompt 'Type the AD user name to join the AD' -IsPassword $false

""

"`nPlease type the AD user password."

[Console]::ForegroundColor = "Yellow"

"Plase note that special character should be escaped. For example, $ should be \$"

[Console]::ResetColor()

$adUserPassword = GetInput -prompt 'Your AD user password' -IsPassword $true

"-----------------------------------------------------"

#$csvFile = Read-Host 'Csv File '

$csvFile = '.\CloneVMs.csv'

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 67

#------------------------- Main Script -------------------------

#Connect to vCenter

$VC_Conn_State = Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword

if([string]::IsNullOrEmpty($VC_Conn_State))

{

Write-Host 'Exit since failed to login vCenter'

exit

}

else

{

Write-Host 'vCenter is connected'

}

#Read input CSV file

$csvData = Import-CSV $csvFile

$destFolder = "/home/$guestUser/"

#Handle VMs one by one

foreach ($line in $csvData)

{

"-----------------------------------------------------"

$VMName = $line.VMName

write-host -ForeGroundColor Yellow "VM: $VMName`n"

$cmd = "sudo /usr/bin/net ads join -U $adUser%$adUserPassword"

Write-Host "Run cmd 'sudo /usr/bin/net ads join' in VM '$VMName' with user '$guestUser'"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

}

Disconnect-VIServer $vcAddress -Confirm:$false

exit

SkriptausführungDie folgenden Meldungen resultieren aus einer Ausführung des Skripts:

PowerCLI C:\scripts> .\ClonedVMs_JoinDomain_SSH.ps1

--------------------------------------------------

Your vCenter address: 10.117.44.17

Your vCenter admin user name: administrator

Your vCenter admin user password: *******

--------------------------------------------------

Your VM guest OS user name: ViewUser

Your VM guest OS user password: *******

--------------------------------------------------

Type the AD user name to join the AD: viewadmin

Please type the AD user password.

Please note that special character should be escaped. For example, $ should be \$

Your AD user password: *******

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 68

Beispielskript zum Installieren von View Agent aufvirtuellen Linux-MaschinenSie können das im Folgenden aufgeführte Beispielskript für die Installation von View Agent auf mehrerenvirtuellen Linux-Maschinen (VMs) anpassen und anwenden.

Dieses Skript lädt das TAR-Archiv des Installationsprogramms auf jede VM hoch, bevor View Agentinstalliert wird. Die Upload-Aufgabe kann sehr viel Zeit in Anspruch nehmen, vor allem wenn eine großeAnzahl von VMs beteiligt und die Netzwerkgeschwindigkeit langsam ist. Um Zeit zu sparen, können Siedas Skript ausführen, das SSH verwendet, oder das TAR-Archiv des Installationsprogramms an einemfreigegebenen Speicherort ablegen, der für jede VM verfügbar ist, wodurch das Hochladen der Dateinicht erforderlich ist.

Bevor Sie das Skript ausführen, müssen Sie sicherstellen, dass View Agent nicht bereits auf den VMsinstalliert ist.

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

SkripteingabeDieses Skript liest eine Eingabedatei, die im Kapitel Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-Desktops beschrieben ist. Es gibt verschiedene Eingabeaufforderungen für diefolgenden Informationen aus:

n Annahme der View Agent-Endbenutzerlizenzvereinbarung (EULA)

n IP-Adresse von vCenter Server

n Anmeldename des Administrators für vCenter Server

n Kennwort des Administrators für vCenter Server

n Anmeldename des Administrators für den ESXi-Host

n Kennwort des Administrators für den ESXi-Host

n Benutzeranmeldename für die Linux-VM

n Benutzerkennwort für die Linux-VM

n Pfad für das View Agent-TAR-Archiv

n IP-Adresse des View-Verbindungsservers

n Anmeldename des Administrators für den View-Verbindungsserver

n Kennwort des Administrators für den View-Verbindungsserver

n Domänenname des View-Verbindungsserver-Administrators

n Die Adresse des AD-Servers, wenn Kerberos die Authentifizierungsmethode ist, mit der View Agentdie Linux-Maschine beim View-Verbindungsserver registriert.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 69

Skriptinhalt

<#

Install Linux Agent

The Tool is to upload the Linux Agent installer tar ball to destination VMs and do the installation.

#>

#------------------------- Functions -------------------------

function GetInput

{

Param($prompt, $IsPassword = $false)

$prompt = $prompt + ": "

Write-Host $prompt -NoNewLine

[Console]::ForegroundColor = "Blue"

if ($IsPassword)

{

$input = Read-Host -AsSecureString

$input =

[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBS

TR($input))

}

else

{

$input = Read-Host

}

[Console]::ResetColor()

return $input

}

#------------------------- Handle Input -------------------------

"-----------------------------------------------------"

$acceptEULA = GetInput -prompt 'Accept Linux View Agent EULA in tar bundle ("yes" or "no")' -

IsPassword $false

if ($acceptEULA -ne "yes")

{

write-host -ForeGroundColor Red "You need accept the EULA with 'yes'(case sensitive)"

exit

}

$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false

$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false

$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true

"-----------------------------------------------------"

$hostAdmin = GetInput -prompt 'Your ESXi host admin user name, such as root' -IsPassword $false

$hostPassword = GetInput -prompt "Your ESXi admin user password" -IsPassword $true

"-----------------------------------------------------"

$guestUser = GetInput -prompt 'Your VM guest OS user name' -IsPassword $false

$guestPassword = GetInput -prompt 'Your VM guest OS user password' -IsPassword $true

"-----------------------------------------------------"

$agentInstaller = GetInput -prompt 'Type the View Agent tar ball path. Please take care the installer

arch' -IsPassword $false

"-----------------------------------------------------"

$brokerAddress = GetInput -prompt 'Type the View Connection Server address' -IsPassword $false

$brokerAdminName = GetInput -prompt 'Type the View Connection Server Admin user name' -IsPassword

$false

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 70

"`nPlease type the View Connection Server Admin user password."

"Plase note that special character in password may not work with the script"

$brokerAdminPassword = GetInput -prompt 'Your broker admin password' -AsSecureString -IsPassword

$true

$domainName = GetInput -prompt 'Type the View Connection Server Admin user domain name' -IsPassword

$false

$installSmartcard = GetInput -prompt 'Install the Smartcard redirection feature ("yes" or "no")' -

IsPassword $false

if (($installSmartcard -ne "yes") -AND $installSmartcard -ne "no")

{

write-host -ForeGroundColor Red "You need select 'yes' or 'no'(case sensitive)"

exit

}

$kdc = GetInput -prompt 'AD address for Kerberos authentication to register. Please type Enter to

skip for MD5-Digest' -IsPassword $false

"-----------------------------------------------------"

#$csvFile = Read-Host 'Csv File '

$csvFile = '.\CloneVMs.csv'

#check if file exists

if (!(Test-Path $agentInstaller))

{

write-host -ForeGroundColor Red "installer File not found"

exit

}

#check if file exists

if (!(Test-Path $csvFile))

{

write-host -ForeGroundColor Red "CSV File not found"

exit

}

#------------------------- Functions -------------------------

function GetSourceInstallerMD5()

{

$agentInstallerPath = Convert-Path $agentInstaller;

$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider;

$md5HashWithFormat =

[System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($agentInstallerPath)))

;

$md5Hash = ($md5HashWithFormat.replace("-","")).ToLower();

return $md5Hash;

}

#------------------------- Main -------------------------

#Get installer MD5Sum

$installerMD5Hash = GetSourceInstallerMD5;

#Connect to vCenter

$VC_Conn_State = Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword

if([string]::IsNullOrEmpty($VC_Conn_State))

{

Write-Host 'Exit since failed to login vCenter'

exit

}

else

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 71

{

Write-Host 'vCenter is connected'

}

#Read input CSV file

$csvData = Import-CSV $csvFile

$destFolder = "/home/$guestUser/"

#Handle VMs one by one

foreach ($line in $csvData)

{

"`n-----------------------------------------------------"

$VMName = $line.VMName

write-host -ForeGroundColor Yellow "VM: $VMName`n"

$cmd = "rm -rf VMware-viewagent-linux-*"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

#Upload installer tar ball to Linux VM

Write-Host "Upload File '$agentInstaller' to '$destFolder' of VM '$VMName' with user '$guestUser'"

Copy-VMGuestFile -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -LocalToGuest -Destination $destFolder -

Source $agentInstaller

#Check the uploaded installer md5sum

$cmd = "md5sum VMware-viewagent-linux-*"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

$output = Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -

GuestUser $guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

if($output.Contains($installerMD5Hash))

{

Write-Host $VMName": Uploaded installer's MD5Sum matches the local installer's MD5Sum";

Write-Host $VMName": Extract the installer and do installation";

$cmd = "tar -xzvf VMware-viewagent-linux-*.tar.gz"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

$cmd = "sudo setenforce 0";

Write-Host "Set the selinux to permissive mode: $cmd"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

#Run the installation command.

$cmd = "cd VMware-viewagent-linux-* && sudo ./install_viewagent.sh -A yes -n $VMName -b

$brokerAddress -d $domainName -u $brokerAdminName -p $brokerAdminPassword -m $installSmartcard"

if (!([string]::IsNullOrEmpty($kdc)))

{

$cmd = $cmd + " -k $kdc"

}

Write-Host "Run install cmd in VM '$VMName' with user '$guestUser'"

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 72

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

$cmd = "sudo shutdown -r +1&"

Write-Host "Reboot to apply the View Agent installation"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

}

else

{

Write-Host $VMName": Uploaded installer's MD5Sum does NOT match the local installer's MD5Sum";

Write-Host $VMName": Skip the installation. Please check your network and VMware Tools

status";

exit;

}

}

Disconnect-VIServer $vcAddress -Confirm:$false

exit

SkriptausführungDie folgenden Meldungen resultieren aus einer Ausführung des Skripts:

PowerCLI C:\scripts> .\InstallAgent.ps1

--------------------------------------------------

Accept Linux View Agent EULA in tar bundle ("yes" or "no"): yes

Your vCenter address: 10.117.44.17

Your vCenter admin user name: administrator

Your vCenter admin user password: *******

--------------------------------------------------

Your ESXi host admin user name, such as root: root

Your ESXi host admin user password: *******

--------------------------------------------------

Your VM guest OS user name: ViewUser

Your VM guest OS user password: *******

--------------------------------------------------

Type the View Agent tar ball path. Please take care of the installer arch: .\VMware-viewagent-linux-

x86_64-x.y.z-1234567.tar.gz

--------------------------------------------------

Type the View Connection Server address: 10.117.45.93

Type the View Connection Server Admin user name: viewadmin

Please type the View Connection Server Admin user password.

Please note that special character in password may not work with the script

Your broker admin password: *******

Type the View Connection Server Admin user domain name: domain1

Install the Smartcard redirection feature ("yes" or "no"): no

AD address for Kerberos authentication to register. Please type Enter to skip for MD5 Digest:

10.117.45.1

Nach abgeschlossener Skriptausführung können Sie sich in View Administrator anmelden und die Linux-Desktop-Maschine durch einen Wechsel zu View-Konfiguration > Registrierte Computer und Klickenauf die Registerkarte Andere anzeigen.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 73

Beispielskript zum Installieren von View Agent aufvirtuellen Linux-Maschinen mithilfe von SSHSie können das im Folgenden aufgeführte Beispielskript für die Installation von View Agent auf mehrerenvirtuellen Linux-Maschinen (VMs) anpassen und anwenden. Dieses Skript verwendet SSH zurAusführung von Befehlen auf den Linux-VMs.

Bevor Sie das Skript ausführen, müssen Sie sicherstellen, dass View Agent nicht bereits auf den VMsinstalliert ist.

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

SkripteingabeDieses Skript liest eine Eingabedatei, die im Kapitel Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-Desktops beschrieben ist. Es gibt verschiedene Eingabeaufforderungen für diefolgenden Informationen aus:

n Annahme der View Agent-Endbenutzerlizenzvereinbarung (EULA)

n IP-Adresse von vCenter Server

n Anmeldename des Administrators für vCenter Server

n Kennwort des Administrators für vCenter Server

n Benutzeranmeldename für die Linux-VM

n Benutzerkennwort für die Linux-VM

n Pfad für das View Agent-TAR-Archiv

n IP-Adresse des View-Verbindungsservers

n Anmeldename des Administrators für den View-Verbindungsserver

n Kennwort des Administrators für den View-Verbindungsserver

n Domänenname des View-Verbindungsserver-Administrators

n Die Adresse des AD-Servers, wenn Kerberos die Authentifizierungsmethode ist, mit der View Agentdie Linux-Maschine beim View-Verbindungsserver registriert.

Skriptinhalt

<#

Install Linux Agent via SSH

The Tool is to upload the Linux Agent installer tar ball to destination VMs and do the installation.

#>

#------------------------- Functions -------------------------

function GetInput

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 74

{

Param($prompt, $IsPassword = $false)

$prompt = $prompt + ": "

Write-Host $prompt -NoNewLine

[Console]::ForegroundColor = "Blue"

if ($IsPassword)

{

$input = Read-Host -AsSecureString

$input =

[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBS

TR($input))

}

else

{

$input = Read-Host

}

[Console]::ResetColor()

return $input

}

function Check_SSH_Client

{

Param($IsPlink, $IsPSCP)

if ($IsPlink)

{

if (Test-Path ".\plink.exe")

{

write-host -ForeGroundColor Yellow 'SSH client "plink.exe" found'

}

else

{

write-host -ForeGroundColor Red 'SSH client "plink.exe" not found, please download from

its official web site'

exit

}

}

if ($IsPSCP)

{

if (Test-Path ".\pscp.exe")

{

write-host -ForeGroundColor Yellow 'SSH client "pscp.exe" found'

}

else

{

write-host -ForeGroundColor Red 'SSH client "pscp.exe" not found, please download from its

official web site'

exit

}

}

}

function RunCmdViaSSH

{

Param($VM_Name, $User, $Password, $Cmd, $returnOutput = $false)

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 75

$VM= Get-VM $VM_Name

$IP = $VM.guest.IPAddress[0]

write-host "Run cmd on $VM_Name ($IP)"

if($returnOutput)

{

$command = "echo yes | .\plink.exe -ssh -l $user -pw $password $IP " + '"' + $cmd +'"'

$output = Invoke-Expression $command

return $output

}

else

{

echo yes | .\plink.exe -ssh -l $user -pw $password $IP "$cmd"

}

}

function UploadFileViaSSH

{

Param($VM_Name, $User, $Password, $LocalPath, $DestPath)

$VM= Get-VM $VM_Name

$IP = $VM.guest.IPAddress[0]

$command = "echo yes | .\pscp.exe -l $User -pw $Password $LocalPath $IP" + ":" + "$DestPath"

write-host "Upload file: $command"

Invoke-Expression $command

}

#------------------------- Handle Input -------------------------

"-----------------------------------------------------"

Check_SSH_Client -IsPlink $true -IsPSCP $true

"-----------------------------------------------------"

$acceptEULA = GetInput -prompt 'Accept Linux View Agent EULA in tar bundle ("yes" or "no")' -

IsPassword $false

if ($acceptEULA -ne "yes")

{

write-host -ForeGroundColor Red "You need accept the EULA with 'yes'(case sensitive)"

exit

}

$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false

$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false

$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true

"-----------------------------------------------------"

$guestUser = GetInput -prompt 'Your VM guest OS user name' -IsPassword $false

$guestPassword = GetInput -prompt 'Your VM guest OS user password' -IsPassword $true

"-----------------------------------------------------"

$agentInstaller = GetInput -prompt 'Type the View Agent tar ball path. Please take care the installer

arch' -IsPassword $false

"-----------------------------------------------------"

$brokerAddress = GetInput -prompt 'Type the View Connection Server address' -IsPassword $false

$brokerAdminName = GetInput -prompt 'Type the View Connection Server Admin user name' -IsPassword

$false

"`nPlease type the View Connection Server Admin user password."

[Console]::ForegroundColor = "Yellow"

"Plase note that special character should be escaped. For example, $ should be \$"

[Console]::ResetColor()

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 76

$brokerAdminPassword = GetInput -prompt 'Your broker admin password' -AsSecureString -IsPassword

$true

$domainName = GetInput -prompt 'Type the View Connection Server Admin user domain name' -IsPassword

$false

$installSmartcard = GetInput -prompt 'Install the Smartcard redirection feature ("yes" or "no")' -

IsPassword $false

if (($installSmartcard -ne "yes") -AND $installSmartcard -ne "no")

{

write-host -ForeGroundColor Red "You need select 'yes' or 'no'(case sensitive)"

exit

}

$kdc = GetInput -prompt 'AD address for Kerberos authentication to register. Please type Enter to

skip for MD5-Digest' -IsPassword $false

"-----------------------------------------------------"

#$csvFile = Read-Host 'Csv File '

$csvFile = '.\CloneVMs.csv'

#check if file exists

if (!(Test-Path $agentInstaller))

{

write-host -ForeGroundColor Red "installer File not found"

exit

}

#check if file exists

if (!(Test-Path $csvFile))

{

write-host -ForeGroundColor Red "CSV File not found"

exit

}

#------------------------- Functions -------------------------

function GetSourceInstallerMD5()

{

$agentInstallerPath = Convert-Path $agentInstaller;

$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider;

$md5HashWithFormat =

[System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($agentInstallerPath)))

;

$md5Hash = ($md5HashWithFormat.replace("-","")).ToLower();

return $md5Hash;

}

#------------------------- Main -------------------------

#Get installer MD5Sum

$installerMD5Hash = GetSourceInstallerMD5;

#Connect to vCenter

$VC_Conn_State = Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword

if([string]::IsNullOrEmpty($VC_Conn_State))

{

Write-Host 'Exit since failed to login vCenter'

exit

}

else

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 77

{

Write-Host 'vCenter is connected'

}

#Read input CSV file

$csvData = Import-CSV $csvFile

$destFolder = "/home/$guestUser/"

#Handle VMs one by one

foreach ($line in $csvData)

{

"`n-----------------------------------------------------"

$VMName = $line.VMName

write-host -ForeGroundColor Yellow "VM: $VMName`n"

$cmd = "rm -rf VMware-viewagent-linux-*"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

#Upload installer tar ball to Linux VM

Write-Host "Upload File '$agentInstaller' to '$destFolder' of VM '$VMName' with user '$guestUser'"

UploadFileViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -LocalPath

$agentInstaller -DestPath $destFolder

#Check the uploaded installer md5sum

$cmd = "md5sum VMware-viewagent-linux-*"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

$output = RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd -

$returnOutput $true

if($output.Contains($installerMD5Hash))

{

Write-Host $VMName": Uploaded installer's MD5Sum matches the local installer's MD5Sum";

Write-Host $VMName": Extract the installer and do installation";

$cmd = "tar -xzf VMware-viewagent-linux-*.tar.gz"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

$cmd = "sudo setenforce 0";

Write-Host "Set the selinux to permissive mode: $cmd"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

#Run the installation command.

$cmd = "cd VMware-viewagent-linux-* && sudo ./install_viewagent.sh -r yes -A yes -n $VMName -

b $brokerAddress -d $domainName -u $brokerAdminName -p $brokerAdminPassword -m $installSmartcard"

if (!([string]::IsNullOrEmpty($kdc)))

{

$cmd = $cmd + " -k $kdc"

}

Write-Host "Run install cmd in VM '$VMName' with user '$guestUser'"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

Write-Host -ForeGroundColor Yellow "Linux Agent installer will reboot the Linux VM after

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 78

installation, and you may hit the ssh connection closed error message, which is expectation"

}

else

{

Write-Host $VMName": Uploaded installer's MD5Sum does NOT match the local installer's MD5Sum";

Write-Host $VMName": Skip the installation. Please check your network and VMware Tools

status";

exit;

}

}

Disconnect-VIServer $vcAddress -Confirm:$false

exit

SkriptausführungDie folgenden Meldungen resultieren aus einer Ausführung des Skripts:

PowerCLI C:\scripts> .\InstallAgent.ps1

--------------------------------------------------

Accept Linux View Agent EULA in tar bundle ("yes" or "no"): yes

Your vCenter address: 10.117.44.17

Your vCenter admin user name: administrator

Your vCenter admin user password: *******

--------------------------------------------------

Your VM guest OS user name: ViewUser

Your VM guest OS user password: *******

--------------------------------------------------

Type the View Agent tar ball path. Please take care of the installer arch: .\VMware-viewagent-linux-

x86_64-x.y.z-1234567.tar.gz

--------------------------------------------------

Type the View Connection Server address: 10.117.45.93

Type the View Connection Server Admin user name: viewadmin

Please type the View Connection Server Admin user password.

Please note that special character should be escaped. For example, $ should be \$

Your broker admin password: *******

Type the View Connection Server Admin user domain name: domain1

Install the Smartcard redirection feature ("yes" or "no"): no

AD address for Kerberos authentication to register. Please type Enter to skip for MD5 Digest:

10.117.45.1

Nach abgeschlossener Skriptausführung können Sie sich in View Administrator anmelden und die Linux-Desktop-Maschine durch einen Wechsel zu View-Konfiguration > Registrierte Computer und Klickenauf die Registerkarte Andere anzeigen.

Beispielskript zum Hochladen von Konfigurationsdateienzu virtuellen Linux-MaschinenSie können das folgende Beispielskript anpassen und verwenden, um die Konfigurationsdateien configund viewagent-custom.conf zu mehreren virtuellen Linux-Maschinen (VMs) hochzuladen.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 79

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

SkripteingabeDieses Skript liest eine Eingabedatei, die im Kapitel Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-Desktops beschrieben ist. Es gibt verschiedene Eingabeaufforderungen für diefolgenden Informationen aus:

n IP-Adresse von vCenter Server

n Anmeldename des Administrators für vCenter Server

n Kennwort des Administrators für vCenter Server

n Anmeldename des Administrators für den ESXi-Host

n Kennwort des Administrators für den ESXi-Host

n Benutzeranmeldename für die Linux-VM

n Benutzerkennwort für die Linux-VM

Skriptinhalt

<#

Upload the configuration files config and viewagent-custom.conf to Linux VMs

#>

#------------------------- Functions -------------------------

function GetInput

{

Param($prompt, $IsPassword = $false)

$prompt = $prompt + ": "

Write-Host $prompt -NoNewLine

[Console]::ForegroundColor = "Blue"

if ($IsPassword)

{

$input = Read-Host -AsSecureString

$input =

[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBS

TR($input))

}

else

{

$input = Read-Host

}

[Console]::ResetColor()

return $input

}

#------------------------- Handle Input -------------------------

"-----------------------------------------------------"

write-host -ForeGroundColor Blue 'Please ensure your config file and viewagent-custom.conf file are

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 80

in current working directory'

$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false

$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false

$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true

"-----------------------------------------------------"

$hostAdmin = GetInput -prompt 'Your ESXi host admin user name, such as root' -IsPassword $false

$hostPassword = GetInput -prompt "Your ESXi admin user password" -IsPassword $true

"-----------------------------------------------------"

$guestUser = GetInput -prompt 'Your VM guest OS user name' -IsPassword $false

$guestPassword = GetInput -prompt 'Your VM guest OS user password' -IsPassword $true

"-----------------------------------------------------"

$csvFile = '.\CloneVMs.csv'

$setConfig = $false

$setCustomConf = $false

$config_File = "config"

$customConf_File = "viewagent-custom.conf"

#check if config file exists

if(Test-Path $config_File)

{

$setConfig = $true

write-host -ForeGroundColor Yellow '"config" file found'

}

else

{

write-host -ForeGroundColor Yellow '"config" file not found, skip it'

}

if(Test-Path $customConf_File)

{

$setCustomConf = $true

write-host -ForeGroundColor Yellow '"viewagent-custom.conf" file found'

}

else

{

write-host -ForeGroundColor Yellow '"viewagent-custom.conf" file not found, skip it'

}

if (($setConfig -eq $false)-AND ($setCustomConf -eq $false))

{

write-host -ForeGroundColor Red 'Both file not found, exit'

exit

}

#Connect to vCenter

$VC_Conn_State = Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword

if([string]::IsNullOrEmpty($VC_Conn_State))

{

Write-Host 'Exit since failed to login vCenter'

exit

}

else

{

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 81

Write-Host 'vCenter is connected'

}

#Read input CSV file

$csvData = Import-CSV $csvFile

$destFolder = "/home/$guestUser/"

#Handle VMs one by one

foreach ($line in $csvData)

{

"`n-----------------------------------------------------"

$VMName = $line.VMName

write-host -ForeGroundColor Yellow "VM: $VMName`n"

#Try to delete the configuration file from home folder on destination VM

$cmd = "rm -rf config viewagent-custom.conf"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

if ($setConfig)

{

Write-Host "Upload File '$config_File' to '$destFolder' of VM '$VMName' with user '$guestUser'"

Copy-VMGuestFile -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -LocalToGuest -Destination $destFolder -

Source $config_File

$cmd = "sudo mv ./$config_File /etc/vmware/";

Write-Host "Move configuraton file: $cmd"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

}

if ($setCustomConf)

{

Write-Host "Upload File '$customConf_File' to '$destFolder' of VM '$VMName' with user

'$guestUser'"

Copy-VMGuestFile -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -LocalToGuest -Destination $destFolder -

Source $customConf_File

$cmd = "sudo mv ./$customConf_File /etc/vmware/";

Write-Host "Move configuraton file: $cmd"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

}

}

Disconnect-VIServer $vcAddress -Confirm:$false

exit

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 82

SkriptausführungDie folgenden Meldungen resultieren aus einer Ausführung des Skripts:

PowerCLI C:\scripts> .\UpdateOptionFile.ps1

--------------------------------------------------

Please ensure your config file and view-agent.conf file are in current working directory.

Your vCenter address: 10.117.44.17

Your vCenter admin user name: administrator

Your vCenter admin user password: *******

--------------------------------------------------

Your ESXi host admin user name, such as root: root

Your ESXi host admin user password: *******

--------------------------------------------------

Your VM guest OS user name: ViewUser

Your VM guest OS user password: *******

Beispielskript zum Hochladen von Konfigurationsdateienzu virtuellen Linux-Maschinen mithilfe von SSHSie können das folgende Beispielskript anpassen und verwenden, um die Konfigurationsdateien configund viewagent-custom.conf zu mehreren virtuellen Linux-Maschinen (VMs) hochzuladen. DiesesSkript verwendet SSH zur Ausführung von Befehlen auf den Linux-VMs.

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

SkripteingabeDieses Skript liest eine Eingabedatei, die im Kapitel Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-Desktops beschrieben ist. Es gibt verschiedene Eingabeaufforderungen für diefolgenden Informationen aus:

n IP-Adresse von vCenter Server

n Anmeldename des Administrators für vCenter Server

n Kennwort des Administrators für vCenter Server

n Benutzeranmeldename für die Linux-VM

n Benutzerkennwort für die Linux-VM

Skriptinhalt

<#

Upload the configuration files config and viewagent-custom.conf to Linux VMs using SSH

#>

#------------------------- Functions -------------------------

function GetInput

{

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 83

Param($prompt, $IsPassword = $false)

$prompt = $prompt + ": "

Write-Host $prompt -NoNewLine

[Console]::ForegroundColor = "Blue"

if ($IsPassword)

{

$input = Read-Host -AsSecureString

$input =

[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBS

TR($input))

}

else

{

$input = Read-Host

}

[Console]::ResetColor()

return $input

}

function Check_SSH_Client

{

Param($IsPlink, $IsPSCP)

if ($IsPlink)

{

if (Test-Path ".\plink.exe")

{

write-host -ForeGroundColor Yellow 'SSH client "plink.exe" found'

}

else

{

write-host -ForeGroundColor Red 'SSH client "plink.exe" not found, please download from

its official web site'

exit

}

}

if ($IsPSCP)

{

if (Test-Path ".\pscp.exe")

{

write-host -ForeGroundColor Yellow 'SSH client "pscp.exe" found'

}

else

{

write-host -ForeGroundColor Red 'SSH client "pscp.exe" not found, please download from its

official web site'

exit

}

}

}

function RunCmdViaSSH

{

Param($VM_Name, $User, $Password, $Cmd, $returnOutput = $false)

$VM= Get-VM $VM_Name

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 84

$IP = $VM.guest.IPAddress[0]

write-host "Run cmd on $VM_Name ($IP)"

if($returnOutput)

{

$command = "echo yes | .\plink.exe -ssh -l $user -pw $password $IP " + '"' + $cmd +'"'

$output = Invoke-Expression $command

return $output

}

else

{

echo yes | .\plink.exe -ssh -l $user -pw $password $IP "$cmd"

}

}

function UploadFileViaSSH

{

Param($VM_Name, $User, $Password, $LocalPath, $DestPath)

$VM= Get-VM $VM_Name

$IP = $VM.guest.IPAddress[0]

$command = "echo yes | .\pscp.exe -l $User -pw $Password $LocalPath $IP" + ":" + "$DestPath"

write-host "Upload file: $command"

Invoke-Expression $command

}

#------------------------- Handle Input -------------------------

"-----------------------------------------------------"

Check_SSH_Client -IsPlink $true -IsPSCP $true

"-----------------------------------------------------"

write-host -ForeGroundColor Blue 'Please ensure your config file and viewagent-custom.conf file are

in current working directory'

$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false

$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false

$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true

"-----------------------------------------------------"

$guestUser = GetInput -prompt 'Your VM guest OS user name' -IsPassword $false

$guestPassword = GetInput -prompt 'Your VM guest OS user password' -IsPassword $true

"-----------------------------------------------------"

$csvFile = '.\CloneVMs.csv'

$setConfig = $false

$setCustomConf = $false

$config_File = "config"

$customConf_File = "viewagent-custom.conf"

#check if config file exists

if(Test-Path $config_File)

{

$setConfig = $true

write-host -ForeGroundColor Yellow '"config" file found'

}

else

{

write-host -ForeGroundColor Yellow '"config" file not found, skip it'

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 85

}

if(Test-Path $customConf_File)

{

$setCustomConf = $true

write-host -ForeGroundColor Yellow '"viewagent-custom.conf" file found'

}

else

{

write-host -ForeGroundColor Yellow '"viewagent-custom.conf" file not found, skip it'

}

if (($setConfig -eq $false)-AND ($setCustomConf -eq $false))

{

write-host -ForeGroundColor Red 'Both file not found, exit'

exit

}

#Connect to vCenter

$VC_Conn_State = Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword

if([string]::IsNullOrEmpty($VC_Conn_State))

{

Write-Host 'Exit since failed to login vCenter'

exit

}

else

{

Write-Host 'vCenter is connected'

}

#Read input CSV file

$csvData = Import-CSV $csvFile

$destFolder = "/home/$guestUser/"

#Handle VMs one by one

foreach ($line in $csvData)

{

"`n-----------------------------------------------------"

$VMName = $line.VMName

write-host -ForeGroundColor Yellow "VM: $VMName`n"

#Try to delete the configuration file from home folder on destination VM

$cmd = "rm -rf config viewagent-custom.conf"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

if ($setConfig)

{

Write-Host "Upload File '$config_File' to '$destFolder' of VM '$VMName' with user '$guestUser'"

UploadFileViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -LocalPath

$config_File -DestPath $destFolder

$cmd = "sudo mv ./$config_File /etc/vmware/";

Write-Host "Move configuraton file: $cmd"

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 86

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

}

if ($setCustomConf)

{

Write-Host "Upload File '$customConf_File' to '$destFolder' of VM '$VMName' with user

'$guestUser'"

UploadFileViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -LocalPath

$customConf_File -DestPath $destFolder

$cmd = "sudo mv ./$customConf_File /etc/vmware/";

Write-Host "Move configuraton file: $cmd"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

}

}

Disconnect-VIServer $vcAddress -Confirm:$false

exit

SkriptausführungDie folgenden Meldungen resultieren aus einer Ausführung des Skripts:

PowerCLI C:\scripts> .\UpdateOptionFile.ps1

--------------------------------------------------

Please ensure your config file and view-agent.conf file are in current working directory.

Your vCenter address: 10.117.44.17

Your vCenter admin user name: administrator

Your vCenter admin user password: *******

--------------------------------------------------

Your VM guest OS user name: ViewUser

Your VM guest OS user password: *******

Beispielskript zur Durchführung eines Upgrades von ViewAgent auf Linux-Desktop-MaschinenSie können das im Folgenden aufgeführte Beispielskript für das Upgrade von View Agent auf mehrerenvirtuellen Linux-Maschinen (VMs) anpassen und anwenden.

Dieses Skript lädt das TAR-Archiv des Installationsprogramms auf jede VM hoch, bevor View Agentinstalliert wird. Die Upload-Aufgabe kann sehr viel Zeit in Anspruch nehmen, vor allem wenn eine großeAnzahl von VMs beteiligt und die Netzwerkgeschwindigkeit langsam ist. Um Zeit zu sparen, können Siedas Skript ausführen, das SSH verwendet, oder das TAR-Archiv des Installationsprogramms an einemfreigegebenen Speicherort ablegen, der für jede VM verfügbar ist, wodurch das Hochladen der Dateinicht erforderlich ist.

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 87

SkripteingabeDieses Skript liest eine Eingabedatei, die im Kapitel Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-Desktops beschrieben ist. Es gibt verschiedene Eingabeaufforderungen für diefolgenden Informationen aus:

n Annahme der View Agent-Endbenutzerlizenzvereinbarung (EULA)

n IP-Adresse von vCenter Server

n Anmeldename des Administrators für vCenter Server

n Kennwort des Administrators für vCenter Server

n Anmeldename des Administrators für den ESXi-Host

n Kennwort des Administrators für den ESXi-Host

n Anmeldename des Benutzers für das Linux-Gastbetriebssystem

n Kennwort des Benutzers für das Linux-Gastbetriebssystem

n Pfad für das View Agent-TAR-Archiv

Skriptinhalt

<#

Upload the Linux Agent installer tar ball and re-install

#>

#-----------------------------------------------------

Functions------------------------------------------------------------------

function GetInput

{

Param($prompt, $IsPassword = $false)

$prompt = $prompt + ": "

Write-Host $prompt -NoNewLine

[Console]::ForegroundColor = "Blue"

if ($IsPassword)

{

$input = Read-Host -AsSecureString

$input =

[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBS

TR($input))

}

else

{

$input = Read-Host

}

[Console]::ResetColor()

return $input

}

#------------------------- Handle Input -------------------------

"-----------------------------------------------------"

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 88

$acceptEULA = GetInput -prompt 'Accept Linux View Agent EULA in tar bundle ("yes" or "no")' -

IsPassword $false

if ($acceptEULA -ne "yes")

{

write-host -ForeGroundColor Red "You need accept the EULA with 'yes'(case sensitive)"

exit

}

$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false

$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false

$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true

"-----------------------------------------------------"

$hostAdmin = GetInput -prompt 'Your ESXi host admin user name, such as root' -IsPassword $false

$hostPassword = GetInput -prompt "Your ESXi admin user password" -IsPassword $true

"-----------------------------------------------------"

$guestUser = GetInput -prompt 'Your VM guest OS user name' -IsPassword $false

$guestPassword = GetInput -prompt 'Your VM guest OS user password' -IsPassword $true

"-----------------------------------------------------"

$agentInstaller = GetInput -prompt 'Type the View Agent tar ball path. Please take care the installer

arch' -IsPassword $false

"-----------------------------------------------------"

$installSmartcard = GetInput -prompt 'Install the Smartcard redirection feature ("yes" or "no")' -

IsPassword $false

if (($installSmartcard -ne "yes") -AND $installSmartcard -ne "no")

{

write-host -ForeGroundColor Red "You need select 'yes' or 'no'(case sensitive)"

exit

}

"-----------------------------------------------------"

#$csvFile = Read-Host 'Csv File '

$csvFile = '.\CloneVMs.csv'

#check if file exists

if (!(Test-Path $agentInstaller))

{

write-host -ForeGroundColor Red "installer File not found"

exit

}

#check if file exists

if (!(Test-Path $csvFile))

{

write-host -ForeGroundColor Red "CSV File not found"

exit

}

#------------------------- Functions -------------------------

function GetSourceInstallerMD5()

{

$agentInstallerPath = Convert-Path $agentInstaller;

$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider;

$md5HashWithFormat =

[System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($agentInstallerPath)))

;

$md5Hash = ($md5HashWithFormat.replace("-","")).ToLower();

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 89

return $md5Hash;

}

#------------------------- Main -------------------------

#Get installer MD5Sum

$installerMD5Hash = GetSourceInstallerMD5;

#Connect to vCenter

$VC_Conn_State = Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword

if([string]::IsNullOrEmpty($VC_Conn_State))

{

Write-Host 'Exit since failed to login vCenter'

exit

}

else

{

Write-Host 'vCenter is connected'

}

#Read input CSV file

$csvData = Import-CSV $csvFile

$destFolder = "/home/$guestUser/"

#Handle VMs one by one

foreach ($line in $csvData)

{

"`n-----------------------------------------------------"

$VMName = $line.VMName

write-host -ForeGroundColor Yellow "VM: $VMName`n"

$cmd = "rm -rf VMware-viewagent-linux-*"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

#Upload installer tar ball to Linux VM

Write-Host "Upload File '$agentInstaller' to '$destFolder' of VM '$VMName' with user '$guestUser'"

Copy-VMGuestFile -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -LocalToGuest -Destination $destFolder -

Source $agentInstaller

#Check the uploaded installer md5sum

$cmd = "md5sum VMware-viewagent-linux-*"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

$output = Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -

GuestUser $guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

if($output.Contains($installerMD5Hash))

{

Write-Host $VMName": Uploaded installer's MD5Sum matches the local installer's MD5Sum";

Write-Host $VMName": Extract the installer and do installation";

$cmd = "tar -xzvf VMware-viewagent-linux-*.tar.gz"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 90

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

$cmd = "sudo setenforce 0";

Write-Host "Set the selinux to permissive mode: $cmd"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

$cmd = "sudo killall /usr/lib/vmware/viewagent/VMwareBlastServer/VMwareBlastServer"

Write-Host "Stop VMwareBlastServer before upgrading: $cmd"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

#Run the upgrade command.

$cmd = "cd VMware-viewagent-linux-* && sudo ./install_viewagent.sh -A yes -m

$installSmartcard"

Write-Host "Run upgrade cmd in VM '$VMName' with user '$guestUser'"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

$cmd = "sudo shutdown -r +1&"

Write-Host "Reboot to apply the View Agent installation"

Invoke-VMScript -HostUser $hostAdmin -HostPassword $hostPassword -VM $VMName -GuestUser

$guestUser -GuestPassword $guestPassword -Confirm:$false -ScriptType Bash -ScriptText $cmd

}

else

{

Write-Host $VMName": Uploaded installer's MD5Sum does NOT match the local installer's MD5Sum";

Write-Host $VMName": Skip the installation. Please check your network and VMware Tools

status";

exit;

}

}

Disconnect-VIServer $vcAddress -Confirm:$false

exit

SkriptausführungDie folgenden Meldungen resultieren aus einer Ausführung des Skripts:

PowerCLI C:\scripts> .\InstallAgent.ps1

--------------------------------------------------

Accept Linux View Agent EULA in tar bundle ("yes" or "no"): yes

Your vCenter address: 10.117.44.17

Your vCenter admin user name: administrator

Your vCenter admin user password: *******

--------------------------------------------------

Your ESXi host admin user name, such as root: root

Your ESXi host admin user password: *******

--------------------------------------------------

Your VM guest OS user name: ViewUser

Your VM guest OS user password: *******

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 91

--------------------------------------------------

Type the View Agent tar ball path. Please take care of the installer arch: .\VMware-viewagent-linux-

x86_64-x.y.z-1234567.tar.gz

Install the Smartcard redirection feature (""yes" or "no"): no

Beispielskript zur Durchführung eines Upgrades von ViewAgent auf virtuellen Linux-Maschinen mithilfe von SSHSie können das im Folgenden aufgeführte Beispielskript für das Upgrade von View Agent auf mehrerenvirtuellen Linux-Maschinen (VMs) anpassen und anwenden. Dieses Skript verwendet SSH zurAusführung von Befehlen auf den Linux-VMs.

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

SkripteingabeDieses Skript liest eine Eingabedatei, die im Kapitel Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-Desktops beschrieben ist. Es gibt verschiedene Eingabeaufforderungen für diefolgenden Informationen aus:

n Annahme der View Agent-Endbenutzerlizenzvereinbarung (EULA)

n IP-Adresse von vCenter Server

n Anmeldename des Administrators für vCenter Server

n Kennwort des Administrators für vCenter Server

n Anmeldename des Administrators für den ESXi-Host

n Kennwort des Administrators für den ESXi-Host

n Anmeldename des Benutzers für das Linux-Gastbetriebssystem

n Kennwort des Benutzers für das Linux-Gastbetriebssystem

n Pfad für das View Agent-TAR-Archiv

Skriptinhalt

<#

Upload the Linux Agent installer tar ball using SSH and re-install

#>

#-----------------------------------------------------

Functions------------------------------------------------------------------

function GetInput

{

Param($prompt, $IsPassword = $false)

$prompt = $prompt + ": "

Write-Host $prompt -NoNewLine

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 92

[Console]::ForegroundColor = "Blue"

if ($IsPassword)

{

$input = Read-Host -AsSecureString

$input =

[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBS

TR($input))

}

else

{

$input = Read-Host

}

[Console]::ResetColor()

return $input

}

function Check_SSH_Client

{

Param($IsPlink, $IsPSCP)

if ($IsPlink)

{

if (Test-Path ".\plink.exe")

{

write-host -ForeGroundColor Yellow 'SSH client "plink.exe" found'

}

else

{

write-host -ForeGroundColor Red 'SSH client "plink.exe" not found, please download from

its official web site'

exit

}

}

if ($IsPSCP)

{

if (Test-Path ".\pscp.exe")

{

write-host -ForeGroundColor Yellow 'SSH client "pscp.exe" found'

}

else

{

write-host -ForeGroundColor Red 'SSH client "pscp.exe" not found, please download from its

official web site'

exit

}

}

}

function RunCmdViaSSH

{

Param($VM_Name, $User, $Password, $Cmd, $returnOutput = $false)

$VM= Get-VM $VM_Name

$IP = $VM.guest.IPAddress[0]

write-host "Run cmd on $VM_Name ($IP)"

if($returnOutput)

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 93

{

$command = "echo yes | .\plink.exe -ssh -l $user -pw $password $IP " + '"' + $cmd +'"'

$output = Invoke-Expression $command

return $output

}

else

{

echo yes | .\plink.exe -ssh -l $user -pw $password $IP "$cmd"

}

}

function UploadFileViaSSH

{

Param($VM_Name, $User, $Password, $LocalPath, $DestPath)

$VM= Get-VM $VM_Name

$IP = $VM.guest.IPAddress[0]

$command = "echo yes | .\pscp.exe -l $User -pw $Password $LocalPath $IP" + ":" + "$DestPath"

write-host "Upload file: $command"

Invoke-Expression $command

}

#------------------------- Handle Input -------------------------

"-----------------------------------------------------"

Check_SSH_Client -IsPlink $true -IsPSCP $true

"-----------------------------------------------------"

$acceptEULA = GetInput -prompt 'Accept Linux View Agent EULA in tar bundle ("yes" or "no")' -

IsPassword $false

if ($acceptEULA -ne "yes")

{

write-host -ForeGroundColor Red "You need accept the EULA with 'yes'(case sensitive)"

exit

}

$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false

$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false

$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true

"-----------------------------------------------------"

$guestUser = GetInput -prompt 'Your VM guest OS user name' -IsPassword $false

$guestPassword = GetInput -prompt 'Your VM guest OS user password' -IsPassword $true

"-----------------------------------------------------"

$agentInstaller = GetInput -prompt 'Type the View Agent tar ball path. Please take care the installer

arch' -IsPassword $false

"-----------------------------------------------------"

$installSmartcard = GetInput -prompt 'Install the Smartcard redirection feature ("yes" or "no")' -

IsPassword $false

if (($installSmartcard -ne "yes") -AND $installSmartcard -ne "no")

{

write-host -ForeGroundColor Red "You need select 'yes' or 'no'(case sensitive)"

exit

}

"-----------------------------------------------------"

#$csvFile = Read-Host 'Csv File '

$csvFile = '.\CloneVMs.csv'

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 94

#check if file exists

if (!(Test-Path $agentInstaller))

{

write-host -ForeGroundColor Red "installer File not found"

exit

}

#check if file exists

if (!(Test-Path $csvFile))

{

write-host -ForeGroundColor Red "CSV File not found"

exit

}

#------------------------- Functions -------------------------

function GetSourceInstallerMD5()

{

$agentInstallerPath = Convert-Path $agentInstaller;

$md5 = New-Object -TypeName System.Security.Cryptography.MD5CryptoServiceProvider;

$md5HashWithFormat =

[System.BitConverter]::ToString($md5.ComputeHash([System.IO.File]::ReadAllBytes($agentInstallerPath)))

;

$md5Hash = ($md5HashWithFormat.replace("-","")).ToLower();

return $md5Hash;

}

#------------------------- Main -------------------------

#Get installer MD5Sum

$installerMD5Hash = GetSourceInstallerMD5;

#Connect to vCenter

$VC_Conn_State = Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword

if([string]::IsNullOrEmpty($VC_Conn_State))

{

Write-Host 'Exit since failed to login vCenter'

exit

}

else

{

Write-Host 'vCenter is connected'

}

#Read input CSV file

$csvData = Import-CSV $csvFile

$destFolder = "/home/$guestUser/"

#Handle VMs one by one

foreach ($line in $csvData)

{

"`n-----------------------------------------------------"

$VMName = $line.VMName

write-host -ForeGroundColor Yellow "VM: $VMName`n"

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 95

$cmd = "rm -rf VMware-viewagent-linux-*"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

#Upload installer tar ball to Linux VM

Write-Host "Upload File '$agentInstaller' to '$destFolder' of VM '$VMName' with user '$guestUser'"

UploadFileViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -LocalPath

$agentInstaller -DestPath $destFolder

#Check the uploaded installer md5sum

$cmd = "md5sum VMware-viewagent-linux-*"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

$output = RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd -

$returnOutput $true

if($output.Contains($installerMD5Hash))

{

Write-Host $VMName": Uploaded installer's MD5Sum matches the local installer's MD5Sum";

Write-Host $VMName": Extract the installer and do installation";

$cmd = "tar -xzf VMware-viewagent-linux-*.tar.gz"

Write-Host "Run cmd '$cmd' in VM '$VMName' with user '$guestUser'"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

$cmd = "sudo setenforce 0";

Write-Host "Set the selinux to permissive mode: $cmd"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

$cmd = "sudo killall /usr/lib/vmware/viewagent/VMwareBlastServer/VMwareBlastServer"

Write-Host "Stop VMwareBlastServer before upgrading: $cmd"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

#Run the upgrade command.

$cmd = "cd VMware-viewagent-linux-* && sudo ./install_viewagent.sh -r yes -A yes -m

$installSmartcard"

Write-Host "Run upgrade cmd in VM '$VMName' with user '$guestUser'"

RunCmdViaSSH -VM_Name $VMName -User $guestUser -Password $guestPassword -Cmd $cmd

Write-Host -ForeGroundColor Yellow "Linux Agent installer will reboot the Linux VM after

upgrade, and you may hit the ssh connection closed error message, which is expectation"

}

else

{

Write-Host $VMName": Uploaded installer's MD5Sum does NOT match the local installer's MD5Sum";

Write-Host $VMName": Skip the installation. Please check your network and VMware Tools

status";

exit;

}

}

Disconnect-VIServer $vcAddress -Confirm:$false

exit

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 96

SkriptausführungDie folgenden Meldungen resultieren aus einer Ausführung des Skripts:

PowerCLI C:\scripts> .\InstallAgent.ps1

--------------------------------------------------

Accept Linux View Agent EULA in tar bundle ("yes" or "no"): yes

Your vCenter address: 10.117.44.17

Your vCenter admin user name: administrator

Your vCenter admin user password: *******

--------------------------------------------------

Your VM guest OS user name: ViewUser

Your VM guest OS user password: *******

--------------------------------------------------

Type the View Agent tar ball path. Please take care of the installer arch: .\VMware-viewagent-linux-

x86_64-x.y.z-1234567.tar.gz

Install the Smartcard redirection feature (""yes" or "no"): no

Beispielskript zum Ausführen von Vorgängen aufvirtuellen Linux-MaschinenSie können das im Folgenden aufgeführte Beispielskript für das Ausführen von Vorgängen auf mehrerenvirtuellen Linux-Maschinen (VMs) anpassen und anwenden. Zu diesen Vorgängen gehört dasEinschalten, Ausschalten, Herunterfahren, Neustarten und Löschen der virtuellen Maschinen.

Dieses Skript löscht virtuelle Maschinen aus vCenter Server, aber nicht aus View. Um die Maschinen ausView zu löschen, verwenden Sie das Beispielskript Beispielskript zum Löschen von Maschinen aus derVerbindungsserver-LDAP-Datenbank.

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

SkripteingabeDieses Skript liest eine Eingabedatei, die im Kapitel Eingabedatei für die PowerCLI-Beispielskripts zurBereitstellung von Linux-Desktops beschrieben ist. Es gibt verschiedene Eingabeaufforderungen für diefolgenden Informationen aus:

n IP-Adresse von vCenter Server

n Anmeldename des Administrators für vCenter Server

n Kennwort des Administrators für vCenter Server

n Auszuführender Vorgang wie z. B. das Einschalten oder Ausschalten, das Herunterfahren desGastbetriebssystems, das Neustarten der virtuellen Maschine, das Neustarten des VM-Gastbetriebssystems oder das Löschen einer virtuellen Maschine.

n Die Wartezeit (in Sekunden) zwischen den Vorgängen auf den VMs.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 97

Skriptinhalt

<#

.DESCRIPTION

The Tool supports:

1. Power off VMs

2. Power on VMs

3. Shutdown VMs

4. Restart VMs

5. Restart VM guest

6. Delete VMs from Disk

.NOTES

#>

#--------------------- Functions --------------------

function GetInput

{

Param($prompt, $IsPassword = $false)

$prompt = $prompt + ": "

Write-Host $prompt -NoNewLine

[Console]::ForegroundColor = "Blue"

if ($IsPassword)

{

$input = Read-Host -AsSecureString

$input =

[Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBS

TR($input))

}

else

{

$input = Read-Host

}

[Console]::ResetColor()

return $input

}

function IsVMExists ($VMExists)

{

Write-Host "Checking if the VM $VMExists Exists"

[bool]$Exists = $false

#Get all VMS and check if the VMs is already present in VC

$listvm = Get-vm

foreach ($lvm in $listvm)

{

if($VMExists -eq $lvm.Name )

{

$Exists = $true

Write-Host "$VMExists is Exist"

}

}

return $Exists

}

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 98

function Delete_VM($VMToDelete)

{

Write-Host "Deleting VM $VMToDelete"

Get-VM $VMToDelete | where { $_.PowerState –eq "PoweredOn" } | Stop-VM –confirm:$false

Get-VM $VMToDelete | Remove-VM –DeleteFromDisk –confirm:$false

}

#------------------ Handle input ---------------------

"-----------------------------------------------------"

$vcAddress = GetInput -prompt "Your vCenter address" -IsPassword $false

$vcAdmin = GetInput -prompt "Your vCenter admin user name" -IsPassword $false

$vcPassword = GetInput -prompt "Your vCenter admin user password" -IsPassword $true

"-----------------------------------------------------"

$action = GetInput -prompt 'Select action: 1). Power On 2). Power Off 3) Shutdown VM Guest 4).

Restart VM 5). Restart VM Guest 6). Delete VM' -IsPassword $false

$sleepTime = GetInput -prompt 'Wait time (seconds) between each VM' -IsPassword $false

"-----------------------------------------------------"

[Console]::ForegroundColor = "Yellow"

switch ($action)

{

1

{

"Your selection is 1). Power On"

}

2

{

"Your selection is 2). Power Off"

}

3

{

"Your selection is 3) Shutdown"

}

4

{

"Your selection is 4). Restart VM"

}

5

{

"Your selection is 5). Restart VM Guest"

}

6

{

"Your selection is 6). Delete VM"

}

default

{

"Invalid selection for action: $action"

exit

}

}

[Console]::ResetColor()

$csvFile = '.\CloneVMs.csv'

#check if file exists

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 99

if (!(Test-Path $csvFile))

{

write-host -ForeGroundColor Red "CSV File not found"

exit

}

"-----------------------------------------------------"

#--------------------- Main --------------------------

#Read input CSV file

Disconnect-VIServer $vcAddress -Confirm:$false

#Connect-VIServer $vcAddress -ErrorAction Stop -user $vcAdmin -password $vcPassword

Connect-VIServer $vcAddress -user $vcAdmin -password $vcPassword

$csvData = Import-CSV $csvFile

foreach ($line in $csvData)

{

$VMName = $line.VMName

switch ($action)

{

1

{

Get-VM $VMName | Start-VM -Confirm:$false

}

2

{

Get-VM $VMName | Stop-VM -Confirm:$false

}

3

{

Get-VM $VMName | Shutdown-VMGuest -Confirm:$false

}

4

{

Get-VM $VMName | Restart-VM -Confirm:$false

}

5

{

Get-VM $VMName | Restart-VMGuest -Confirm:$false

}

6

{

if (IsVMExists ($VMName))

{

Delete_VM ($VMName)

}

}

default{}

}

Start-Sleep -s $sleepTime

}

Disconnect-VIServer $vcAddress -Confirm:$false

exit

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 100

SkriptausführungDie folgenden Meldungen resultieren aus einer Ausführung des Skripts:

PowerCLI C:\scripts> .\VMOperations.ps1

Your vCenter address: 10.117.44.17

Your vCenter admin user name: administrator

Your vCenter admin user password: *******

--------------------------------------------------

Select action: 1). Power On 2). Power Off 3) Shutdown VM Guest 4). Restart VM 5). Restart VM Guest

6). Delete VM: 1

Wait time (seconds) between each VM: 20

--------------------------------------------------

Your selection is 6). Delete VM

Für das Einschalten, das Neustarten einer VM oder das Neustarten eines VM-Gastbetriebssystemsmüssen Sie eine Wartezeit zwischen den virtuellen Maschinen von mindestens 20 Sekunden angeben,um einen „Boot Storm“ (Überlastung des Netzwerks durch zu viele Anmeldungen) zu vermeiden, durchden einige Vorgänge eventuell nicht ausgeführt werden könnten.

Beispielskript zum Löschen von Maschinen aus derVerbindungsserver-LDAP-DatenbankSie können das folgende Beispielskript für das Löschen von Maschinen aus der Verbindungsserver-LDAP-Datenbank, die nicht in einem Desktop-Pool enthalten sind, anpassen und verwenden.

Dies ist ein PowerShell-Skript, zu dessen Ausführung keine Installation von PowerCLI erforderlich ist. Umdas Skript auszuführen, melden Sie sich beim View-Verbindungsserver als Administrator an, erstellen dasSkript sowie die Eingabedateien und führen das Skript von einem PowerShell-Fenster aus. Wenn sicheine Maschine in der Eingabedatei in einem Desktop-Pool befindet, stellt das Skript eine Meldung darund löscht sie nicht aus der LDAP-Datenbank.

Hinweis Vor der Ausführung des Skripts erstellen Sie einen Snapshot der virtuellen Maschine desVerbindungsservers für den Fall, dass die Änderungen durch das Skript rückgängig gemacht werdenmüssen.

Für das Kopieren und Einfügen des Skriptinhalts ohne Seitenumbrüche verwenden Sie die HTML-Versiondieses Themas, die auf der Dokumentationsseite von Horizon 6 unter https://www.vmware.com/support/pubs/view_pubs.html verfügbar ist.

SkripteingabeDie Eingabedatei verfügt über den Dateityp csv und enthält die Namen der Maschinen, die gelöschtwerden sollen. Das folgende Beispiel zeigt den möglichen Inhalt einer Eingabedatei.

MachineName

linux-001

linux-002

linux-003

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 101

Das Beispielskript geht davon aus, dass der Name dieser Eingabedatei DeleteMachineItems.csv lautetund dass die Datei im selben Ordner wie die Skripts enthalten ist.

Skriptinhalt

<#

bulk Delete registered machine items from broker LDAP database.

#>

$csvFile = '.\DeleteMachineItems.csv'

#check if file exists

if (!(Test-Path $csvFile))

{

write-host -ForeGroundColor Red "CSV File $CSVFile not found"

exit

}

function IsNameInCsv($name)

{

$csvData = Import-CSV $csvFile;

foreach ($line in $csvData)

{

if($line.MachineName -eq $name)

{

Write-Host "$name exists in csv"

return $true;

}

}

Write-Host "$name does not exists in csv"

return $false;

}

$obj = [adsi]'LDAP://localhost:389/OU=Servers,DC=vdi,DC=vmware,DC=int';

foreach ($child in $obj.psbase.Children)

{

$machineName = $child.get("pae-DisplayName");

if(IsNameInCsv($machineName))

{

$machineAttributes = $child | get-member;

$machineAttributes = $machineAttributes -join ' ';

if ($machineAttributes -like "*pae-MemberDNOf*")

{

$desktopPool = $child.get("pae-MemberDNOf");

Write-Host "Skip $machineName, which is included by desktop pool $desktopPool";

}

else

{

Write-Host "Delete $machineName, which is in csv file and not included by any desktop pool";

$child.distinguishedName;

$child.DeleteObject(0);

}

}

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 102

else

{

Write-Host "Skip $machineName, which is not in csv file";

}

Write-Host '--------------------------------------';

}

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 103

Fehlerbehebung bei Linux-Desktops 8Bei der Verwaltung von Linux-Desktops können bestimmte Probleme auftreten. Zur Diagnose undBehebung dieser Probleme stehen Ihnen verschiedene Vorgehensweisen zur Verfügung.

Dieses Kapitel enthält die folgenden Themen:

n Ermitteln von Diagnoseinformationen für eine Horizon 6 for Linux-Maschine

n Durchführen der Fehlerbehandlung bei einer fehlerhaften View Agent-Registrierung für eine Linux-Maschine

n Durchführen der Fehlerbehandlung für einen nicht erreichbaren View Agent auf einer Linux-Maschine

n Durchführen der Fehlerbehandlung für einen nicht antwortenden View Agent auf einer Linux-Maschine

n Konfigurieren der Linux-Firewall für das Akzeptieren eingehender TCP-Verbindungen

Ermitteln von Diagnoseinformationen für eine Horizon 6for Linux-MaschineMit der Ermittlung von Diagnoseinformationen können Sie den technischen Support von VMware bei derDiagnose und Behandlung von Problemen mit einer Horizon 6 for Linux-Maschine unterstützen. Dazuerstellen Sie ein DCT-Bundle (Data Collection Tool, Datenerfassungstool), in dem die Informationen zurKonfiguration der Maschine zusammengestellt und in einem komprimierten TAR-Archiv protokolliertwerden.

Verfahren

1 Melden Sie sich bei der virtuellen Linux-Maschine als Benutzer mit den erforderlichen Rechten an.

2 Öffnen Sie eine Eingabeaufforderung und führen Sie das dct-debug.sh-Skript aus.

sudo /usr/lib/vmware/viewagent/bin/dct-debug.sh

Das Skript generiert ein TAR-Archiv mit dem DCT-Bundle. Beispiel:

ubuntu-12-vdm-sdct-20150201-0606-agent.tgz

Das TAR-Archiv wird in dem Verzeichnis generiert, in dem das Skript ausgeführt wurde (das aktuelleArbeitsverzeichnis).

VMware, Inc. 104

Durchführen der Fehlerbehandlung bei einer fehlerhaftenView Agent-Registrierung für eine Linux-MaschineDas Installationsprogramm von View Agent kann eine virtuelle Linux-Maschine nicht mit dem View-Verbindungsserver registrieren.

Problem

Bei der Installation von View Agent auf einer virtuellen Linux-Maschine wird die Fehlermeldung Agent-Registrierung fehlgeschlagen angezeigt.

Ursache

Wenn das Installationsprogramm von View Agent eine virtuelle Linux-Maschine nicht mit dem View-Verbindungsserver registrieren kann, können dafür folgende Ursachen verantwortlich sein:

n Der FQDN (vollqualifizierter Domänenname) des View-Verbindungsservers, der Domänenname, derBenutzername oder das bei der Installation angegebene Kennwort ist nicht korrekt.

n Der View-Administrator verfügt nicht über die Rolle Agent-Registrierungsadministratoren oderAdministratoren in View Administrator. Im Einzelnen ist speziell das Recht Agent registrieren fürdie Registrierung von View Agent mit dem View-Verbindungsserver erforderlich. Die Rolle Agent-Registrierungsadministratoren ist eine beschränkte Rolle mit diesem Mindestrecht.

n Das Kennwort des View-Administrators enthält ein Sonderzeichen wie z. B. $, dem keinRückschrägstrich (\) als Escape-Zeichen vorangestellt ist.

n Für das Active Directory Konto (AD-Konto) des Administrators war die umkehrbareKennwortverschlüsselung nicht aktiviert. Weitere Informationen zur Aktivierung dieser Richtliniefinden Sie unterAktivieren der umkehrbaren Kennwortverschlüsselung.

Lösung

1 Stellen Sie sicher, dass der FQDN (vollqualifizierter Domänenname) des View-Verbindungsservers,der Domänenname, der Benutzername und das Kennwort korrekt sind.

2 Vergewissern Sie sich, dass der View-Administratorbenutzer über die für die View Agent-Registrierung erforderlichen Rechte verfügt.

a Wählen Sie in View Administrator View-Konfiguration > Administratoren aus.

b Auf der Registerkarte „Administratoren und Gruppen“ wählen Sie den View-Administratorbenutzeraus, den Sie während der Installation von View Agent angegeben haben.

c Stellen Sie sicher, dass der Benutzer über die Rolle Agent-Registrierungsadministratoren oderAdministratoren verfügt.

3 Enthält das Kennwort für den View-Administrator ein Sonderzeichen, muss diesem mit einemRückschrägstrich (\) ein Escape-Zeichen vorangestellt werden.

Beispiel: ab\$cdef

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 105

4 Öffnen Sie auf der Linux-Maschine die Registrierungsprotokolldatei von View Agent und suchen Sienach Fehlermeldungen.

/usr/lib/vmware/viewagent/viewagent-registration.log

5 Wenn der Authentifizierungsmechanismus DIGEST-MD5 ist, das heißt, dass die Option -k nichtangegeben ist, müssen Sie sicherstellen, dass die AD-Richtlinie Kennwort mit umkehrbarerVerschlüsselung speichern für den von Ihnen angegebenen Benutzer aktiviert ist.

6 Wenn der Authentifizierungsmechanismus Kerberos ist, müssen Sie sicherstellen, dass die Option -kdie korrekte Adresse des AD-Servers angibt und dass die Option -b den vollständigenComputernamen der Verbindungsserver-Instanzen angibt, einschließlich des Hostnamens und desDomänennamens.

7 Installieren Sie View Agent auf der virtuellen Linux-Maschine erneut.

Durchführen der Fehlerbehandlung für einen nichterreichbaren View Agent auf einer Linux-MaschineDer View-Verbindungsserver kann nicht mit View Agent auf einer virtuellen Maschine kommunizieren.

Problem

In View Administrator wird die virtuelle Linux-Maschine als Agent nicht erreichbar angezeigt. DiesesProblem kann auftreten, nachdem View Agent installiert und der View Agent-Dienst erfolgreich auf derLinux-Maschine gestartet wurde.

Ursache

Eine mögliche Ursache besteht darin, dass die Linux-Maschine die vollqualifizierten Domänennamen(FQDNs) der View-Verbindungsserver-Instanzen nicht auflösen kann.

Nach der Installation speichert View Agent eine Liste von FQDNs der View-Verbindungsserver-Instanzenin der Konfigurationsdatei /etc/vmware/viewagent-machine.cfg. View Agent verwendet die FQDNsauch dann, wenn Sie im Zuge der View Agent-Installation eine IP-Adresse einer View-Verbindungsserver-Instanz mit dem Parameter -b angeben.

Ein zweiter möglicher Grund ist, dass der Hostname der Linux-Maschine selbst nicht aufgelöst werdenkann.

Lösung

1 Öffnen Sie auf der Linux-Maschine die Protokolldatei von View Agent.

/usr/lib/vmware/viewagent/viewagent-debug.log

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 106

2 Suchen Sie nach Meldungen, die darauf hinweisen, dass der Hostname der View-Verbindungsserver-Instanz nicht aufgelöst werden konnte.

Beispiel:

2015-01-31T09:21:33.516Z DEBUG <JMS Handler for:svohraUb12x6> [JmsManager]

Using connection broker sm-15q1-broker.myDomain.com

2015-01-31T09:21:33.518Z DEBUG <JMS Handler for:svohraUb12x6> [JmsManager]

Unable to resolve hostname for sm-15q1-broker.myDomain.com

3 Stellen Sie sicher, dass der DNS-Dienst auf der Linux-Maschine korrekt konfiguriert ist.

Die notwendigen Schritte für die DNS-Konfiguration sind von den jeweiligen Linux-Distributionen und-Versionen abhängig. Anleitungen dazu finden Sie in der Dokumentation Ihrer Linux-Distribution.

Als Problemumgehung können Sie der Datei /etc/hosts auf der Linux-Maschine die FQDNs derView-Verbindungsserver-Instanz manuell hinzufügen. Allerdings wird diese Vorgehensweise nicht fürProduktionszwecke empfohlen. Die adäquate Lösung ist die Konfiguration des DNS-Dienstes für dieAuflösung der View-Verbindungsserver-FQDNs durch die Linux-Maschine.

Nach diesen Schritten pingen Sie die Hostnamen des View-Verbindungsservers, um zu überprüfen,ob diese aufgelöst werden können. Beispiel:

ping sm-15q1-broker.myDomain.com

4 Ist das Problem weiterhin vorhanden, müssen Sie überprüfen, ob der Systemhostname der Linux-Maschine aufgelöst werden kann.

Auf CentOS können Sie beispielsweise folgendermaßen vorgehen:

a Öffnen Sie ein Terminalfenster und führen Sie den Befehl hostname aus.

Der Hostname der Maschine wird dargestellt.

b Öffnen Sie die Datei etc/hosts und fügen Sie den Hostnamen hinzu.

su

nano /etc/hosts

# Add the hostname:

127.0.0.1 <Ihr Hostname>

c Pingen Sie den Hostnamen, um zu überprüfen, ob dieser aufgelöst werden kann.

ping <Ihr Hostname>

Hinweis Wenn Sie den DNS-Server auf der Linux-Maschine durch manuelles Bearbeiten derDatei /etc/resolv.conf angeben, geht die Einstellung in manchen Linux-Distributionen verloren. DieEinstellung bleibt nur erhalten, wenn Sie den DNS-Server in der Datei /etc/hosts angeben.Ausführliche Erläuterungen zur Konfiguration von DNS und Hostname finden Sie in der DokumentationIhrer Linux-Distribution und -Version.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 107

Durchführen der Fehlerbehandlung für einen nichtantwortenden View Agent auf einer Linux-MaschineDer auf einer virtuellen Linux-Maschine installierte View Agent antwortet nicht.

Problem

Auf den Horizon 6 for Linux-Desktop kann nicht zugegriffen werden und View Agent antwortet nicht.

Ursache

Der View Agent-Dienst wird eventuell nicht ausgeführt oder die X-Sitzung ist auf der Linux-Maschine nichtaktiviert.

Lösung

1 Öffnen Sie auf der virtuellen Linux-Maschine ein Terminalfenster, halten Sie den View Agent-Dienstan und starten Sie diesen neu.

sudo service viewagent <stop/start/restart>

2 Stellen Sie sicher, dass die X-Sitzung aktiviert ist.

ps –A | grep X

3 Installieren Sie den X11 Simple VNC-Server auf der virtuellen Maschine und vergewissern Sie sich,dass die X-Sitzung über VNC aktiviert ist.

Konfigurieren der Linux-Firewall für das Akzeptiereneingehender TCP-VerbindungenDamit Benutzer sich mit ihren Linux-Desktops verbinden können, müssen die Desktops eingehende TCP-Verbindungen von Horizon Client-Geräten, vom Sicherheitsserver und vom View-Verbindungsserverakzeptieren.

Bei Ubuntu- und Kylin-Distributionen wird standardmäßig die iptables-Firewall mit einerEingaberichtlinie von ACCEPT konfiguriert.

Bei RHEL- und CentOS-Distributionen konfiguriert, wenn möglich, das View Agent-Installationsskript dieiptables-Firewall mit einer Eingaberichtlinie von ACCEPT.

Stellen Sie sicher, dass iptables auf einem RHEL- oder CentOS-Gastbetriebssystem über eineEingaberichtlinie von ACCEPT für neue Verbindungen vom Blast-Port 22443 verfügt.

Wenn der BSG (Blast Secure Gateway) aktiviert ist, werden die Clientverbindungen von einem HorizonClient-Gerät über den BSG auf einem Sicherheitsserver oder einem View-Verbindungsserver zum Linux-Desktop hergestellt. Ist der BSG nicht aktiviert, werden die Verbindungen zum Linux-Desktop direkt vomHorizon Client-Gerät hergestellt.

Einrichten von Horizon 6 for Linux-Desktops

VMware, Inc. 108