Tags: ESXi, OS Deployment
Eine manuelle Installation von ESXi über das Installer-ISO führt nur zu einem rudimentär konfigurierten Host, den der Admin dann nachträglich anpassen muss. Dagegen kann er in einer Kickstart-Antwortdatei alle möglichen Einstellungen vorab festlegen, und diese werden dann beim Setup automatisch gesetzt.
Auch wenn der ESXi-Kernel gewisse Ähnlichkeiten mit Linux aufweist, was unter anderem an der Integration von Busybox liegt, so ist er dennoch eine Eigenentwicklung von VMware. Ein netter Nebeneffekt der Linux-Verwandtschaft besteht darin, dass sich Kickstart für ESXi nutzen lässt.
Kickstart wurde ursprünglich von Red Hat entwickelt und erlaubt eine automatische Installation von Red Hat Enteprise Linux. Dabei arbeitet das Setup alle Fragen anhand einer Konfigurationsliste (Antwortdatei) ab, ohne dass der Benutzer eingreifen muss.
Alternative zu Auto-Deploy und Host-Profilen
Ein interaktives Einrichten von ESXi vom Installationsmedium konfiguriert nur das root-Password, das Tastatur-Layout und das Management-Netzwerk per DHCP. Die weitere Anpassung erfolgt dann von Hand über die DCUI oder am Host-Client.
Möchte man nicht nur die Basisinstallation, sondern den kompletten ESXi-Build automatisieren, dann bieten sich dafür Auto-Deploy und Host-Profile an, was aber mindestens eine Enterprise-Plus-Host-Lizenz und einen einsatzbereiten vCenter Server verlangt.
Alternativ fasst man eine Kickstart-Installation ins Auge, die sich auch mit automatisierter Software-Verteilung verbinden lässt. Uns sie lässt sich sogar mit dem kostenlosen vSphere Hypervisor nutzen.
Kickstart-Workflow
Zu den Vorteilen einer unbeaufsichtigten Installation über das Netzwerk gehört zum Beispiel, dass Admins ihre ESXi-Konfiguration relativ einfach anpassen können, indem sie die Kickstart-Datei bearbeiten. Voraussetzung dafür ist lediglich, dass der Host zur Zeit der Installation mit dem Netzwerk verbunden ist.
Die unbeaufsichtigte Netzwerkinstallation via Kickstart umfasst ganz allgemein folgende Schritte:
- Kickstart-Datei erstellen
- Speichern der Kickstart-Datei auf einem NFS- oder HTTP-Server
- Anpassen des Boot-Managers derart, dass dieser auf einem NFS-Server nach der Kickstart-Datei sucht
- Booten vom ISO-Abbild unter Einbeziehung der Kickstart-Datei und beobachten der vollständigen Installation
Erstellen der Kickstart-Datei
Eine Kickstart-Datei ist eine Textdatei mit Angaben zur Konfiguration, wie sie normalerweise für Linux-Installationen verwendet wird. Sie trägt stets die Erweiterung .cfg und ist recht einfach zu lesen und zu erstellen.
Das folgende einfache Beispiel überschreibt sämtliche vorhandenen Partitionen für das ESXi-Betriebssystem, setzt das root-Passwort und versieht das Management-Netzwerk mit einer statischen IP-Konfiguration.
Danach folgt ein erster Reboot. Im weiteren Verlauf wird ein Standard-Switch mit 4 Uplink-Adaptern angelegt und die DNS-Konfiguration mit dem Hinzufügen von zwei Name-Servern ergänzt.
Die hier verwendeten IP- und Netzwerkeinstellungen sind natürlich den eigenen Gegebenheiten anzupassen. Als Versuchskaninchen verwende ich einen virtualisierten ESXi-Hosts mit 4 Netzwerkkarten.
Nun speichere ich den obigen Demo-Code in einer Text-Datei mit dem Namen "kickstart-hv100.cfg" (der Name ist frei wählbar) und lege diese auf einer NFS-Freigabe ab. Es wäre aber auch möglich, sie auf einem USB-Stick, einer CD-ROM bzw. auf dem verwendeten Installationsmedium selbst zu platzieren.
Dass das root-Password momentan noch im Klartext in der Kickstart-Datei steht, ist natürlich ein Sicherheitsrisiko und nur der Tatsache geschuldet, dass ich mich vorerst auf den eigentlichen Workflow konzentriere.
Nun füge ich dem ESXi-Host ein virtuelles CD-Laufwerk hinzu und lege die ESXi-Installations-ISO ein.
Direkt nach der initialen Boot-Sequenz drücke ich dann, wie unten rechts angezeigt, Shift + O, was ein direktes Bearbeiten der Boot-Optionen erlaubt, um die Kickstart-Datei für die Installation angeben zu können. Hier ersetze ich den Standard-Eintrag
>cdromBoot runease1
durch
>netdevice=vmnic0 bootproto=dhcp ks=nfs:\\<Pfad zur Kickstart-Datei>
in meinem konkreten Fall also
>netdevice=vmnic0 bootproto=dhcp ks=nfs:\\10.0.0.1\volume1\NAS\ISO\kickstart-hv100.cfg
Danach lässt die Installation abschließen und überprüfen, ob alle vorbereiteten Einstellungen vorhanden sind. Allerdings kann man auch schon im Verlauf der Installation verfolgen, dass das die Kickstart-Datei abgearbeitet wird.
Wenn man noch einen Schritt weitergeht und ein ISO-Image erstellt, das so konfiguriert ist, dass es beim Booten selbständig nach einer Antwortdatei sucht, dann lässt sich auch das Eingeben des Speicherorts für die Kickstart-Datei überspringen.
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