Anhang E
Weiterführende Quellen und Information

Thin, Stateless bzw. Linux Diskless Clients sind inzwischen seit einiger Zeit ein Thema, welches an vielen verschiedenen Stellen behandelt wird. Zum besseren Überblick gibts deshalb einen kurzen ”geschichtlichen Abriss” des Projekts von seinen Anfängen mit Linux-X-Terminals bis zum aktuellen OpenSLX-Client, der eine komfortable Linux-Workstation mit Erweiterungen präsentiert. OpenSLX ist bei weitem nicht das einzige Projekt auf diesem Gebiet. Deshalb findet man bei den verschiedenen Projekten umfangreiche Dokumentation, die anschliessend angegeben wird. Zum anderen existieren gute Überblicksdarstellungen rund um das Thema, ein guter Einstiegspunkt sind beispielsweise [W1] – [W5]. Das Howto [20] einiger wesentlicher Open Source Akteure in diesem Feld ist schon recht alt, erklärt aber alle wichtigen Herangehensweisen, notwendigen Boot-Protokolle und darauf aufbauende, weitergehende Ideen, wie Diskless Windows.

E.1 Projektgeschichte - Ein anderer Thin-Client-Ansatz

Die allgemeinen Grundlagen des Projektes gehen auf die Jahre 1996/97 zurück, als es noch keine allgemein verfügbare Linux-Diskless-Software gab. Ursprünglich inspiriert war alles durch die grafischen X-Terminals im Mathematischen Institut der Göttinger Universität und einer ”Bauanleitung” von Linux X-Terminals in der Zeitschrift iX. Die besagten X-Terminals konnten anders als klassische Text-Konsolen, die schon lange im Client-Server-Betrieb über serielle Leitungen an Großrechnern und anderen Systemen hingen, grafische Ausgaben über ein IP-Netzwerk transportieren.

Die notwendigen Protokolle, wie BOOTP, DHCP, TFTP und NFS waren alle schon vorhanden und wurden bereits von anderen Anbietern wie SUN Microsystems für den festplattenlosen Start von Workstations eingesetzt. Diese Erfahrungen nutzend, entwickelte sich im Umfeld der studentischen Internet-AG in Göttingen eine erweiterte Open Source Lösung auf Linux-Basis.

Die Kombination aus Etherboot [W3] oder dem zwischenzeitlich alternativ getestetem Netboot [W4], der zu dem Zeitpunkt schon länger vorhandenen Fähigkeit des Linux-Kernels sich per BOOTP eine IP beschaffen zu können und sein Rootfilesystem per NFS einzubinden, ergab eine erste frühe Variante eines X-Terminals. Diese wurde in einer etwas ausgereifteren Fassung, später intern als Version 1.0 geführt, in einem ersten Linux-Magazin-Artikel [5] 1999 vorgestellt. Zu diesem Zeitpunkt entstanden dann auch schon weitere Projekte, die sich mit dem festplattenlosen Start von PCs befassten, wovon LTSP [W5] sich im Laufe der weiteren Entwicklungen als Standard für X-Terminals etablierte. Dieser Ansatz fokussiert jedoch auf die Serverseite und läßt die Clients größtenteils nur Ein- und Ausgabefunktion übernehmen. Das erlaubt zwar ultrakompakte Endgeräte oder die Weiterverwendung recht alter Hardware, nutzt aber kaum die üblicherweise üppige Ausstattung der Desktopmaschine. Deshalb wurde die Weiterentwicklung der ursprünglichen reinen X-Terminal-Lösung nunmehr in einer ausgebauten, flexibleren Form fortgesetzt.

Ziel war es dabei die wachsende Leistungsfähigkeit der eingesetzten Arbeitsplatz-PCs direkt zu nutzen und sie nicht nur auf Geräte zur Eingabe von Maus und Tastatur mit grafischer Ausgabe zu beschränken. Heraus kam eine neue Variante der Thin Clients, die in Anlehnung an die X-Terminals ”Diskless X-Stations” (DXS) als Kurzwort für ”Diskless Linux Workstations mit grafischer Oberfläche X11” genannt wurden. Dieser wesentliche Entwicklungsschritt bekam daher projektintern die Version 2.0 zuerkannt. Sie wurde in einem weiteren Linux-Magazin-Artikel [6] beschrieben und eine zeit lang unter [W6] unterstützt. Ein gewisser Höhepunkt war die Vorstellung des Projekts auf dem Linuxtag in Stuttgart 2001 vor 250 Zuhörern.

Einer der Projektbeteiligten schrieb im weiteren Verlauf seine Diplomarbeit zum Thema ”Effizienter Betrieb großer Rechnerpools” [W14], die Ende 2001 eingereicht wurde. In diesem Papier wurden eine ganze Reihe von Ideen und Themen rund um Linux Stateless Clients vorgestellt, die zu späteren Projektzeitpunkten weitergeführt und wiederaufgenommen wurden. Dabei ging es um generelle Überlegungen einer datenbankgestützten Steuerung, Inventarisierung und Überwachung von großen Rechnerpools, die nicht zwingend auf Linux Stateless Clients beschränkt war. Die ersten Überlegungen und Implementierungen beinhalteten die automatische Konfiguration der Basisdienste DNS und DHCP, das teilautomatische Server-Setup und die Client-Steuerung. Zudem gab es weitergehende Überlegungen zur Überwachung, Inventarisierung und Kennzeichnung der verschiedenen Client-Typen. Dabei kamen die üblichen Techniken, wie MySQL-Datenbank, PHP-Webinterface oder Nagios und das damals populäre TkInet zur Überwachung zum Einsatz. Anfang 2003 erschien die Arbeit als GwDG-Bericht Nr. 59 [9] und ein aktualisierter Überblick zu DXS Ende 2002 wieder mal im Linux-Magazin [8]. Eine kurze Präsentation zur Anwendung in Arztpraxen erfolgte auf dem Linuxtag 2003 in Karlsruhe.

Mitte 2002 wird die Anwendung der Version 2.0 stark erweitert. Es erfolgt eine Installation in einem neuen Rechnerpool des Mathematischen Instituts in Göttingen und der Einsatz an einem großen Gymnasium in Borken, wo LTSP die lokalen Bedürfnisse nicht optimal befriedigen konnte. In diesem Zusammenhang gab es erste Diskussionen zum Einsatz von VMware als Ergänzung des Linux- Desktops um Windows-Software. Ende des Jahres zieht einer der Projektbeteiligten nach Freiburg um, so dass es ab dann getrennte DXS-Entwicklungen in Göttingen und Freiburg gibt, die jedoch auf den identischen Ideen beruhen.

In Freiburg existierte mit den Net.Points [W15] bereits seit 1996 eine X-Terminal und später DXS Variante für Linux. Deshalb erfolgte die DXS-Weiterentwicklung in dem Augenblick, wo neue Kursräume eingerichtet werden sollten. Diese sollten die alten NT-Pools ablösen, dabei aber möglichst flexibel einsetzbar sein. An dieser Stelle kam das kommerzielle Produkt VMware ins Spiel, welches es erlaubte weitere X86-Betriebssysteme auf einem PC ablaufen zu lassen. Erste Versuche mit VMware und Windows98 hatte es wegen Anfragen aus der Mathematik und Borken bereits gegeben. Mit ähnlichen Ansätzen arbeitete man beispielsweise auch an der GwDG [16]. Mit einigen Tricks, die direkt im Windows-XP ansetzten, gelang es dann 2003 eine erste Variante einer flexiblen Pool-Umgebung vorzustellen. Der getestete und etablierte Zustand wurde dann in [11] beschrieben.

Die Probleme mit der Version 2.0 der DXS hatten gezeigt, dass ein flexiblerer Ansatz mit einer strikten Trennung von Server- und Client-Dateisystem erforderlich wurde. So entstand die Version 3.0, die als Basis für die beschriebenen Weiterentwicklungen für den Kursbetrieb diente. Die Popularität führte zudem in ein Buchprojekt ”Linux-Terminalserver” [10], das Anfang 2004 erschien. Hierin wurden neben dem LTSP-inspirierten X-Terminal-Projekt ”Gonicus”, DXS in Version 3.0 und Überlegungen zum Einsatz von VMware für das Angebot von Windows auf einem Linux-Host, vorgestellt. Gonicus [W16] ist ebenfalls ein Open Source X-Terminal Projekt, was einen speziellen Fokus auf der datenbank-basierten Steuerung von Clients per Web-Interface hat. Einen generellen Überblick zu verschiedenen Thin Client Lösungen mit speziellen Hinweisen zu DXS und LTSP gab die iX 2004 [17]. Aktuelles zu LTSP 5 und ein Hinweis auf den ”Thin Client Manager” gibts in [20].

Die Version 3.0 benutzte zur initialen Einrichtung die InitRD, wie es die meisten Linux-Distributionen schon seit einigen Jahren taten. Der weitere Client-Start war auf die SuSE9.0 abgestimmt und nur bedingt auf andere Linux-Distributionen [W17] oder andere freie Unixes [W18] übertragbar. Die Version 3.0 basierte auf dem Kernel 2.4. Mit weiteren SuSE-Versionen gab es ”mitlaufend” neue Varianten, die auf Kernel 2.6 und dem neuen InitRamFS aufsetzten. Im Zuge der Weiterentwicklungen folgten eine ganze Reihe von Vorträgen [W7] am Rechenzentrum der Universität Mannheim 2004, auf dem Source Talk 2005 in Göttingen, den Chemnitzer Linuxtagen 2005, dem Sommercampus2005 des Instituts für Informatik der Freiburger Universität oder dem Rechenzentrum der Universität Bielefeld 2006. Insgesamt wurde die Version 3.X bis Mitte 2006 fortgeführt und nochmal in [13], [14] und [18] beschrieben. Verschiedene ältere Versionen des Projekts und der unterschiedlichen Anleitungen sind auf [W7] archiviert.

Die Beschränkung auf lediglich eine Linuxdistribution (SuSE) und der Zwang spezielle distributionsspezifische Anpassungen mit jeder neu erscheinenden Ausgabe nachvollziehen zu müssen, führte zur Entwicklung der aktuellen Version 4.0. Sie erhielt im Laufe der Entwicklungen einen neuen Namen, OpenSLX, um sie von den vorherigen SuSE-zentrierten Varianten abzuheben. In diesem Zuge wurde das gesamte Setup-Konzept neu entworfen und deutlich klarer restrukturiert. Dieses erlaubt es weitaus einfacher verschiedene Thin Client und OpenSLX Varianten nebeneinander betreiben zu können. Ein erstes Mal vorgestellt wurde die neue Version auf der LinuxWorldExpo2006 in Köln.


PIC

Abbildung E.1: Klassische Thin-Clients und OpenSLX Workstations


Das OpenSLX-Projekt ist kein eigentliches Softwarepaket im klassischen Sinne oder eine unabhängig lauffähige Mini-Linux-Distribution, sondern eine Sammlung von im Wesentlichen Shell- und Perl-Skripten, die eine Standardinstallation auf Festplatte in eine Installation für den Betrieb quasi beliebig vieler Diskless Clients umwandelt. Das Projekt schafft nur für wenige zentrale, distributionsübergreifende Komponenten eigenen Lösungen, wie die Einrichtung der Hardwareressourcen. Sonst übernimmt es den kompletten Werkzeugkasten, den eine moderne Distribution bereits mitbringt. Damit kann OpenSLX sehr zeitnah auf neue Entwicklungen reagieren, da sie lediglich eine Art ”Wrapper” für eine Distribution schaffen. OpenSLX erfindet die Thin Client Welt nicht unnötig neu, sondern fasst verschiedene lange bekannte Ansätze in einem Projekt zusammen.

Im Rahmen dieser Weiterentwicklungen gab es einige Arbeiten am Lehrstuhl für Kommunikationssysteme in Freiburg, die sich mit transluzenten Dateisystemen [12], der Anpassung auf spezielle Linux-Distributionen oder speziellen Network Block Devices [15] auseinandersetzten.

In Teilen ähnlich wie das OpenSLX-Projekt ist DRBL1 gelagert. Dieser Ansatz arbeitet nicht komplett stateless, sondern nutzt schreibbare NFS-Bereiche auf dem Server, um Per-Client-Konfigurationen abzulegen. Damit diese managebar bleiben und auch eine größere Anzahl von Maschinen noch konfigurierbar bleibt, gibt es Skripts die sich um die Verteilung von Konfigurationsdaten und Paketen kümmern. DRBL unterstützt ähnlich wie OpenSLX eine ganze Reihe populärerer Distributionen. Daneben existieren zudem für einzelne Distributionen, wie Gentoo [W19], Anleitungen für den Diskless Betrieb. Interessant ist hier vielleicht zudem die Nutzung von NFS-Caches und AUFS [19]. RedHat hat ebenfalls die Bedeutung von Stateless Systemen erkannt und mit [W21] ein Tutorial vorgelegt, welches gemeinsame Ideen mit OpenSLX teilt.

OpenSLX kann als zusätzliche Komponente im Netz die Vielfalt der Betriebsmodi eines Clients erweitern. Die Umschaltung zwischen verschiedenen Modi erfolgt zur Bootzeit, da keine aufwändige und zeitraubende Imageverteilung vor (Festplattenaustausch) oder während des Rechnerstarts (Imagecopy) erfolgt. Hierdurch erleidet der Benutzer vor einem OpenSLX-Client keine Zeitverluste beim Start.

Eine Liste von Anwendern findet man auf [W7], Hinweise zu Mailinglisten des OpenSLX Projekts hält [W8] bereit.

E.2 Print

Zum Projekt erschienen inzwischen eine ganze Reihe von Artikeln und eine Monografie. Darüberhinaus gibt es etliche sinnvolle weiterführende Literatur und Quellen.

[1] Ralph Droms, Ted Lemon, The DHCP Handbook: Understanding, Deploying, and Managing Automated Configuration Services, New Riders Publishing, 1999.

[2] Bauer, Günter, ”Über 100 Uni-Rechner im Griff”, NetworkWorld 26. Oktober 2001, Seite 28.

[3] Hantelmann et. al., ”Jenseits des PC’s”, iX 03/2000, Seiten 56 - 68, 130 - 136.

[4] Ritter, Marcel, ”Automatische Installation und Konfiguration von Linux”, Linux-Magazin 09/2001, Seite 97 - 101.

[5] von Suchodoletz, D., ”Gut gebootet, Linux X-Terminals”, Linux-Magazin 08/1999, Seite 101 - 110.

[6] von Suchodoletz, D., ”Thin-Clients - Plattenloser Arbeitsplatz selbstgemacht”, Linux-Magazin 08/2000, Seite 110 - 115.

[7] Kulisch, Meyer, Steffens, ”Ausgetauscht, Linux auf 3000 verteilten Arbeitsplätzen”, iX 03/2002, Seite 40 ff.

[8] von Suchodoletz, D., ”Die Netzstarter, Diskless Clients mit Linux - eine Handlungsanleitung”, Linux-Magazin 01/2003. Seite 74 - 81.

[9] von Suchodoletz, D., ”Effizienter Betrieb großer Rechnerpools, Implementierung am Beispiel des Studierendennetzes an der Universität”, GwDG-Bericht Nr.59 2003.

[10] Kretschmer, Burbach, v. Suchodoletz, ”Linux-Terminalserver”, Galileo Press GmbH, Bonn 2004.

[11] v. Suchodoletz, ”Linux Diskless Clients - eine Effizienzsteigerung im Kursbetrieb”, PIK 04/2004. Seite 246-250.

[12] v. Suchodoletz, Zitterell, ”Hochstapler - Überlagerte Dateisysteme in der Praxis”, Linux-Magazin 10/2005. Seiten 34 - 41.

[13] v. Suchodoletz, ”Linux vom Netz - Sicherheitsplus: PC ohne Harddisk und DVD”, Linux INTERN 03/2006. Seiten 93 - 95.

[14] v. Suchodoletz, ”Völlig losgelöst - Terminalserver mit Linux und PXE”, Linux INTERN 03/2006. Seiten 96 - 99.

[15] v. Suchodoletz, Zitterell, ”Netzwerk-Blockdevices - Performante und effiziente Read-only-Fileserver mit NBD statt NFS & Co.” Linux-Magazin 07/2006. Seiten 70 - 79.

[16] Schwardmann, Ulrich, ”Für Kurse Windows von der Stange”, PIK 03/2004, Seiten ...

[17] Kretschmer, Bernd, ”PC-Alternative: Thin Clients”, iX 07/2004, Seiten 74-80.

[18] Dieter Spath, Klaus Haasis (Hrsg.), ”Linux Diskless Clients” in Tagungsband zum Software-Forschungstag am 18. November 2003, Band 1; Seite 261-275.

[19] Wilhelm Meier, Andreas Bandner, Thorsten Kockler, ”Gestapelte Files”, Linux-Magazin 09/2007. Seiten 56 - 60.

[20] Christian Kroll, ”Einer für alle - Terminalservices für Edubuntu und LTSP 5”, Linux-Magazin 09/2007. Seiten 40 - 48.

E.3 Web

Für einige ältere Web-Links, die eher aus historischem Interesse der Entwicklung dieses Themas angefügt sind, kann es sinnvoll sein die ”Way-Back-Machine”, ein internationales Web-Archiv2 aufzusuchen.

[W1] http://www.thinguin.org - Portal zu Linux Diskless Client Projekten

[W2] http://www.rom-o-matic.net - Erstellen von Boot-ROM-Images des freien Etherboot-Projektes (siehe hierzu [W3]) per Webinterface

[W3] http://etherboot.sourceforge.net - Homepage des freien Boot-ROM-Projektes Etherboot/gPXE

[W4] http://netboot.sourceforge.net - Homepage des Netboot-Projektes (nicht mehr fortgesetzt. War in bestimmten Fällen eine Alternative zu Etherboot oder PXE)

[W5] http://www.ltsp.org - Das Linux Terminal Server Project, eines der ältesten und aktivsten Linux Thin Client Projekte

[W6] http://ldc.goe.net - Ursprüngliche Homepage des DXS Projektes in der Version 2

[W7] http://www.ks.uni-freiburg.de/projekte/ldc - DXS Projekt an der Universität Freiburg (Lehrstuhl für Kommunikationssysteme). Auswahl von Vorträgen an verschiedenen Rechenzentren oder auf Kongressen zum Thema Linux Diskless Clients, Stateless und Virtual Workstations.

[W8] http://www.openslx.org - Homepage des OpenSLX Projeks, welches die Weiterentwicklung des DXS-Projektes in der Version 4 ist

[W9] http://www.ks.uni-freiburg.de - Studienarbeit zu Diskless-Debian Workstations von Philipp Michels

[W10] http://www.2x.com/pxes - PXES - Thin Client Projekt ähnlich zu ThinStation

[W11] http://thinstation.sourceforge.net - Thin Station Project, Thin Client Projekt zur Unterstützung aller wichtigen Terminal-Server-Protokolle, wie Citrix ICA, NoMachine NX, 2X ThinClient, MS Windows Terminalservices (RDP), Cendio ThinLinc, Tarantella, X, Telnet, tn5250, VMS Term und SSH

[W12] http://drbl.sourceforge.net - DRBL - Diskless Remote Boot in Linux (National Center for High Performance Computing Taiwan)

[W13] http://syslinux.zytor.com - Syslinux ist eine ganze Klasse von Bootloadern für Linux und andere Betriebssysteme. Die PXElinux-Komponente erlaubt es komfortable Auswahlmenüs zum Booten verschiedener Systeme bereitzustellen.

[W14] http://www.stud.uni-goettingen.de/ dsuchod/dgsvgr - Online-Version von 9.

[W15] http://portal.uni-freiburg.de/rz/dienste/net.point - Freiburger Net.Points, eine spezielle, nicht allgemein verbreitete Diskless Linux Alternative zu OpenSLX.

[W16] http://www.gonicus.org - Ist ein X-Terminal Projekt, dass eine komfortable Konfigurations- und Steuerungsschnittstelle bietet.

[W17] http://www.ks.uni-freiburg.de/php_arbeitdet.php?id=44 - Debian-Portierung der DXS Version 3.0.

[W18] http://www.ks.uni-freiburg.de/php_arbeitdet.php?id=78 - Studie einer FreeBSD-Portierung von DXS/OpenSLX.

[W19] http://www.gentoo.org/doc/en/diskless-howto.xml - Diskless Howto für Gentoo Linux.

[W20] http://www.faqs.org/docs/Linux-HOWTO/Diskless-HOWTO.html - Allgemeine, breit angelegte Erläuterungen zu Diskless Linux.

[W21] http://people.redhat.com/dmalcolm/stateless/stateless-linux-HOWTO-en - Stateless Linux Überlegungen für RedHat Linux Systeme. Dieses Konzept wurde 2003 auf dem Linux-Park der Cebit vorgestellt.