Deployment von VMware ESXi: Was sind VIBs und wie werden sie installiert?


    Tags: ,

    VMware SDDC ArchitekturMöchte man ESXi im laufen­den Betrieb patchen, eine indi­viduell ange­passte Instal­lations-ISO oder ein Boot-Image für Auto Deploy generieren, dann kommt man um vSphere Instal­lation Bundles (VIBs) nicht herum. Sie können Pro­gramme oder Treiber für Hard­ware wie NICs oder RAID-Con­troller ent­halten.

    VIBs in Form offizieller ESXi-Patches enthält beispielsweise das ESXi-Offline-Bundle, welches VMware-Nutzer von der offiziellen Download-Seite herunterladen können. Auch viele andere Erweiterungen finden sich auf VMwares Download-Seiten in Form von VIB-Paketen. Dazu zählen auch Flings aus den VMware-Labs.

    Die meisten VIB-Pakete stammen von VMware selbst, wie das Patch-Repository des Update-Managers zeigt.

    VIBs von Fremdherstellern - Beispiel Synology

    Auch Software-Hersteller, die ESXi-spezifische Erweiterungen für Ihre Produkte bereitstellen, tun dies in Form von VIBs. Dieser Beitrag zeigt das Installieren eines VIB am Beispiel der VAAI-Erweiterung für NFS auf einer Synology RackStation.

    VAAI-Primitive für iSCSI beherrscht Synologys Disk Station Manager (DSM) schon seit 2012. Damit lassen sich auch kleinere NAS-Geräte mit VMwares vStorage APIs Array Integration (VAAI) ausrüsten. Durch Installieren eines VIB-Treibers erweitert man den VAAI-Support auf NFS-Datastores, so dass sie Operationen wie Full File Clone, Reserve Space (Thick-Provi­sionierung bei NFS-Datastores), Native Snapshots und Extended Statistics beherrschen. Das passende Bundle von Synology ist auf den Support-Seiten des Herstellers schnell gefunden.

    VIBs bereitstellen

    Da VIBs prinzipiell auf den betreffenden Hosts installiert werden, muss man das Paket zunächst irgendwie dorthin transferieren. Dafür gibt es mehrere Möglich­keiten, darunter scp oder rcopy unter Linux, der komfortable SSH-Client für Windows von Bitvise, der automatisch einen grafischen SFTP-Client installiert, WinSCP oder der Datastore-Upload mit dem vSphere Web Client. Letzterer benötigt dafür aber das Client-Integration-Java-Plugin (CIP).

    Wählt man den Weg über den Datastore, dann liegt das VIB anschließend im ESXi-Dateisystem unter /vmfs/volumes/<Name Datastore>. Dies wäre an sich kein Problem, jedoch empfiehlt es sich, VIBs besser von einem einprägsamen und vor allem kurzen Pfad wie /tmp zu installieren, um nicht die Übersicht zu verlieren. Mit einem grafischen Tool wie dem SSH-Client von Bitvise lässt sich ein solcher Pfad direkt ansteuern.

    VIB in einen Datastore hochladen über SFTP.

    Installieren von VIBs

    Zum Installieren des VIBs benötigt man Shell-Zugang zum ESXi-Host, wofür man zwischen drei Varianten wählen kann:

    • ESXi-Shell (Alt+F1 an der Host-Console)
    • SSH
    • Remote-CLI

    Die ersten beiden Varianten müssen nach einer frischen ESXi-Installation entweder an der DCUI, im vSphere-Client oder im Web Client unter Security-Profile freigeschaltet werden. Remote-CLI erfordert das Installieren der Perl-basierten Tools unter Windows oder Linux. Die Linux-Variante gibt es auch als vorkon­figurierte vMA-Appliance (vSphere Management Assistant).

    Der einfachste und schnellste Weg ist aber SSH. Sofern unter Windows der der Bitvise-SSH-Client oder Putty vorhanden sind, genügt zum Installieren des VIBs nach dem SSH-Login als root der Befehl

    esxcli software vib install -v /<Pad zum VIB>/esx-nfsplugin.vib

    also zum Beispiel

    esxcli software vib install -v /vmfs/volumes/<Name Datastore>/esx-nfsplugin.vib

    oder wie oben vorgeschlagen

    esxcli software vib install -v /tmp/esx-nfsplugin.vib

    Achtung: der Pfad ist stets absolut anzugeben, auch wenn man sich im Verzeichnis /tmp befindet. Bei einem lokal bereitgestellten VIB spezifiziert der Parameter -v <viburl> eine (oder mehrere) URLs zu einem VIB-Paket, wobei neben file auch die Protokolle http, https und ftp unterstützt werden.

    Alternativ erlaubt der Paramater -d (depot) das Angeben einer Remote-URL, die auf die index.xml eines bereitgestellten Offline-Bundles (ZIP-Datei) zeigen muss. In diesem Fall gibt dann -n (vibname) das spezifische VIB an, wahlweise in der Form name, name:version, vendor:name oder vendor:name:version.

    Signierte VIBs und Acceptance-Level

    Auf einem frisch eingerichteten ESXi-System wird das Installieren des Synology-VAAI-NFS-VIBs (etwa im Gegensatz zum ESXi-Host-Client) im ersten Anlauf trotzdem scheitern. Wie gesehen, können VIBs von VMware- oder Dritther­stellern stammen. Das Konzept des gehärteten Kernels bedingt aber, dass Kernel-Module signiert sind.

    ESXi unterscheidet dazu verschiedene Acceptance-Level wie WVMwareCertified, VMwareAccepted, PartnerSupported und CommunitySupported, wobei nur die beiden Ersten vollen Support von VMware sicherstellen. Abfragen lässt sich der Acceptance-Level mit

    esxcli software acceptance get

    Um ein Community-VIB installieren zu können, muss der Acceptance-Level mit

    esxcli software acceptance set -level CommunitySupported

    herabgesetzt werden.

    Installation eines VIB über SSH von einem Windows-Client mittels PuTTY.

    Hilft auch das nicht, da ESXi dem Paket-Bereitsteller nicht vertraut, hilft nur, das VIB wie folgt ohne Signatur-Check zu installieren:

    esxcli software vib install -v /<Pad zum VIB>/esx-nfsplugin.vib --no-sig-check

    Der Installier weist bei Bedarf darauf hin, dass das erfolg­reiche Installieren des VIBs einen anschließenden Reboot erfordert, wozu der ESXi-Host in den Wartungsmodus zu überführen ist. Nicht jedes VIB erfordert indes einen Reboot.

    Schließlich listet

    esxli software vib list

    alle installierten VIBs auf, sowohl jene von VMware, als auch von Drittanbietern.

    Im nächsten Teil dieser Artikelserie gehe ich darauf ein, wie man VIBs in ein bestehende Image integriert und mit dem Image-Builder von VMware individuelle Install-ISOs oder Boot-Images erzeugen kann, die optimal auf die eigene Hardware abgestimmt sind.

    Keine Kommentare