ESXi-Installation mit Kickstart automatisieren: ISO-Image anpassen


    Tags: ,

    ESXi automatisiert über Kickstart installierenDas Setup von VMware ESXi lässt sich mit einer Antwort­datei so steuern, dass man als Ergebnis einen indivi­duell konfigurierten Host erhält. Die ESXi-Installation kann man noch weiter anpassen, damit sie eigenständig nach dem Kickstart-Script sucht und den Hypervisor voll­kommen unbeauf­sichtigt ein­richtet.

    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 Start­module an, die während der ESXi-Installation geladen werden.

    boot.cfg mit UltraISO aus der ISO-Datei entnehmen, um sie für Kickstart anzupassen

    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.

    Boot-Konfiguration im originalen Zustand

    ISO für die unbeaufsichtigte Netzwerkinstallation

    Wie oben angekündigt, wollen wir eine unbeauf­sichtigte Netzwerk­installation 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.

    Dem Installer weist man in der boot.cfg über die Option kernelopt den Weg zur Antwortdatei.

    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 Stamm­verzeichnis sowie im Unterordner /EFI/Boot.

    Die originale boot.cfg muss in zwei Verzeichnissen durch die angepasste Variante ersetzt werden.

    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 Installations­medium 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.

    CD-Laufwerk im EFI als bevorzugtes Boot-Medium festlegen

    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 Konfigurations­optionen für die Kickstart-Datei experimentiert. Viele weitere Möglichkeiten beschreibt das ESXi-Upgrade-Handbuch.

    Keine Kommentare