Themen auf dem Treffen der Lugrav am 27.03.14
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:)
Teilnehmer (1)
-
Peter Voigt