VMware Tools über Spacewalk, Red Hat Satellite oder SUSE Manager verteilen

Mit VMware vSphere virtualisierte Linux-Systeme entfachen erst dann ihre volle Leistung, wenn die Helfer-Software VMware Tools in der neuesten Version installiert sind.

Wer schon mal mit VMware-Produkten gearbeitet hat, weiß, dass hier stetige Updates den Support von neuen Betriebssystemen und neuer Hardware sicherstellen. Das hat jedoch auch den Nachteil, dass die erwähnte Helfer-Software ebenso häufig aktualisiert werden muss.

Privat mag das sicherlich kaum stören. Wer jedoch eine größere Anzahl von Linux-VMs betreut, weiß, dass sich dieser Vorgang als sehr zeitaufwändig herausstellen kann.

Glücklicherweise gibt es von VMware für zahlreiche Linux-Distributionen entsprechende Software-Repositories, die die Installation der jeweils neuesten Version drastisch erleichtern. Zu den unterstützten Distributionen gehören beispielsweise:

  • Red Hat Enterprise Linux 3 - 6
  • SUSE Linux
  • SUSE Linux Enterprise Server (9 - 11)
  • Ubuntu Linux (Lucid, Natty, Oneiric, Precise)

Die VMware-Tools stehen für diese Distributionen als Software-Paket zur Verfügung - eine einfache Installation über die Paketverwaltung genügt, um die Software inklusive Abhängigkeiten zu installieren und aktualisieren.

Für diese Distributionen gibt es auf folgender Webseite Informationen zum Einbindung des Repositories: http://packages.vmware.com/

Für EL3-6 gibt es für die zwei Hauparchitekturen i386 (32-bit) und x86_64 (64-bit) entsprechende RPM-Pakete, die neben der Spiegelserverliste auch einen GPG-Schlüssel enthalten. Dieser wird verwendet, um die Pakete zu signieren und somit eine Installation fehlerhafter und manipulierter Pakete zu verhindern.

Verteilung mithilfe Spacewalk, Red Hat Satellite oder SUSE Manager

In Kombination mit Spacewalk / Red Hat Satellite oder SUSE Manager können auch große Zahlen an virtuellen Linux-Systemen aktualisiert werden, was den Zeitaufwand drastisch verringert - darüber freut sich das Administratorherz. 🙂

In diesem Beispiel werden die VMware Tools für das neuste ESXi 5.5-Release für Enterprise Linux 6 64-bit (CentOS, RHEL / RHED, Oracle Linux, Scientific Linux) verteilt. Für andere Distributionen müssen die nachfolgenden Angaben angepasst werden.

Der erste Schritt ist die Erstellung eines entsprechenden Software-Kanals. Im entsprechenden Menü werden folgende Informationen eingetragen:

  • Channel-Name: VMware Tools for EL6 x86_64
  • Channel-Label: vmwaretools-el6-x86_64
  • Parent-Channel: (entsprecheder Kanal für EL6 x86_64)
  • Architektur: x86_64
  • Yum-Repository Prüfsummentyp: sha1
  • Channel-Zusammenfassung: VMware Tools for EL6 x86_64

Unbedingt die im Formular hinterlegten Tipps und Erläuterungen beachten! Bei EL5-Systemen muss beispielsweise der Prüfsummentyp SHA256 gewählt werden, da SHA1 hier noch nicht unterstützt wird.

Ebenso wichtig sind die GPG-Informationen im unteren Bereich des Formulars. Neben der URL zum GPG-Key müssen auch dessen Schlüssel-ID und -Fingerprint hinterlegt werden. Diese Informationen lassen sich bei installiertem GPG dem entsprechenden Key (die Informationen zum verwendeten Key habe ich dem ober erwähnten Client-Repository RPM entnommen!) entnehmen:

1# wget http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub
2# gpg --with-fingerprint VMWARE-PACKAGING-GPG-RSA-KEY.pub
3pub  1024R/66FD4949 2008-04-15 VMware, Inc. -- Linux Packaging Key -- <linux-packages@vmware.com>
4      Key fingerprint = 36E4 7E1C C4DC C5E8 152D  115C C0B5 E0AB 66FD 4949

Die Informationen sind wichtig - sie werden wie folgt im Formular hinterlegt:

Repository zuordnen

Anschließend wird ein Software-Repository für den Kanal erstellt und festgelegt (anschließendes Editieren des Kanals, aktivieren des Repositories im Reiter "Repository"):

Nachdem Channel und Repository angelegt wurden, können mithilfe von spacewalk-repo-sync die Pakete heruntergeladen werden:

1# /usr/bin/spacewalk-repo-sync --channel vmwaretools-el6-x86_64 --url http://packages.vmware.com/tools/esx/5.5p01/rhel6/x86_64 --type yum -c vmwaretools-el6-x86_64
2Repo URL: http://packages.vmware.com/tools/esx/5.5p01/rhel6/x86_64
3Packages in repo:                40
4Packages already synced:          0
5Packages to sync:                40
61/45 : vmware-tools-plugins-guestInfo-9.4.0-1.el6-0.x86_64
7...

Hier wurden 40 Pakete importiert und mit dem Software-Kanal verlinkt.

In einem anderen Blog-Artikel bin ich auf die automatische Aktualisierung der Repository-Pakete und -Errata von CentOS eingegangen. Hier wurde ein Cronjob angelegt, der die entsprechenden Informationen täglich aktualisiert, diesen Cronjob kann man wie folgt erweitern, um auch den VMware Tools Software-Kanal täglich auf neue Pakete zu überprüfen:

1# vi /etc/cron.daily/spacewalk_sync.cron
2...
3/usr/bin/spacewalk-repo-sync --channel vmwaretools-el6-x86_64
4                             --url http://packages.vmware.com/tools/esx/5.5p01/rhel6/x86_64
5                             --type yum -c vmwaretools-el6-x86_64 >/dev/null

Verwendung und Installation

Channel zuweisen

Je nach Konfiguration von Spacewalk, Red Hat Satellite oder SUSE Manager steht der Software-Kanal nun einzelnen oder sämtlichen Organisationen innerhalb der Management-Software zur Verfügung und kann von entsprechend berechtigten Benutzern den registrierten Systemen frei zugewiesen werden.

Problematisch ist nur, dass eine Installation auf einem registrierten System erstmal fehlschlägt, da der VMware GPG-Schlüssel nicht importiert wurde:

1...
2warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID 66fd4949: NOKEY
3Public key for vmware-tools-xxx.rpm is not installed

Auf einem Standalone-System würde man diesen Schlüssel wie folgt einspielen:

1# wget http://packages.vmware.com/tools/keys/VMWARE-PACKAGING-GPG-RSA-KEY.pub
2# rpm --import VMWARE-PACKAGING-GPG-RSA-KEY.pub

Wenn man zahlreiche Systeme zu verwalten hat, ist das natürlich keine Option. In diesem Fall macht es Sinn, diesen Schlüssel in einem RPM-Paket bereitzustellen. Dieses muss man dann nur auf den entsprechenden Systemen bereitstellen, um die Pakete aus dem VMware Tools-Repository installieren zu können.

Ich bin in einem anderen Blog-Artikel vor einiger Zeit schon einmal auf den Bau von RPM-Paketen eingegangen - dort wird das genaue Prozedere erläutert. Anbei mein Entwurf eines RPM-Pakets der den GPG-Schlüssel enthält:

 1Name:           vmwaretools-key
 2Version:        1.0
 3Release:        1%{?dist}
 4Summary:        GPG key for VMware Tools repository
 5
 6#Group:
 7License:        GPL
 8URL:            http://packages.vmware.com/
 9Source0:        %name-%version.tar.gz
10
11BuildArch:      noarch
12
13%description
14This package contains the GPG key used by VMware to sign the VMware Tools packages offered at http://packages.vmware.com.
15
16%prep
17%setup -q
18
19%build
20
21%install
22rm -rf $RPM_BUILD_ROOT
23install -m 0755 -d %{buildroot}%{_sysconfdir}/pki/rpm-gpg
24install -m 0755 VMWARE-PACKAGING-GPG-RSA-KEY.pub %{buildroot}%{_sysconfdir}/pki/rpm-gpg/VMWARE-PACKAGING-GPG-RSA-KEY.pub
25
26%post
27rpm --import /etc/pki/rpm-gpg/VMWARE-PACKAGING-GPG-RSA-KEY.pub
28
29%clean
30rm -rf $RPM_BUILD_ROOT
31
32%files
33%defattr(-,root,root,-)
34%{_sysconfdir}/pki/rpm-gpg/VMWARE-PACKAGING-GPG-RSA-KEY.pub
35
36%changelog
37* Mon Jan 20 2014  Christian Stankowic <info@stankowic-development.net> - 1.0-1
38- Initial release

Das zugehörige Quellcode-Paket enthält im Wesentlichen den GPG-Key von VMware:

1# tar tvfz ~/rpmbuild/SOURCES/vmwaretools-key-1.0.tar.gz
2-rw-rw-r-- su-rpmdev/su-rpmdev 755 2011-03-02 01:39 vmwaretools-key-1.0/VMWARE-PACKAGING-GPG-RSA-KEY.pub

Wer zu faul ist, das Ganze nachzustellen, findet hier den Source-Code des RPM-Pakets: vmwaretools-key-1.0-1.el6.src

Nun gelingt die Verwendung des angelegten Repositories auch. Idealerweise verteilt man dieses RPM-Paket auf die entsprechenden Systeme mittels OSAD, damit man es nicht manuell installieren muss.

Einige wichtige Pakete aus dem Repository sind:

PaketnameBeschreibung
vmware-tools-esxTools für Gäste mit grafischer Oberfläche
vmware-tools-esx-noxTools für Gäste ohne grafische Oberfläche
vmware-tools-esx-kmodsZugehörige Kernel-Module
vmware-tools-hgfsSupport für Datei-Austausch mit dem Host mittels HGFS
vmware-tools-servicesSystemdienst zum automatischen Start nach dem Boot
vmware-tools-userGrafische Benutzeranwendungen

Die Basis-Installation auf einem Server ohne grafische Oberfläche (EL6) wird beispielsweise wie folgt ausgeführt:

1# yum install vmware-tools-esx{-nox,-kmods} vmware-tools-services

🙂

Übersetzungen: