Installationsmedien von VMware ESXi mit Image-Builder anpassen

    VMware Image BuilderDer Image-Builder ist ein Tool auf Basis von Power­CLI, mit dem man ein ESXi-Basis-Image um Trei­ber, CIM-Pro­vider oder Plugins ergänzt. Die er­for­der­lichen VIBs und Basis-Images müs­sen in einem Depot vorliegen. Nach Inte­gration der Kompo­nenten kann man das Image mit Auto Deploy ver­teilen oder ein ISO-Abbild bzw. Offline-Bundle generieren.

    ESXi kann entweder von einem lokalen Speichermedium booten, was eine vorherige Installation voraussetzt, oder aus einem Image. Unter einem Image versteht VMware ein Software-Bundle, das folgende Komponenten enthält:

    • ESXi-Basis-Image (Core Hypervisor)
    • Treiber
    • CIM-Provider
    • Plugins und andere Komponenten

    Außerdem sind in einem vSphere Installation Bundle (VIB) Abhängig­keiten vermerkt, also andere VIBs, von denen das VIB abhängt oder mit denen es ggf. in Konflikt steht. Das Common Information Model (CIM) erlaubt Hardware-Herstellern, spezifische Management-Funktionen, wie z. B. Health Monitoring oder Firmware-Updates in das vCenter zu integrieren. CIM-Provider kommen häufig zur Überwachung von RAID-Controllern wie Adaptec, 3ware oder LSI im vSphere-Client oder Web-Client zum Einsatz.

    Image-Builder Workflow

    Unter Depot versteht VMware einen Ablageort, an dem der Image-Builder seine Komponenten findet. Ein Image-Profil wiederum gruppiert eine Sammlung von VIBs für einen spezifischen Host. Ein solches vom Nutzer angepasstes Image-Profil kann direkt von Auto-Deploy verwendet werden. Darüber hinaus lässt sich auf Basis eines solchen Profils mit dem Image-Builder ein ISO oder ein ESXi-Offline-Bundle (ZIP) für vSphere Update Manager (VUM) erzeugen.

    Das ISO wird für eine Installation von ESXi auf einem lokalen Datenträger benötigt. Das ZIP dagegen verwendet der Update Manager und das Image-Profil ist Teil des Auto-Deploy-Workflows, um ESXi über das Netzwerk vom angepassten Image zu booten.

    Folgende Abbildung illustriert schematisch die Architektur des Image-Builders mit den drei Komponenten

    • VIB-Package
    • Software-Depot
    • Image-Profil

    Die Verwendung von Custom Images für das Deployment von ESXi.

    In der in Abbildung enthält das Depot neben den einzelnen VIBs zwei vorgefertigte Image-Profile. Das eine ist ein Standard-Profil für ESXi und das andere trägt die Bezeichnung No-Tools. Es dient für ein Basis-Image ohne installierte VMware-Tools. Beide lassen sich ggf. ohne Veränderung direkt verwenden, vom Nutzer anpassen oder (auch unverändert) mit Image-Builder in ein ISO oder ZIP überführen.

    Meist wird der Image-Builder jedoch eingesetzt, um ein Basis-Image mit eigenen Treibern und Komponenten zu individu­alisieren. Entpackt man beispielsweise das ESXi-Offline-Bundle (ZIP), dann lässt sich die Struktur eines Zip-Depots im Explorer verifizieren, auch wenn der Image-Builder ein vorheriges Entpacken des Archivs nicht erfordert.

    Arbeiten mit dem Image-Builder

    Ausgangspunkt für die Arbeit mit Image-Builder ist ein Windows-PC mit installierter PowerCLI. Da es sich bei VMwares Image-Builder um ein Modul für PowerShell handelt, erübrigt sich das Installieren weiterer Software-Pakete. Der Nutzer muss nichts tun, als die aktuelle Version der PowerCLI aufzurufen bzw. zu installieren, falls noch nicht geschehen.

    Die Struktur eines Depots, wie es von Image Builder genutzt wird.

    Der erste Schritt in PowerCLI besteht darin, Image-Builder mit einem vorhandenen Depot zu verbinden. Angenommen, der Admin hat das ESXi-Offline-Bundle von VMwares Website herunter­geladen und in einem Verzeichnis seiner Wahl auf dem Windows-Rechner (z.B. y:\Depot) abgelegt, dann macht er Image-Builder das neue Depot wie folgt bekannt:

    Add-EsxSoftwareDepot -DepotUrl y:\Depot\update-from- ESXi6.0-6.0_update02.zip

    Das ZIP-Archiv muss dazu eine Datei index.xml als Konfigurations­datei, sowie die benötigten Komponenten enthalten (Basis-Image, VIBs, CIMs usw.). Wie gesehen, enthält das Standard-Depot auch zwei Image-Profile, die man wie folgt anzeigen lassen kann

    Get-ESXImageProfile

    Für eine erste Trockenübung empfiehl es sich, mit den vorhandenen Profilen zu experimentieren. Dazu klont man z. B. ein vorhandenes Profil (z.B. Standard) auf ein neues, das man dann verändern kann:

    New-ESXimageProfile -CloneProfile ESXi-6.0.0-20160301001s-standard -Name "Mein-Profil" -Vendor ICH

    Hier ist auch zu erkennen, dass sämtliche Komponenten vom Acceptance-Level PartnerSupported sind.

    Bundle zu Depot hinzufügen und Profil klonen mit dem Image Builder.

    Würde der Admin das Depot um eigene VIBs ergänzen, die z. B. Community Supported sind, dann müsste er den Acceptane-Level herab setzen:

    New- ESXimageProfile -CloneProfile ESXi-6.0.0-20160301001s-standard -Name "Mein-Profil" -AcceptanceLevel CommunitySupported

    Mit dem Cmdlet

    Get-ESXSoftwarePackage

    findet man dann auch ohne Auspacken des ZIPs im Explorer heraus, welche einzelnen VIB-Pakete das Image-Profil enthält.

    Die hier gelisteten VIBs stammen natürlich alle von VMware, da wir das ESXi-Offline-Bundle des Herstellers verwenden. Es spricht aber nichts dagegen, exemplarisch für den eigenen ESXi-Host nicht benötigte VIBs wie etwa einen Megaraid- oder Adaptec-SCSI-Controller so zu entfernen:

    Remove-ESXSoftwarePackage -ImageProfile "Mein-Profil" <Name.VIB>

    Analog lassen sich neue, individuelle Treiber in das Profil hineinladen. Dazu muss der neue Treiber zunächst von der Hersteller-Seite oder von VMware in Form eines Offline-Bundles heruntergeladen und in das vorhandene Depot-Verzeichnis extrahiert werden.

    Hier verwende ich als Beispiel die "NetXtreme II Network/iSCSI/FCoE"-Treiber-CD für VMware von QLogic. Das Hinzufügen des Hersteller-ZIPs zum eigenen Depot erfolgt dann mit

    Add-EsxSoftwarePackage -DepotURL Y:\Depot\QLG-NetXtremeII-1.0-offline_bundle-3014533.zip

    Ist das geschehen, kann der gewünschte Treiber wie folgt dem eigenen Profil hinzugefügt werden:

    Add-EsxSoftwarePackage -ImageProfile "Mein-Profil" <Name.VIB>

    Für Auto-Deploy genügt das bereits. Optional kann der Admin aber auch jederzeit wieder eine ISO oder ein Offline-Bundle erzeugen:

    ISO generieren:

    Export- ESXimageProfile --ImageProfile "Mein-Profil" -FilePath Y:\Depot\<Mein- ESXi-ISO.iso> -ExportToIso

    OfflineBundle für Auto-Deploy erzeugen:

    Export- ESXimageProfile --ImageProfile "Mein-Profil" -FilePath Y:\Depot\<Mein- ESXi-ZIP.zip> -ExportToBundle

    Keine Kommentare