Tags: ESXi, OS Deployment
Das Setup von VMware ESXi lässt sich mit einer Antwortdatei so steuern, dass man als Ergebnis einen individuell konfigurierten Host erhält. Die ESXi-Installation kann man noch weiter anpassen, damit sie eigenständig nach dem Kickstart-Script sucht und den Hypervisor vollkommen unbeaufsichtigt einrichtet.
Im ersten Schritt lädt man ein aktuelles vSphere-ISO von der VMware-Website herunter, ggf. auch eine OEM-spezifische Version. Danach muss man diese bearbeiten. Dazu gibt es verschiedene Tools, wie zum Beispiel UltraISO.
Entscheidend ist dabei die Bootloader-Konfigurationsdatei boot.cfg, sie muss man anpassen. Hier gibt man unter anderen die Kernel- und Startmodule an, die während der ESXi-Installation geladen werden.
Dazu extrahiere ich die Datei in einen lokalen Ordner, um sie editieren zu können. Öffnet man die Datei in einem Editor, zeigt sie die Startkonfiguration für ESXi.
ISO für die unbeaufsichtigte Netzwerkinstallation
Wie oben angekündigt, wollen wir eine unbeaufsichtigte Netzwerkinstallation durchführen, bei welcher der ESXi-Installer automatisch nach der Kickstart-Datei auf einer NFS-Freigabe, einem FTP- oder einem Web-Server sucht.
Um das ISO für die Suche nach eine im Netzwerk abgelegten Kickstart-Datei zu konfigurieren, muss man lediglich den Eintrag
kernelopt=cdromBoot runweasel
in der Datei boot.cfg durch
kernelopt=netdevice=vmnic0 bootproto=dhcp ks=nfs://10.0.0.1/volume1/NAS/ISO/kickstart-hv100.cfg
ersetzen.
Natürlich sind die konkreten Pfade und IP-Adressen den eigenen Verhältnissen anzupassen. Ist das geschehen, dann speichere ich die Datei boot.cfg in einem neuen Ordner, den ich beispielsweise Netinstall nenne.
Danach kopiere ich die geänderte boot.cfg aus den eben angelegten lokalen Ordner zurück in UltraISO. Aber Achtung: die vorhandene Datei muss an zwei Orten überschrieben werden, einmal im Stammverzeichnis sowie im Unterordner /EFI/Boot.
Nachdem ich das erledigt habe, speichere ich das veränderte ISO in UltraISO mit Datei => Speichern unter, wobei man eine einprägsamen Namen wie ESXi67-Unattended-NetInstall.iso verwenden sollte.
Anschließend lege ich die neue ISO in den virtuellen ESXi-Host ein, den ich im Lab anstelle eines physikalischen Servers verwende.
Das Testen der neuen ISO funktioniert, solange die NFS-Freigabe verfügbar ist. Die automatische Installation wird nun problemlos ohne menschliches Eingreifen durchlaufen.
Unbeaufsichtigte Installation ohne NFS-Server
Um ESXi so zu konfigurieren, dass es beim Booten auf dem Installationsmedium nach der Antwortdatei sucht, muss man diese zuerst in die ISO-Datei verschieben. Auch das lässt sich wie oben beschrieben mit UltraISO erledigen.
Danach bearbeite ich wieder die lokal vorgehaltene (oder von der ISO heruntergeladene) boot.cfg und ersetze
kernelopt=cdromBoot runweasel
dieses Mal durch
kernelopt=netdevice=vmnic0 bootproto=dhcp ks=cdrom:/<PFAD ZUR KICKSTARTDATEI IM ISO>.CFG
Achtung: Aufgrund einer Einschränkung bei ESXi muss der Speicherort für die CD-ROM in Großbuchstaben angegeben werden.
Nun speichere ich die angepasste boot.cfg wieder lokal ab und übertrage sie anschließend via UltraISO zurück in das Abbild. Wie oben muss man sie wieder in zwei Verzeichnisse kopieren.
Schließlich legt man die veränderte ISO in die VM ein und startet diese neu. Sofern man für dieses Experiment den gleichen virtualisierten ESXi-Host benutzt, sollte man daran denken, im EFI bei der Boot-Reihenfolge die CD-ROM an die oberste Position zu verschieben, da auf der virtuellen Festplatte ja schon ein ESXi-System existiert.
Die Installation läuft jetzt unbeaufsichtigt durch und nach einigen Minuten ist der Host vollständig installiert und konfiguriert.
Ich habe hier nur mit wenigen Konfigurationsoptionen für die Kickstart-Datei experimentiert. Viele weitere Möglichkeiten beschreibt das ESXi-Upgrade-Handbuch.
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