Freeway 2 – Einen Raum aufsetzen

Die Benutzerführung von Freeway ist daraufhin angelegt, möglichst schnell zum Ziel zu kommen. Ästhetik, die über Zielführung hinaus geht, kommt – wenn überhaupt – später.
Als Root in roots Heimatverzeichnis ruft man das Skript freeway auf.

Freeway 2 - Einen Raum aufsetzen
Der Hauptdialog von Freeway

Aktuell gibt es drei Tätigkeiten: Grundinstallation, Arbeiten mit einem oder mehreren Rechnern, „späte Tätigkeiten“ wie Hintergrundbilder einstellen, oder den Logindialog aufhübschen unter dem Punkt „Finalise“.

Selbstverständlich ist der wichtigste Punkt ganz unten: der Sperrhahn für das Internet. Hier wird geschaltet, ob das Internet offen oder geschlossen ist. Der Trainer hat immer die Macht.

Grundinstallation führt auf den Hauptdialog für das Einrichten der Installation. Man arbeitet sich einfach von oben nach unten durch. Zunächst geht es darum, das Installationsprofil für die Virtuellen Maschinen festzulegen: Kurs setzen.

Freeway 2 - Einen Raum aufsetzen
Der Hauptdialog zur Grundinstallation

Der Katalog, der dann angezeigt wird, entspricht der Liste der verfügbaren Profile. Später sehen wir, dass es genügt, ein Verzeichnis anzulegen, wo die gepackte Profildatei drin ist. Ein Verzeichnis zu erzeugen weitet das Angebot aus, eines zu löschen, macht die Liste automatisch kürzer. Dazu später

Freeway 2 - Einen Raum aufsetzen
Das Kursangebot…

Tatsächlich passiert im Moment noch nichts Spektakuläres. Es wird ein symbolischer Link angelegt, der auf die richtige Profildatei zeigt. Diese wird bei der tatsächlichen Installation dann auf den Zielrechner kopiert. That’s all.

Freeway 2 - Einen Raum aufsetzen
Eine Link-Datei wird angelegt

Installieren

Der Freeway-Rechner ist Träger verschiedener Dienste:

  • Ein TFTP-Server, der die Clients mit IP-Adressen ausstattet
  • und ein PXE-Bootmenü anbietet
  • Ein Webserver
    • auf dem sich die „Preseed-Datei“, also das Installationsprofil für den Basisrechner befindet
    • der die Installationsdateien trägt
    • und sämtliche Images für die Virtuellen Maschinen
    • und alles andere, wie Hintergrundbilder und das Einrichtungsskript

Das ist im Prinzip alles.
Die zu installierenden Rechner brauchen außer der Möglichkeit, mit PXE zu booten, nichts. Sie werden ja völlig neu installiert.

Nachdem die Kurs-Vorbelegung erledigt ist, müssen die Teilnehmerrechner nur noch neugestartet werden. Beim Starten der Maschine gibt es normalerweise einen Auswahlpunkt „Boot Menü“, der oft über F12, F8, oder je nach Produkt auch einer anderen Taste erreichbar ist. Dort ist das Booten über die Netzwerkkarte auszuwählen.

Freeway 2 - Einen Raum aufsetzen
Je nach Umgebung – BIOS oder UEFI – kann das Boot Menü unterschiedlich aussehen

Der Rechner konfiguriert sich daraufhin zuerst per DHCP, und präsentiert danach eine Auswahlliste, welcher Rechner installiert werden soll. Bei UEFI erscheint tatsächlich ein GRUB-Menü mit den Namenseinträgen, ist der zu installierende Rechner noch mit BIOS ausgestattet, eine anders aussehende Liste. In beiden Fällen ist je Menüeintrag speziell hinterlegt, welcher Rechner mit welcher IP-Adresse, evtl auch mit welcher Konfigurationsdatei, jetzt installiert werden soll. Kurz nach der Auswahl des Rechners springt die automatisierte Installation an. Welcher Mechanismus hinter diesem Vorgang steckt, wird ein wenig später erklärt.

Nach der Installation fährt ein frisch installierter Rechner mit der richtigen Basisinstallation hoch. Er könnte jetzt verwendet werden, wenn die Ansprüche an das Installationssystem nicht hoch sind. Allerdings wäre das nur eine normale preseed-Installation, und noch nicht freeway.

Määdschik

Nach der Installation fährt das jungfräuliche System hoch und hat neben der absoluten Standard-Installation (plus ein paar nice-to-haves wie vim, deutsche Module für Libreoffice, curl) nichts an Bord außer einem Benutzer student (passwort student) und einem konfigurierten root-Benutzer.

Bis auf eine Kleinigkeit: es gibt zwei Dateien im Heimatverzeichnis von root. Die eine ist ein Skript mit dem Namen postinst.sh, die andere ist eine Hilfsdatei mit dem Namen postrc. Wird postinst.sh aufgerufen, holt das Skript sich ein paar wichtige Shellvariablen aus postrc und legt los.

  • Spezial-Software wird nachinstalliert, wie z.B. ein Grafiktreiber. Oder auch nicht, wenn die entsprechende Variable leer ist.
  • die ausgewählte Imagedatei für die Virtuelle(n) Maschine(n) wird geholt.
  • Ein Netzwerk für die KVM-Umgebung wird eingerichtet und gestartet.
  • Abhängig davon, wieviele virtuelle Maschinen im Profil enthalten sind, werden diese angelegt und gestartet
  • Grafikdateien für Hintergrund und Loginbildschirm werden geholt
  • Die Client-Software von freeway wird auf den Rechner geholt. Damit können die Virtuellen Maschinen leicht verwaltet werden.

Das soll nicht automatisch passieren, denn

  • es könnte sein, der Administrator will nur die Basismaschine.
  • die Anzahl der Maschinen oder die Maschinen an sich haben sich seit dem letzten Installationsvorgang geändert.
  • Es gab einen Fehler, ein Versehen.

Alles ist jetzt noch veränderbar. Später auch.

Inventarisieren

Klare Ansage: vielleicht soll ja gar nicht jede Maschine bearbeitet werden, vielleicht hat sich die Anzahl, vielleicht die Beschaffenheit der Maschinen verändert seit der letzten Installation. Deshalb muss jetzt Registrierte Rechner listen aus dem Grundinstallations-Hauptmenü ausgeführt werden. Dieser Menüpunkt führt auf einen kleinen Dialog, der

  • vor einer Neuinstallation muss hier flush in den Dialog eingetragen werden, danach Return drücken. Dabei löscht das System alle Informationen über die vorherige Installation. Danach das gleiche Menü noch einmal ansteuern, und dieses Mal
  • 1 3 für die ersten drei, 2 8 für alle Rechner von Nr. 2 bis 8, oder einfach all für alle Rechner von 1 bis (aktuell) 9. Die oberste Zahl kann einfach angepasst werden.
  • 5 5 inventarisiert Rechner 5.
Freeway 2 - Einen Raum aufsetzen
Rechner inventarisieren

Was passiert dann? Alle Rechner in der Serie werden angepingt, ob sie da sind, und ihr hostname ermittelt (bei dieser Gelegenheit werden auch die Maschinen-SSH-Keys eingesammelt). Seltsame Meldungen sind hier völlig normal, wenn man vorher nicht „flush“ ausgeführt hat.

DIESER VORGANG IST WICHTIG UND KANN NICHT AUSGELASSEN WERDEN.

Das Inventarisieren schreibt zwei Dateien: /root/freeway.d/hostlist.txt und /tmp/candidatesxxx.tmp. In beiden steht drin, welche Rechner beim Inventarisieren gefunden wurden.

Images verteilen

Man kann in der Netzwerktechnik immer zwei Dinge tun: schieben oder ziehen lassen. Der tiefere Grund der postinst.sh Datei ist, dass man beim Menüpunkt Images ausbringen alle Rechner, die gerade gefunden wurden, gleichzeitig anspricht und das Downloaden der Images anstößt. So ziehen alle Rechner gleichzeitig und verteilen die Last des Verteilens. Der freeway Rechner hat keine Last mit Schieben. Allerdings muss jetzt die Festplatte des Rechners möglichst schnell die mehrere GB große Imagedatei an die ziehenden Rechner ausliefern.

Wenn der Dialog wieder auf das Hauptmenü zurückspringt, sind alle Images mit curl bzw. wget vom Server geholt.

Freeway 2 - Einen Raum aufsetzen
Dateien verteilen

Im Prinzip würde es reichen, auf den betankten Rechnern nur den libvirtd neu zu starten, aber eine saubere Sache ist immer Neustart. Alle Rechner der Liste werden durchgebootet bzw. deren libvirt neu gestartet.

Check up Clients überprüft, welche virtuellen Maschinen auf welchen Basisrechnern gelistet werden.

Mission completed. Aber das ist noch nicht alles.