Tags: OS Deployment, ESXi, PowerShell
Der Image-Builder ist ein Tool auf Basis von PowerCLI, mit dem man ein ESXi-Basis-Image um Treiber, CIM-Provider oder Plugins ergänzt. Die erforderlichen VIBs und Basis-Images müssen in einem Depot vorliegen. Nach Integration der Komponenten kann man das Image mit Auto Deploy verteilen 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ängigkeiten 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
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 individualisieren. 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.
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 heruntergeladen 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 Konfigurationsdatei, 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.
Würde der Admin das Depot um eigene VIBs ergänzen, die z. B. Community Supported sind, dann müsste er den Acceptance-Level herabsetzen:
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
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
Weitere Links