Kapitel 1
Überblick

Dieses Handbuch beschreibt das OpenSLX-Projekt. Hierbei handelt es sich um GPL-Software, die es erlaubt festplattenlose Linux-Workstations einfach zu installieren, stateless zu betreiben und leicht zu administrieren. Das Projekt basiert auf Entwicklungen, die an der Universität Göttingen begannen und am Rechenzentrum der Universität Freiburg in erster Linie für den Betrieb von Pool- und Kursräumen weitergeführt wurden. Inzwischen wird das Projekt von einem verteilten Entwicklerteam betreut.

Diese Projektbeschreibung bezieht sich auf die aktuelle Version 4.0.6. Dabei kann es jedoch vorkommen, dass Teile der Dokumentation bereits überholt sind. Zusätzliche aktuelle Informationen finden sich zudem auf der Projekt-Homepage.1

1.1 Aufbau der Dokumentation

Der erste Teil gibt eine kurze Einführung und Motivation sich mit dem festplattenlosen, bzw. dem netzwerkbasierten Betrieb von Linux-Workstations zu beschäftigen.

Verschiedene Entwicklungslinien, die zur Ausformung dieses Projektes führten, werden im zweiten Kapitel dieses Handbuches ausgeführt. Dabei wird gleichzeitig auf alternative Ideen und ihre Einschränkungen bzw. Praxistauglichkeit eingegangen. In weiteren Kapiteln wird das Setup des oder der OpenSLX-Server und die notwendigen Kommunikationsprotokolle eingegangen. Folgende Abschnitte widmen sich der Anpassung verschiedener Linux-Distribution an eine festplattenlose Umgebung. Diese Anpassung geschieht an verschiedenen Stellen der Installation und wärend des Betriebes der Clients. In diesem Zusammenhang werden alle wesentlichen Skripten soweit sinnvoll eingehend erörtert.

Ein eigener Abschnitt widmet sich zusätzlich dem Einsatz von Virtualisierungslösungen unter Linux allgemein und auf OpenSLX-Clients im speziellen. Durch die Kombination der virtuellen PC-Software mit dem hier vorgestellten Rechnerbetriebsmodell können Kursraumumgebungen, einfach wartbare Windowssysteme und flexible virtuelle Workstations aufgebaut werden.

1.1.1 Automatisierung und Rationalisierung

Fast alle Arbeitsabläufe, die in der modernen Arbeitswelt vorkommen, sind in irgendeiner Form mit Computern und Computernetzen verknüpft. Damit verbunden ist ein Wachstum bei der Ausdehnung von Rechnerarbeitsplätzen, wodurch die Aufgabe des Betriebes dieser Netze immer umfangreicher wird. Neben Personal, das Wartungs- und Routinearbeiten an Rechnern, ihren Komponenten und im Netzwerk durchführt, erfordert der Betrieb größerer IT-Infrastruktur eine ständig steigende Anzahl von Experten.

Aus Gründen der Kostenersparnis erfreuen sich in den vergangenen Jahren Software-Werk-zeuge einer wachsenden Beliebtheit, die das Personal bei den Routinearbeiten der Einrichtung und des Betriebs von Rechnernetzen unterstützen. Einen entscheidenden Ansatz zur Vereinheitlichung und Automatisierung des Rechnerbetriebes bilden Thin-Clients. Dieser Rechnertyp versucht durch Reduktion der Hardware und durch Zentralisierung im Betrieb Kosten in mehreren Dimensionen zu reduzieren. Unterstützt werden kann dieser Ansatz durch die Verwendung des Betriebssystems Linux. Diesen Bereich füllt das hier vorgestellte Thin-Client-Projekt aus. Das Projekt selbst blickt inzwischen auf eine längere Entwicklungsgeschichte zurück. Die Erfahrungen hieraus sind in ein Kapitel eines Buches zu Linux-Terminaldiensten ([9]) eingeflossen. Einen kurzen geschichtlichen Abriss zu den Ideen, Inspirationsgebern und Vorversionen liefert Abschnitt E.1.

1.2 Grundsätzliche Motivation für Linux Stateless Clients

Viele Standardanwendungen benötigen nicht Rechen- und Grafikleistung einer High-End-Workstation. Es geht stattdessen verstärkt um die Ergonomie des Arbeitsplatzes. Ein Recherchesystem sollte in lärmsensiblen Bereichen, wie z.B. Bibliotheken, Großraumbüros oder Arztpraxen wenig Geräusche erzeugen. Da auf Wechsellaufwerke in solchen Umgebungen in den meisten Fällen verzichtet werden kann, erreicht man sehr kompakte Bauformen, die sich durch geringen Platzbedarf und einen reduzierten Leistungsverbrauch auszeichnen.

Das OpenSLX schlägt in diesem heterogenen Umfeld eine Brücke: Leistungsarme Mini-PC, spezielle Thin Client Bauformen und ältere Standardmaschinen können ebenso wie normale Arbeitsplatz-Rechner und High-Performance-Workstations effizient als OpenSLX Clients betrieben werden.

Soll eine größere Zahl von Rechnern mit ähnlichen Aufgabenstellungen betrieben werden, so will ein Administrator nicht jede Maschine einzeln installieren und anschliessend warten. Darüberhinaus will man erreichen, die Geräte je nach Anwendungszweck möglichst ”schlank”2 zu halten. So sollen Anschaffungskosten reduziert und die Energieaufnahme und Lärmabstrahlung minimiert werden.


PIC

Abbildung 1.1: Moderne PCs im OpenSLX-Betrieb an der Universität Freiburg


Die netzwerkseitigen Voraussetzungen für den reibungslosen und performanten Betrieb von Linux Thin-Clients sind mit der Existenz leistungsfähiger Ethernet-Installationen gegeben. 100 Mbit-Installationen gehören inzwischen zum Standard oder werden bei der Umrüstungen von Netzwerken als Minimalforderung angestrebt. Gigabit-Ethernet findet sich bereits in der Backbone-Infrastruktur, aktuelle Midrange- und High-End-Systeme verfügen bereits über Gigabit-Interfaces. Diskless X-Stations generieren eine nicht unerhebliche Netzwerklast, die über dem gewohnten klassischer autonomer Workstations liegt. Diese wird jedoch nur in recht seltenen Spitzen zu Engpässen im LAN führen.

1.3 Einsatzgebiete von OpenSLX-Clients

Es gibt eine breite Palette von Anwendungen für OpenSLX Linux Diskless Clients. Überall da, wo es auf eine einheitliche Installation sehr vieler gleichartiger Geräte ankommt, sind die klassischen Methoden von Installation und Softwareverteilung nicht immer die optimalsten.

Im folgenden werden einige mögliche Einsatzszenarien näher beleuchtet. Wie Clients für diese Szenarien konfiguriert werden, ist in Abschnitt 6.5 dargestellt.

1.3.1 Linux-Workstation in kleineren Umgebungen

Der Aufwand der Einrichtung und Wartung von Diskless Workstations lohnt sich bereits in Umgebungen mit drei bis fünf Linux-Workstations, wie sie in kleineren Büros, Kanzeleien oder Arztpraxen vorkommen können. Die Hardware-Anforderungen an Clients und Server sind dabei nicht besonders hoch:

In einer solchen Umgebung werden mit hoher Wahrscheinlichkeit alle Clients im identischen Modus betrieben. Besondere Einstellungen für einzelne Geräte sind nicht nötig. Damit reduziert sich der Setup-Aufwand auf eine einmalige Einstellung und den Austausch weniger Parameter beim Wechsel von Geräten.

Der Aufwand für die zusätzlichen Services ist nicht hoch: Ein DHCP- und TFTP-Server benötigen kaum zusätzliche Leistung, ein NFS-Server ist oft schon konfiguriert.

In solchen Umgebungen findet man je nach Alter der Installation Authentifizierung der Benutzer via NIS, WINS oder LDAP und die Bereitstellung von Home-Verzeichnissen via NFS. Das stellt keine besonderen Herausforderungen an die Diskless Clients.

1.3.2 Linux-Workstation in großen Büroumgebungen

Inzwischen gibt es einige Projekte Linux in großen Installationen auf dem Desktop einzuetzen. Damit dieser Einsatz einen möglichst geringen Pflegeaufwand generiert, bieten sich hier Diskless Lösungen an: Die Arbeitsabläufe und Applikationen in solchen Umgebungen sind oft sehr ähnlich, so dass eine gemeinsame Installation Sinn macht. Selbst in unterschiedlicheren Setups lassen sich Unterschiede, wie differierender Programmumfang oder Zugriffsrechte auf Applikationen, recht einfach mittels verschiedener Unions3 realisieren.

1.3.3 Robuste Arbeitsplätze in Bildungseinrichtungen

Schulungsunternehmen, Universitätsrechenzentren, generell Bildungseinrichtungen mit Computereinsatz kennen das Problem: Sehr unterschiedliche Benutzergruppen, die teilweise recht schnell wechseln arbeiten an Rechnern, deren Installation je nach Inhalt der Veranstaltung angepasst sein sollte. Zudem soll vermieden werden, dass (böswillige) Änderungen, von Vornutzern sich nicht auf die jeweilige Verwendbarkeit einer Maschine in nachfolgenden Veranstaltungen durchschlagen. Diskless bzw. Stateless Clients kommen diesen Anforderungen stark entgegen. Nach dem jeweiligen Neustart einer Maschine ist konfigurationsmässig der Ausgangszustand wiederhergestellt.

Durch eine Erweiterung um Virtualisierungslösungen, wie VMware, kann ein Linux Diskless System zudem Basis für sehr flexible Betriebsmodelle werden. So kann beispielsweise durch Einsatz verschiedener Installationen in virtuellen Maschinen für eine veranstaltungsspezifische Anpassung gesorgt werden. Dann melden sich die Benutzer zwar am Linux-System an, bekommen aber je nach Einstellung unterschiedliche Sessions, beispielsweise WindowsXP mit einer bestimmten Software-Ausstattung, angeboten. Diese Überlegungen behandelt der Anschnitt ?? ausführlich.

1.3.4 Wiederverwendung leistungsarmer Alt-Hardware

In einigen Bereichen stehen nicht genügend finanzielle Mittel zur Verfügung die Rechnerausstattung in kurzen Zyklen auszutauschen. So sind oft noch sehr alte Maschinen, beispielsweise aus Spenden, im Einsatz. Dann bietet es sich an, solche Geräte als X-Terminals zu benutzen. Für diese Zwecke kann man das LTSP-Projekt verwenden oder wenn man einen flexibleren Nutzungsansatz wünscht, sie als OpenSLX Clients betreiben. Das erlaubt dann auch die gesamte Palette an installierten Applikationen, die eine Distribution zu bieten hat, lokal auszuführen.

Viele solcher Altgeräte verfügen u.U. noch nicht über PXE. Sie lassen sich oft recht gut mit Etherboot4 nachrüsten.

1.3.5 Compute-Cluster

OpenSLX Clients eignen sich hervorragend als Grundlage für Cluster-Systeme: Diese werden oft auf großen Anzahlen identischer Hardware aufgesetzt und gemeinsam gesteuert. Hier kommt es darauf an, dass alle Systeme möglichst identisch betrieben werden und die Administration der Einzelmaschine nicht ins Gewicht fällt. Das gilt ebenfalls für die sukzessive Erweiterung solcher Cluster um neue Maschinen.

Die Hardware-Ausstattung der Clients genügt in jedem Fall. Die Systeme sollten über PXE-Unterstützung verfügen, was aber inzwischen der Standard ist.

1.3.6 Kiosk- und Präsentationssysteme

Für Konferenzen, Messen, Produktpräsentationen hat man häufig die Aufgabe einem einigermassen definierten Benutzerkreis einen grafischen Desktop zu Verfügung zu stellen. Aufgabe könnte einerseits die Produktpräsentation in verschiedenster Form online im Browserfenster oder als Applikation sein. Andererseits benötigt man häufig Surf-Stationen und Kommunikationsterminals, an denen sich Besucher nicht erst lange anmelden sollen. Hierzu eignen sich Diskless Clients als robuste Grundlage, da ihre Zahl schnell zu skalieren ist und bei Problemen ein Reboot schnell für die Herstellung des Ausgangszustands sorgt.

Für dieses Einsatzszenario eignen sich auch Laptops gut: Diese sollten über die PXE-Bootfähigkeit verfügen, was aber bei allen aktuellen Modellen der Fall ist.

1.3.7 Zukunft: Wireless Pools

Wenn man schon dabei ist für wie auch immer geartete Pools Laptops einzusetzen, die ja mit eigener Stromversorgung eigentlich auch kabelungebunden arbeiten können, wäre der nächste Schritt auch die Netzwerkverbindung drahtlos zu gestalten. An dieser Stelle sind zwei Überlegungen wichtig:

  1. WLANs sind ”Shared Mediums”, d.h. vergleichbar mit dem alten 10Base5 oder 10Base2 Ethernet: Wenn eine Station sendete, mussten alle anderen schweigen, was die verfügbare Bandbreite trotz nomineller 54 MBit/s5 stark reduziert.
  2. Bisher hat sich PXE nur für den festplattenlosen Start über drahtgebundente Ethernets durchgesetzt, hier fehlt noch eine vergleichbare Lösung für Funknetze.

1.4 Designüberlegungen

Es existieren verschiedene Ansätze, um Thin-Clients zu realisieren. Die Spannweite reicht von sehr kompakten Komplettgeräten, die mit stark integrierten Mainboards, Notebookfestplatten und Slimline-Laufwerken arbeiten, über Maschinen mit einer kleinen bis größeren Solid-State-Disk, die ein Minimal-Betriebssystem enthalten, bis zu Geräten, die nur über ein kleines Boot-ROM verfügen.

Einen Pluspunkt der mit Festplatte, Solid-State-Disks oder Compact-Flash ausgestatteten Maschinen stellt die größere Netzwerkunabhängigkeit während des Bootvorganges und zum Teil während des späteren Arbeitens an diesem Arbeitsplatz dar. Da zumindest das Betriebssystem bzw. zentrale Applikationen lokal installiert sind, bleiben diese auch bei Störungen des Netzwerkbetriebes nutzbar. Bei einer zunehmenden Zahl von Maschinen steigt jedoch neben den Hardwarekosten der Aufwand bei Updates und Rekonfigurationen. Weiterhin sollte das Wachstum des Software-Umfanges nicht unterschätzt werden, das recht schnell dazu führt, dass vorhandene Festspeicherkapazitäten nicht mehr ausreichen und nur ein unbefriedigender Softwareumfang realisiert werden kann.

Ein wesentlicher Vorteil einer Boot-ROM-Lösung liegt in ihrem geringen Hardware-Aufwand und im Verzicht auf teurere Spezialteile. Mainboards mit Sockeln für Solid-State-Disks oder CF-Anschlüssen6 kosten mehr als klassische Standardhardware. Die Wahrscheinlichkeit eines notwendigen Softwareupdates und des Ausfalls wichtiger Komponenten liegt in dieser Ausprägung am niedrigsten. Die Komponenten benötigen eine Minimalsoftware mit einer als gering einzustufenden Update-Frequenz. Die Administration erfolgt in dieser Ausprägung nach erfolgreicher Hardwareinstallation ausschließlich auf Serverseite. Das Boot-ROM-Konzept blickt auf eine lange Tradition zurück und hat sich ausserordentlich gut bewährt. Die Verlagerung der gesamten Software auf Server im Netzwerk erhöht zwar die Anfälligkeit gegenüber Netzwerkstörungen. Diese ist jedoch im Verhältnis zu notwendigen Softwareupdates und generell höherem Koordniationsaufwand ”intelligenterer”, d.h. besser ausgestatteter, Maschinen und ihrer Besonderheiten als gering einzuschätzen.

Neben den Dimensionen des Einsatzzweckes und der Softwareausstattung der Thin-Clients wird man sich mit den Aspekten unterschiedlicher Hardware auseinandersetzen müssen. Da selten alle Maschinen zu einem einheitlichen Zeitpunkt beschafft, bzw. selten einheitlich repariert und erweitert werden können, sollte das Betriebssystem der Thin-Clients mit einer gewissen Bandbreite verschiedener Ausstattungen umgehen können. Dieses betrifft klassische Komponenten, wie Grafik-, Sound- und Erweiterungskarten, Mäuse und Monitore, sowie verschiedenste vorhandene Peripheriegeräte an unterschiedlichen Schnittstellen.

1.5 Aufbau der Dokumentation

Der erste Teil gibt eine kurze Einführung und Motivation sich mit dem festplattenlosen, bzw. dem netzwerkbasierten Betrieb von Linux-Workstations zu beschäftigen.

Verschiedene Entwicklungslinien, die zur Ausformung dieses Projektes führten, werden im zweiten Kapitel dieses Handbuches ausgeführt. Dabei wird gleichzeitig auf alternative Ideen und ihre Einschränkungen bzw. Praxistauglichkeit eingegangen. In weiteren Kapiteln wird das Setup der LDC-Server und die notwendigen Kommunikationsprotokolle eingegangen. Folgende Abschnitte widmen sich der Anpassung verschiedener Linux-Distributionen an eine festplattenlose Umgebung. Diese Anpassung geschieht an verschiedenen Stellen der Installation und wärend des Betriebes der Clients. In diesem Zusammenhang werden alle wesentlichen Skripten soweit sinnvoll eingehend erörtert.

Ein eigener Abschnitt widmet sich zusätzlich dem Einsatz von VMware unter Linux allgemein und auf Diskless X-Stations im speziellen. Durch die Kombination der virtuellen PC-Software mit dem hier vorgestellten Rechnerbetriebsmodell können Kursraumumgebungen und einfach wartbare Windows-Systeme aufgebaut werden.