Dies ist eine alte Version des Dokuments!


Installation mit Hilfe eines Kickstartfiles für CentOS 8.x (PXE-Server)

Kurz mal einen Testrechner auf diesem Wege zu installieren, wie im Kapitel Installation von CentOS 8.x via PXE beschrieben, mag ja noch als praktikabel angesehen werden. Will man aber mehrere Duzend oder gar hunderte von Systemen installieren, wird man sehr schnell feststellen, dass diese Variante noch nicht wirklich das Mittel der Wahl sein kann und wird.

Viele wertvolle Hinweise zur Erstellung und zu den Optionen rund um PXE1) finden sich in der Original-RedHat-Dokumentation Performing an advanced RHEL installation im Kapitel Chapter 3. Kickstart installation basics

Ergänzend finden sich auch noch wertvolle Hinweise zum Thema Creating Kickstart files in der aktuellen CentOS 8.0.1905 documentation.

Für die weitgehende Automatisierung der Installation unserer Rechner greifen wir auf ein Installationsscript zurück, welches uns entsprechend unterstützen wird. Diese Datei enthält Angaben zu den einzelnen Installationschritten, die wir bei einer manuellen Installation immer angeben oder anklicken müssten. Im Wesentlichen sind dies Angaben zu:

  • Systemsprache
  • Tastaturlayout
  • Netzwerkdefinitionen
  • Installationsquelle
  • Zeitzone
  • Paketauswahl
  • u.s.w.

Kickstart-Dateien kann mit einer der folgenden Methoden erstellen:

    • Voraussetzungen:
      • Man hat ein Red Hat-Kundenportal-Konto und ein aktives Red Hat-Abonnement.
    • Vorgehensweise:
      1. Öffnen der Informationsseite zum Kickstart-Generator-Labor unter https://access.redhat.com/labsinfo/kickstartconfig
      2. Menüpunkt Go to Application links neben der Überschrift anwählen und warten bis die nächste Seite geladen ist.
      3. Im Dropdown-Menü den Punkt Red Hat Enterprise Linux 8 auswählen und erneut warten bis die Seite aktualisiert wird.
      4. Nun das zu installierende System anhand der Felder im Formular beschreiben.
      5. Die links auf der linken Seite des Formulars helfen um schnell zwischen den Abschnitten des Formulars zu navigieren.
      6. Zum Download der generierte Kickstart-Datei auf die rote Schaltfläche Download oben auf der Seite klicken.
      7. Der Webbrowser speichert die Datei dann in derm lokal gewähltenVerzeichnis.
  • Kopieren und editieren einer bestehenden Kickstart-Datei, die als Ergebnis einer manuellen Installation erstellt wurde.
  • Schreiben Sie die gesamte Kickstart-Datei manuell von „the scratch“
    • Wichtiger Hinweis : Das Bearbeiten einer bereits vorhandenen Datei mit den anderen Methoden ist in der Regel schneller, weshalb diese Methode auch nicht zu empfehlen ist.

Ferner ist zu beachten, dass viele sehr individuelle Konfigurationswünsche, wie z.B. LVM-Konfigurationen bzw, aufwändige Partitionierungen meist nur manuell in einer Kickstart-Datei konfiguriert werden können! Nich alles lässt sich mittels automatisierter GUIs abbilden!

Erzeugung und Berabeitung

In folgendem Beipiel wollen wir uns die manuelle Erstellung und Bearbeitung einer Kickstart-Datei einer zuvor ertellen Installation etwas genauer ansehen.

Der empfohlene Ansatz zur Erstellung von Kickstart-Dateien ist die Verwendung der Datei, die bei einer manuellen Installation von CentOS 8 erstellt wurde. Nach Abschluss einer Installation werden alle während der Installation getroffenen Entscheidungen in einer Kickstart-Datei mit dem Namen anaconda-ks.cfg gespeichert, die sich im Verzeichnis /root/ auf dem installierten System befindet. Diese Datei können wir nun verwenden, um die Installation auf die gleiche Weise wie zuvor zu reproduzieren. Alternativ können wir diese Datei kopieren, alle erforderlichen Änderungen vornehmen und die resultierende Konfigurationsdatei für weitere Installationen anschließend verwenden.

  • Vorgehensweise:
    1. Wir installieren ein CentOS 8-System mit den gewünschten grundsätzlichen Standardkonfigurationsoptionen, wie z.B. hier beschrieben.
    2. Neben dem Passwort für den Benutzer root legen wir auch unser Admin-User-Konto an.
    3. Nach erfolgter installation starten wir das System neu.
    4. Dann melden wir uns an dem System an.
    5. Abschließend kopieren wir die Datei /root/anaconda-ks.cfg auf unseren Installationshost(Repo-Server in das Verzeichnis ../kickstart/ks_centos_8_x86_64_dmz.cfg.

      WICHTIG:
      Die Datei enthält Informationen über Benutzer und Kennwörter!

       # less ../kickstart/ks_centos_8_x86_64_dmz.cfg
      #version=RHEL8
      ignoredisk --only-use=vda
      autopart --type=lvm
      # Partition clearing information
      clearpart --all --initlabel --drives=vda
      # Use graphical install
      graphical
      repo --name="AppStream" --baseurl=http://10.0.0.57/centos/8/BaseOS/x86_64/os/../../../AppStream/x86_64/os/
      # Use network installation
      url --url="http://10.0.0.57/centos/8/BaseOS/x86_64/os/"
      # Keyboard layouts
      keyboard --vckeymap=de-nodeadkeys --xlayouts='de (nodeadkeys)'
      # System language
      lang en_US.UTF-8
      
      # Network information
      network  --bootproto=dhcp --device=ens3 --ipv6=auto --activate
      network  --hostname=vml000058.dmz.nausch.org
      # Root password
      rootpw --iscrypted $6$Z46HtZ/aLHbA19p$WVsutOEqe0m0e97lgEreKUzfkAEFzFSR0Hj8RFN8MHqWjPqk7PkJeQ9mIcTGtdutFnFVdFzFSR0KhrdGwUdAn01
      # X Window System configuration information
      xconfig  --startxonboot
      # Run the Setup Agent on first boot
      firstboot --enable
      # System services
      services --enabled="chronyd"
      # System timezone
      timezone Europe/Berlin --isUtc --ntpservers=vml000027.dmz.nausch.org
      user --name=django --password=$6$2.fGKBeQa18GE6XwDMXG6$QX/j.TfZXk0bBuoJ8GE6XMXRZYz/4pEE6PuwkubaDmteRAAerLVKK69EF30d1K/f1d/sUEqbF9FJBulc/ --iscrypted --gecos="Bastard Operator from Hell"
      
      %packages
      @^graphical-server-environment
      kexec-tools
      
      %end
      
      %addon com_redhat_kdump --enable --reserve-mb='auto'
      
      %end
      
      %anaconda
      pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
      pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
      pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
      %end
  1. Dort können wir die Datei unseren Wünschen nach entsprechend noch final anpassen.
  2. anschließend passen wir dann noch die Konfigurationszeile unseres PXE-Bootmenüs passend an und vermerken dort sowohl ks (Host und Pfad der Kickstartdatei) als auch die Option ksdevice (Netzwerkgerät über die die Kickstart-Datei geladen werden kann). Bsp.:
    ... 
    LABEL 3
       MENU LABEL ^3) Installation von CentOS 8 (64 Bit)
       KERNEL images/centos/8/x86_64/vmlinuz
       APPEND ks=http://10.0.0.57/kickstart/ks_centos_8_x86_64_dmz.cfg initrd=images/centos/8/x86_64/initrd.img ksdevice=eth0 ip=dhcp --hostname=vml000250.dmz.nausch.org method=http://10.0.0.57/centos/8/BaseOS/x86_64/os/ SERVERNAME=
    ... 

Überprüfung

Nach umfangreichen Änderungen enpfiehlt es sich, die gemachten Änderungen an der Kickstartdatei entsprechend zu validieren. Hierzu verwenden wir das Programm ksvalidator aus dem RPM pykickstart. Zunächst installieren wir uns dieses Paket.

 # dnf install pykickstart -y

Zum Syntax-Check unserer Kickstartdatei rufen wir dann das Programm gefolgt mit dem Pafd und Dateinamen unserer Kickstart-Datei auf, wie z.B. im folgenden Beispiel:

 # ksvalidator /srv/kickstart/ks_centos_8_x86_64_dmz.cfg 

Passt der Syntax wir nichts zurück gegeben. Hat sich aber ein Syntaxfehler eingeschlichen wird uns ausgegeben, wo der Fehler liegt, wir im folgenden Beispiel - hier wurde statt keyboard das Wort falsch geschrieben: keiboard:.

 # ksvalidator /srv/kickstart/ks_centos_8_x86_64_dmz.cfg 
The following problem occurred on line 12 of the kickstart file:

Unknown command: keiboard

Das Validierungstool selbst kann natürlich nicht garantieren, dass die Installation später auch wirklich erfolgreich sein wird! Es stellt nur sicher, dass die Syntax korrekt ist und dass die Datei keine veralteten Optionen enthält. Es wird dabei nicht versucht, die Abschnitte %pre, %post und %packages der Kickstart-Datei zu validieren!

FIXME do gehds weida!


1)
Preboot eXecution Environment
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
  • centos/pxe_c8/pxe_2.1591911544.txt.gz
  • Zuletzt geändert: 11.06.2020 21:39.
  • von django