Wie bootet ein DINO-Rechner?
Die folgende Darstellung soll einen Überblick über den Bootvorgang eines DINO-Rechners geben:
Schritt 1-4
Diese Schritte sorgen dafür, dass der Kernel samt Treibern auf die Klienten übertragen und der Bootvorgang angeschoben werden kann. Da wir die Rechner ohne Festplatte benutzen, verwenden wir DHCP- und TFTP-Server, um die notwendigen Dateien per PXE auf die Rechner zu befördern.
Schritt 5-7
Im “normalen” Betrieb (bspw. einer Debian-Standart-Installation per DVD auf Festplatte) ist das root-Verzeichnis eines Linux-Systems schreibbar. Um dies auch bei den DINOs zu gewährleisten, ist ein Trick notwendig: Das eigentliche root-System wird über NFS schreibgeschützt eingebunden (dies vermeidet viele, viele Probleme wie nicht zuletzt dem gleichzeitige Zugriff von 300+ Rechnern).
Mit Hilfe eines Overlay-Filesystems (früher unionfs, aktuell aufs) legen wir danach eine Schreibschicht (alle Änderungen werden in den Hauptspeicher geschrieben) über das nicht-beschreibbare NFS. Dadurch entsteht ein “normales” root-Filesystem, mit dem der Bootvorgang fortgesetzt werden kann.
Schritt 8
Je nach Standort der Rechners sind verschiedene Anpassungen vorzunehmen: Welcher Drucker soll als Standard-Drucker vorausgewählt sein? Ist der anonyme und beschränkte Gastzugang hier gewünscht oder deaktiviert? Werden für den Rechner closed-source Treiber benötigt?
All diese Fälle werden über verschiedene Skripte, die unter /etc/dino.d/ liegen, abgehandelt.
Schritt 9-13
Für die DINO-Rechner nutzen wir - soweit es möglich und praktisch ist - die gleiche Infrastruktur wie für die Windows-Rechner. Aus diesem Grund authentifizieren sich die Studierenden mit Kerberos/LDAP-Anfragen gegenüber der Active-Directory-Umgebung.
Für die Gast-Accounts findet die Anmeldung gegenüber der lokalen Datenbank statt; gleichfalls werden die Nutzerdaten ebenfalls lokal gespeichert (wiederum über ein Union-Filesystem realisiert). Beim Ausloggen des Gast-Benutzers werden dessen Daten automatisch gelöscht, so dass jeder neue Gast ein jeweils leeres Verzeichnis vorfindet.
Schritt 14
Der Nutzer hat sich erfolgreich eingeloggt und kann die verschiedensten Programme nutzen.