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 seit mehr als 20 Jahren selbständig als Redakteur und Autor für viele ehemalige und aktuelle IT-Magazine sowie Blogs. Thomas ist zudem Buchautor und IT-Consultant.
Seit 5 Jahren ist Thomas neben seiner journalistischen Tätigkeit hauptberuflicher, selbständiger IT-Trainer für VMware und Microsoft.
Seine Themenschwerpunkte sind Virtualisierung und Cloud Computing, speziell VMware, Amazon Web Services, Google Cloud und Microsoft Azure. Thomas ist zertifizierter VMware Professional, Advanced Professional und wurde von VMware in den Jahren 2016, 2017, 2018, 2019 und 2020 mit dem Blogger-Status vExpert ausgezeichnet.
Thomas ist außerdem zertifizierter AWS Solutions Architect, Sysops Engineer und Devops Engineer sowie Microsoft Certified Azure Administrator.
Thomas führt aktuell jeden zweiten Montag einen 4-tägigen Grundlagenkurs in Cloud Computing mit AWS via Zoom-Meeting durch. Weitere Informationen und Anmeldung über sein AWS-Blog.
Ähnliche Beiträge
Weitere Links