Tags: vSphere, Tools, Software-Distribution
Seit VMware mit Version 10.0 die Releases der VMware Tools und von ESXi entkoppelt hat, bietet es sich an, die Tools in einem zentralen Repository vorzuhalten, anstatt die mit dem Hypervisor gebündelten Installationsprogramme zu verwenden. Diese Anleitung zeigt, wie man die Hosts für diesen Zweck konfiguriert.
Für die meisten vSphere-Umgebungen ist die Standardkonfiguration zur Verteilung der VMware Tools ausreichend. Manche vSphere-Nutzer bevorzugen allerdings eine Standardisierung auf eine bestimmte Version der VMware Tools auf Unternehmens-, Datencenter- oder Cluster-Ebene.
Zwar wäre das auch zuvor schon möglich gewesen, allerdings ergaben sich früher häufig Probleme bei der VMware-Tools-Bereitstellung in gemischten Umgebungen, in denen die Tools jeweils Host-spezifisch vorgehalten werden mussten.
Zentrales Repo einrichten
Ein gemeinsam genutztes VMware-Tools-Repository ist ein Bereitstellungsmodell, das die Standardisierung, die Verteilung der stets neuesten Tools-Versionen und eine breite Abdeckung von Gastbetriebssystemen erleichtert. Für das Implementieren eines solchen zentralen Ablageorts sind drei Schritte erforderlich:
- Kopieren der gewünschten VMware Tools-Installationsprogramme in einen Ordner eines vorhandenen oder neuen Shared Datastore (siehe dazu: Installationsdateien für VMware-Tools am Host bereitstellen).
- Aktualisieren des erweiterten Parameters UserVars.ProductLockerLocation auf jedem ESXi-Host, damit er auf diesen Ordner zeigt.
- Starten der geänderten Konfiguration oder manuelles Aktualisieren.
Hauptproblem beim geschilderten Vorgehen ist Schritt 3, dass nämlich das Umbiegen des productLocker-Pfades meist einen Host-Reboot erfordert, was nicht immer gewünscht ist.
Symlink für productLocker ändern
Die in Schritt 2 erläuterte Einstellungsänderung bestimmt das Ziel eines symbolischen Links mit dem Namen /productLocker im Stammverzeichnis des ESXi-Dateisystems und wird jeweils erst beim nächsten Neustart des Hosts wirksam.
Ist allerdings ein Neustart nicht möglich, dann kann jeder Host über die Befehlszeile der ESXi-Shell einzeln aktualisiert werden, um die Konfiguration zu aktivieren. Einige Kunden bevorzugen es, diesen Prozess auf vielen Hosts mithilfe von Script-SSH-Befehlen oder anderen Verfahren zu automatisieren.
Allerdings hängt die exakte Vorgehensweise zum sicheren Ändern des /productLocker-Symlinks von der eingesetzten ESXi-Version ab. Sie bestimmt, ob für diesen Zweck der Wartungsmodus erforderlich ist.
Das allgemeine Verfahren besteht aber in jedem Fall darin, den vorhandenen /productLocker-Symlink zu löschen und einen neuen zu erstellen, der auf den aktualisierten Speicherort für die VMware Tools verweist:
rm /productLocker
ln -s /vmfs/volumes/<Datastore>/<VMTools-Ordner> /productLocker
VMware ESXi 6.0 und früher
Ältere Versionen von vSphere haben keine besonderen Einschränkungen bezüglich der Aktualisierung des Symlinks /productLocker. Nutzer können ihn daher problemlos mit oder ohne aktivierten Wartungsmodus wie oben beschrieben anpassen.
VMware ESXi 6.5 GA
Aufgrund der verschärften Sicherheitsrichtlinien, die mit vSphere 6.5 eingeführt wurden, gilt es ab dieser Version als nicht ausreichend sicher, den /productLocker-Symlink auf einem Host mit laufenden VMs zu ändern. VMware empfiehlt hier daher, alle betroffenen Hosts vor der Aktualisierung des Symlinks in den Wartungsmodus zu versetzen.
VMware ESXi 6.5 Update 1 und ESXi 6.7
Der vSphere-Version ESXi 6.5 Update 1 hat VMware ein neues Befehlszeilenprogramm namens updateProductLockerPolicy spendiert, mit dem vSphere-Nutzer den /productLocker-Symlink auch ohne Wartungsmodus sicher aktualisieren können.
VMware ESXi 6.7 U1
Das mit vSphere 6.5 Update 1 eingeführte Tool updateProductLockerPolicy wird ab vSphere 6.7 Update 1 nicht mehr unterstützt und wurde von VMware durch einen neuen vSphere-API-Call namens updateProductLockerLocation ersetzt.
Mit dem Aufruf einer solchen Methode lässt sich eine geänderte Einstellung ebenfalls anwenden, ohne dass die Hosts in den Wartungsmodus gesetzt oder neu gestartet werden müssen.
Für das Absetzen von API-Calls kann man unter anderem den Managed Object Browser der vCenter Server Appliance verwenden, der unter der URL
https://VCSA_FQDN/mob
verfügbar ist. Hat man sich erfolgreich mit dem administrativen SSO-Nutzer seiner Domäne authentifiziert, kann man den MOB durchsuchen.
Hierzu klicken wir im Abschnitt Properties auf den Link für content, dann bei der Eigenschaft rootFolder auf den zugehörigen Link group-xx, dann bei childEntitiy auf datacenter-xx und wühlen uns weiter über einen etwaiges Cluster-Objekt (hier domain-cxx) zum gewünschten Host (hier host-246).
Dort sind im Abschnitt Methods zwei API-Aufrufe für unsere Zwecke möglich, nämlich QueryProductLockerLocation und UpdateProductLockerLocation.
Wie zu erwarten ist, zeigt QueryProductLockerLocation den aktuellen Speicherort des ProductLocker auf dem Host an. Diesen aktualisieren wir mit Hilfe der Methode UpdateProductLockerLocation_Task, sodass er auf den neuen freigegebenen Speicherort verweist. Dazu rufen wir die Methode mit dem Pfad zum neuen Speicherort mittels Klick auf Invoke Method auf.
Das Ergebnis sollte so aussehen:
Wir können anschließend die Methode QueryProductLockerLocation zur Kontrolle aufrufen, um zu prüfen, ob die Änderung geklappt hat.
Die Ausgabe bestätigt, dass der Speicherort für ProductLocker erfolgreich in das neue Verzeichnis im iSCSI-Datastore verschoben wurde. Alle auf diese Weise konfigurierten Hosts verweisen bei der Aktualisierung der VMware Tools auf dieselben Installationsprogramme für Gastsysteme. Möchte man die aktuelle gegen eine neue Version der VMware Tools austauschen, muss man nur noch die Dateien an einem Ort anpassen.
Täglich Know-how für IT-Pros mit unserem Newsletter
Thomas Drilling arbeitet ist seit fast 30 Jahren selbständig in der IT-Welt sowohl als Consultant, als auch als Redakteur, Buchautor und Journalist für viele ehemalige und aktuelle IT-Magazine sowie Blogs.
Aktuell bestätigt sich Thomas schwerpunktmäßig als IT-Trainer für Cloud-Computing in den Bereichen Microsoft Azure, Amazon Web Services und VMware.
Thomas ist zertifizierter Microsoft-Trainer für nahe das gesamte Portfolio an Microsoft Azure Trainings. Thomas ist außerdem zertifizierter Microsoft Azure Solutions Architect Expert sowie VMware Certified Professional und wurde von VMware in den Jahren 2016 bis 2022 mit dem Blogger-Status vExpert ausgezeichnet.
Thomas führt aktuell jeden Monat zwei selbstkonziperte 4-tägigen Grundlagenkurse in Cloud Computing mit Azure durch, die sich inhaltlich bewusst von den Microsft-Kursen abheben und vorzuweise als Bootcamp in eine besonderen Lokation stattfinden. Optional kann aber aber auch remote via Microsoft Teams teilgenommen werden.
Das aktuelle Trainingsprogramm findet sich unter Azure-Trainings. Weitere Informationen und Anmeldung über sein Azure-Blog.
Verwandte Beiträge
- VMware Tools standardisieren und automatisch aktualisieren
- Installationsdateien für VMware-Tools am Host bereitstellen
- VMware vCenter mit dem vSphere Diagnostic Tool analysieren
- Mobile Apps für VMware-Admins: MyVMware, vSphere Mobile Client, vmwPAD
- VMware vSphere Integrated Containers - Docker-Unterstützung für VMs
Weitere Links