Themen auf dem Treffen der Lugrav am 27.03.14

Peter Voigt peter.voigt1 at gmx.net
Mo Mär 31 17:12:35 CEST 2014


Hallo,

auf dem Treffen der Lugrav am 27.03.14 überraschte uns ein neuer
Besucher mit einer Netzwerkkarte für den Sinclar ZX 81.

Zur Erinnerung: Der Sinclair ZX81 kam vor über 30 Jahren auf den Markt
und markiert den Beginn des Homecomputing.

Ein Schaltplan aus dem Internet diente als Ausgangspunkt, um die
Netzwerkkarte zu bauen. Die Realisierung erforderte dennoch einiges
Know-how.  Einfaches Auflöten der Bauteile reicht bei einem solchen
Hardware-Projekt nicht aus. Die Netzwerkkarte wurde in ein Plastik-
gehäuse gesetzt, das fast genauso groß ist wie der Computer.

Der Treiber stammt aus der Community und wurde dem Originaltreiber für
eine andere Hardware nachempfunden. An Software gibt es einen Down- 
loader, dem Norton Commander als Vorbild galt, und einen simplen
Textbrowser. Mehr gibt die Hardware des ZX81 nicht her.

Um den Sinclair ZX 81 herum hat sich eine rege Community mit eigener
Zeitschrift gebildet. Sie wird international von Aktiven mit Leben
gefüllt.

Meine Meinung: Hut ab! Der Weg ist das Ziel!

Der zweite Teil des Abends stand unter dem Thema FAI-Server.

Ein FAI-Server dient dazu, Linux auf Rechnern zu installieren.

Das Thema wurde als bewusster Kontrastpunkt zur Auftaktveranstaltung
Serverdienste gewählt.

Damals ging es um NFS-Server. Dessen singuläre Funktion ist leicht zu
durchschauen. Demgegenüber bietet ein FAI-Server viele verschiedene
Funktionen. Er enthält einfach alles, was für die Installation eines
kompletten Linux bis zur Inbetriebnahme und darüber hinaus benötigt
wird.

Die Installation erfolgt vollautomatisch und schlüsselfertig ohne
jegliche Interaktion mit dem Administrator. Ob es um einen oder um
hunderte Rechner geht, spielt keine Rolle. Ob alle Rechner über dieselbe
Hardware verfügen, ebenso wenig. Jedem Rechner kann eine individuelle
Software-Ausstattung zugewiesen werden, bis hin zu unterschiedlichen
Linux-Distributionen.

Deshalb ist ein FAI-Server technisch weitaus komplexer strukturiert, als
ein "einfacher" Netzwerkdienst wie NFS.

FAI selber startet keinen "eigenen" Serverprozess. Der FAI-Server greift
auf andere Serverdienste zurück. Dazu zählen NFS, TFTP, FTP bzw. HTTP,
DOMAIN und DHCP sowie CFENGINE.

Einen Teil seiner Funktionalität ist bei FAI in das Installsystem
ausgelagert, in die sog. NFSROOT, welche auf dem Zielrechner ausgeführt
wird.

Wer sich zum ersten Mal mit FAI beschäftigt, sollte mindestens 2 Wochen
Zeit reservieren.

Unter Debian Wheezy enthält das Paket fai-quickstart alles Notwendige.
Etwaig fehlende Serverdienste werden mitinstalliert (Ausnahme siehe
unten).

Die Setup-Routine von FAI löst aber nicht alle Fragen rund um das
Zusammenspiel der beteiligten Serverdienste. Handarbeit ist angesagt.

Besonderes Augenmerk gilt der Frage, die beteiligten Dienste exakt
aufeinander abzustimmen. Sonst bricht die Installation auf dem
Zielrechner ab oder bleibt unvollständig.

In solchen Fällen ist solides Wissen über die internen Abläufe einer
Linux-Installation und der beteiligten Serverdienste gefragt, um der
Ursache auf die Spur zu kommen. Denn die Folgen von Konfigurations-
fehlern zeigen sich häufig recht spät.

Vorab sind die MAC-Adressen der Zielrechner zu ermitteln und TFTP
vorzugeben. FAI setzt dabei auf den ISC-DHCP-SERVER, der mit TFTP-HPA
zusammenwirken kann, so dass kein zusätzlicher BOOT-Server benötigt
wird.

Als weiterer Knackpunkt ist die Konfiguration von NFS händisch aus-
zubessern.

Technisch betrachtet handelt es sich bei FAI um ein Sammelsurium von
Skripten, welche sich an gewissen Stellen in die beteiligten Server- 
dienste bzw. in die Prozesse der NFSROOT einklinken.  Manche dienen 
der Vor-Konfiguration auf dem FAI-Server, andere werden zur Laufzeit 
der NFSROOT auf dem Zielrechner aktiv.

Die Installation auf dem Zielrechner durchläuft mehrere Phasen:

Anfangs bootet der Zielrechner per PXE übers Netzwerk. Alternativ kann
local per CD oder USB gebootet werden. Der TFTP-Server stellt Kernel und
Initrd zur Verfügung. Die Initrd bindet per NFS die NFSROOT ein und
startet sie. Weil die NFS-Option read-only gesetzt ist, kann der
FAI-Server beliebig viele Installationen gleichzeitig bewirken. Die
NFSROOT läuft auf dem Zielrechner ähnlich einer InstallCD im ram-only
Betrieb. Dafür wird AUFS eingesetzt.

Die NFSROOT untersucht die Hardware und lädt das Verzeichnis mit den
Konfigurationsdateien, dem sog. Config-Space des FAI-Servers. Damit
erhält die NFSROOT alle Angaben, was auf dem Zielrechner zu tun ist.

Mehrere Optionen stehen zur Verfügung: Neu-Installation, Update, Hard-
ware-Analyse, Rettungssystem, Umkonfiguration.

Im Fall der Neu-Installation beginnt die NFSROOT ohne zu zögern mit der
Formatierung der Festplatte. Vorhandene Daten gehen verloren. Also Vor-
sicht beim Booten von Rechnern, während ein FAI-Server läuft!

Anschließend werden in mehreren Schritten das Grundsystem installiert,
die Hardware konfiguriert, die gewünschten Softwarepakete und der
Bootloader installiert sowie alle weiteren Vorgaben des Administrators
ausgeführt.

Danach bootet der Zielrechner erneut und ist bereit, seine Arbeit
aufzunehmen.

Für jede Stufe kann der Administrator Vorgaben setzen und zusätzliche
Arbeiten erzwingen, z.B. weitere Nutzer anlegen, Daten vorladen,
Netzwerkdienste starten etc. Dafür hat er Konfigurationsdateien zu
editieren und kleinere Skripte aufzusetzen. FAI bietet dabei gewisse
Hilfestellungen.

Damit kann der Administrator alles vorgeben, was bei der Installation
von Linux und der Nachkonfiguration gewollt sein könnte.

Wegen dieser Flexibilität kaskadiert der FAI-Server: ein FAI-Server 
kann einen FAI-Server aufsetzen. (Das Paket fai-quickstart enthält 
ein Beispiel.)

Die Arbeit des Administrators wird u.a. durch ein leicht begreifbares 
Klassen-Konzept erleichtert.

Jedem Zielrechner können Klassen zugeordnet werden, die auf ausgewählte
Eigenschaften des Zielrechners hinweisen. Will man z.B. die Platte eines
Servers tauschen, reicht z.B. der Wechsel von der Klasse 500GB-Platte in
die Klasse 10TB-Platte. Will man gleichzeitig aus seinem alten Server
einen Router machen, reicht der Wechsel von der Klasse MeineServer zur
Klasse SchnelleRouter.

Die Klassen und ihre jeweilige Bedeutung hat der Administrator natürlich
durch entsprechende Skripte und Konfigurationen vorzugeben.

Die mitgelieferten Klassen eignen sich gut für Demo- und Übungszwecke.
Vor dem praktischen Einsatz sind jene Klassen jedoch zu verfeinern.

Richtig voreingestellt, bedarf es keinerlei Benutzereingaben während der
Installation auf dem Zielsystem. 

Per GBit-Netzwerk können etliche Installationen parallel ablaufen. Der 
Administrator kann sich anderen Aufgaben widmen. Darin liegt einer der
großen Vorteile von FAI.

Der FAI-Server lässt sich durch einen lokalen Paket-Mirror wesentlich
beschleunigen. 

Der Mirror kann auf dem FAI-Server oder einer anderen Maschine plaziert
werden. Die NFSROOT kann den Mirror über HTTP, FTP oder NFS anbinden. 

Einen Debian-Mirror setzt man am Besten mit Hilfe des Paketes debmirror 
auf. Will man ihn in der NFSROOT per HTTP oder FTP anbinden, ist der 
HTTP- bzw. FTP-Server händisch aufzusetzen. Die Konfiguration von FAI 
ist sodann händisch anzupassen.

Mehrere Installationen wurden auf dem Treffen praktisch vorgeführt. Für
Debian mit Textconsole brauchte FAI 2 Minuten, für Gnome 6 Minuten.

FAI-Server und Zielsystem waren dabei Teil eines simulierten Netzes
unter KVM.

Ein solches Netzwerk soll künftigen Treffen der Lugrav als Spielweise
für das Ausprobieren von Serverdiensten dienen.

Wer mag, soll einen für ihn reservierten Host nutzen können, ohne in
Gefahr zu geraten, andere Teilnehmer zu stören oder gar sein eigenes
Gerät zu zerschiessen.

Mitzubringen sind lediglich der eigene Laptop mit funktionsfähigen 
SSH-Client. Kabel und Switch werden gestellt werden. 

Bei Gelegenheit wird das erstmals auszuprobieren sein.

pv:)




Mehr Informationen über die Mailingliste Lugrav