wiki:Dokumentation/LinuxAmHSG
Last modified 6 years ago Last modified on 10/12/14 17:38:13

Linux am HSG

Autor: Andreas Teuchert <ant+hsglinux@unix-ag.uni-kl.de>

Diese Seite widmet sich den technischen Aspekten des HSG-Linux. Sie soll die Erfahrungen der Netzwerkbetreuer bei der Umstellung von Windows auf Linux und ihre Motivation dazu dokumentieren.

Motivation

Auf dem Server im HSG läuft seit 2003 Debian GNU/Linux. Gründe für den Einsatz von Windows NT4/2000 auf den Clients waren:

  • Viele Benutzer (und teilweise auch die EDV-Verantwortlichen) sind Windows von zu Hause gewohnt
  • Viele Programme für den Unterrichtseinsatz sind nur für Windows verfügbar
  • Linux-Desktops mangelte es an Lokalisierung und benutzerfreundlichen Oberflächen

Jedoch ist die Pflege von Windows-Installationen auf über hundert Rechnern mit unterschiedlicher Hardware-Austattung kaum auf adäquate Weise von einem Team aus zwei bis drei Betreuern zu erbringen. Zum Klonen der Windows-Installation kam eine kommerzielle, netzwerkfähige Imaging-Software zum Einsatz und Manipulationen an der lokalen Installation wurden durch Wächterkarten erfolgreich verhinden. Prinzipiell sollte die Pflege aller Rechner im Schulnetz dadurch nicht wesentlich aufwendiger als die Pflege eines Rechners und eine einheitliche Softwareausstattung gewährleistet sein.

In der Praxis zeigten sich jedoch schnell die Unzulänglichkeiten dieses Systems. Das Klonen von Rechnern mit unterschiedlicher Hardware war nicht möglich, da Windows 2000, je nachdem wie groß der Unterschied ist, nur mit einigen Mühen bis gar nicht auf geänderter Hardware zum Laufen zu bringen ist. Am HSG sind aktuell sechs verschiedene Rechnertypen im Einsatz. Durch veränderte Hardware nach Defekten oder besondere Peripherie (Scanner, Beamer, etc.) weichen einige Rechner von der Standard-Konfiguration ab und bedürfen nach dem Klonen einer manuellen Anpassung. Die Divergenz der auf den einzelnen Rechnern installierten Software wurde daher mit der Zeit immer größer.

Probleme bereitete auch die verwendete Imaging-Lösung. Obwohl diese (auch preislich) für wesentlich größere Netzwerke ausgelegt war, kam es beim Übertragen der Images häufig zu Verbindungsabbrüchen oder einer extremen Verlangsamung der Übertragung, sodass die Rechner-Installationen manchmal erst nach mehreren Stunden, während denen die Übertragung mehrfach neu gestartet werden musste, aktualisiert waren. Dies widerspricht dem Wunsch, die Software-Konfiguration von Rechnern schnell und unbeaufsichtigt aktualisieren zu können.

Nach sieben Jahren, während denen Hunderte von Programmen und diverse Treiber für geänderte Hardware installiert wurden, lässt sich die Windows-Installation nur noch sehr zäh benutzen. Vom Starten des Rechners bis zum Starten eines Programms vergehen mehrere Minuten. Da zwischenzeitlich drei neue Windows-Versionen erschienen sind, wird dem Benutzer durch Windows 2000 in der Regel auch keine gewohnte Oberfläche mehr geboten. Zudem war die Benutzung von über WLAN angebunden Laptops mit Windows sehr unkomfortabel, da es nach dem Booten bis zu fünf Minuten dauerte, bis das Netzwerk eingerichtet war und man sich anmelden konnte. In Einzelfällen war auch ein Neustart nötig, was die Zeit bis man arbeiten konnte, inakzeptabel lang werden ließ.

Da die Unterstützung von Windows 2000 sowohl durch Microsoft als auch durch viele Programmhersteller eingestellt wurde, und das bestehende Windows-System sich immer weiter an die Unbenutzbarkeit und Unwartbarkeit annäherte, war eine Umstellung unvermeidbar. Bei der Entscheidung, ob das neue System ein aktuelles Windows (zu diesem Zeitpunkt war XP im Gespräch) oder Linux sein sollte, spielten auch die Erfahrungen der letzten Jahre eine wichtige Rolle.

Den Beteiligten war klar, dass durch eine Umstellung auf Windows XP hohe Lizenzkosten verursacht werden würden. Zudem war eine harte Umstellung unvermeidbar, da eine gleichzeitige Installation von Windows 2000 und XP durch die Partitionierung der Festplatten, welche aufgrund der Wächterkarten nicht verändert werden konnte, nicht möglich war. Auch war das Klonen von XP-Installationen durch die Anti-Piraterie-Bemühungen von Microsoft nicht mehr so leicht möglich wie mit Windows 2000. Der anfänglich ordentliche Zustand des Systems, der sich durch die zwangsweise Neuinstallation ergeben hätte, wäre nach einigen Jahren wieder dem von der alten Windows-2000-Installation bekannten gewichen.

Eine Umstellung von Windows 2000 zu Windows XP wäre also mit hohen Kosten, einer Menge Arbeit für die Adminstratoren und Unannehmlichkeiten für die Benutzer, die sofort auf das neue System hätten umsteigen müssen, verbunden gewesen. Zudem war absehbar, dass sich das neue System in einigen Jahren im gleichen Zustand wie das jetzige befunden hätte. Daher rückte eine lange Zeit wenig beachtete Alternative in das Interesse der Verantwortlichen.

Parallel zu dem installierten Windows 2000 war auf den Rechnern in den Computerlaboren auch Debian über Netzboot benutzbar. Dies begründete sich dadurch, dass die Administratoren privat Linux verwendeten, und daher auch gerne Linux in der Schule verwendet hätten. Linux über das Netzwerk zu laden, war die einzige Möglichkeit dies zu realisieren, da die Festplatten schon mit Windows, das weiter verwendbar sein sollte, belegt war.

Aufgrund der Tatsache, dass die Pflege der Windows-Installation einen Großteil der Zeit beanspruchte, fristete das Netzboot-Linux immer ein Schattendasein. Es war aber nicht zu übersehen, dass Linux auf dem Desktop immer größere Fortschritte machte, auch für nicht-englischsprachige Benutzer benutzbar wurde und viele Windows-Programme dank Wine auch unter Linux verwendet werden konnten. Zudem fand zunehmend auch unter Windows eine Umstellung auf freie Software statt. OpenOffice statt Microsoft Excel, Mozilla Firefox/Thunderbird statt Internet Explorer und Outlook und GIMP statt Corel Paint Shop oder Adobe Photoshop sind nur einige konkrete Beispiele aus dem Alltag am HSG.

Konzept

Anforderungen

Dual-Boot

Das auf den Rechnern bereits installierte Windows 2000 sollte auch weiterhin benutzt werden können, um den Benutzern einen weichen Übergang zu ermöglichen.

Ein System für alle

Durch die Schwierigkeiten beim Klonen der Windows-Installation unterschied sich die Software-Ausstattung der einzelnen Rechner sehr stark. Dieser Mangel sollte behoben werden, sodass Benutzer an jedem Rechner die gleiche Software vorfinden.

Anbindung von Laptops über WLAN, Festinstallationen

Die über WLAN angebundenen Laptops sollten auch mit Linux benutzbar sein. Dazu muss dieses natürlich auf der lokalen Festplatte installiert sein (Netzboot über WLAN ist da eine sehr theoretische Alternative). Da die bisher verwendete Klon-Lösung sich als ungeeignet erwiesen hat, wird ein neues System benötigt, das Installationen zuverlässig auf viele Rechner verteilen kann. Um dem „Ein System für alle“-Prinzip zu entsprechen, sollte auf den Laptops das gleiche System installiert sein, das auch auf den Netzboot-Clients zum Einsatz kommt.

Ein Live-System, das von den Benutzern auch zu Hause verwendet werden kann

Es entspricht den Tatsachen, dass viele Benutzer zu Hause Windows verwenden. Um sich auf den Unterricht vorbereiten zu können oder einfach nur unverbindlich Linux auszuprobieren, sind Live-Systeme sehr nützlich und heutzutage auch kein Hexenwerk mehr. Es ist aber zu beachten, dass ein Live-System für zu Hause andere Einstellungen benötigt, als das in der Schule verwendete System (Proxy, Zugriff auf den Fileserver, etc.). Außerdem lassen sich unfreie Programme, die in der Schule auch weiterhin Verwendung finden, selten auf legale Weise an Benutzer weitergeben. Es wird also eine Lösung benötigt, die die Erstellung eines Systems für die Verwendung in der Schule als auch eines, in gewissen Punkten davon abweichenden, Systems für zu Hause ermöglicht (Stichwort: modulare Konfiguration).

Technik

Historisch

Das ursprüngliche Netzboot-Linux (ca. 2005) bestand aus einem NFS-Root auf dem Server, das von einer selbstgeschriebenen Initrd gemountet wurde und mittels Unionfs schreibbar gemacht wurde. Diese Lösung hatte den Vorteil, dass das NFS-Root auf dem Server direkt von den Clients verwendet wurde, Software also während dem Betrieb installiert werden konnte und sofort auf den Clients verfügbar war. Basis dieses Systems war Debian Sarge mit Kernel 2.6.8.

Die Umstellung auf Debian Etch brachte mit Kernel 2.6.18 auch udev mit, das hotplug ablöste. Dies führte zu dem Problem, dass die Initrd aufwendig hätte angepasst werden müssen. Da eine möglichst wartungsarme Lösung angestrebt wurde, sollte, soweit möglich, das Standard-Debian-Initramfs verwendet werden. Tatsächlich ist dort Booten von NFS vorgesehen, allerdings fehlt es an einer Möglichkeit, das NFS-Root über ein Unionfs schreibbar zu machen. Zudem war das Laden eines vollausgestatten Linux-Systems über NFS mit Geschwindigkeitseinbußen verbunden. Es folgten daher Experimente mit NBD und Copy-on-write (in Form von Cowloop), die jedoch nicht zu einem stabilen System führten (das Hauptproblem war, dass die Größe des Dateisystems durch das NBD-Volume vorgegeben war, tatsächlich aber wegen dem sehr viel kleineren Copy-on-write-Volume wesentlich weniger Daten geschrieben werden konnten, was zu Abstürzen der Clients nach einer gewissen Laufzeit führte), das ohnehin eine Sonderlösung gewesen wäre, die aufwendig an neuere Debian-Versionen hätte angepasst werden müssen.

Ein neuer Impuls wurde durch das Debian-Live-Projekt gegeben. Zu dieser Zeit, ein paar Monate vor dem Release von Debian Lenny, bot Debian Live die Möglichkeit, Live-Systeme zu erstellen und von Festplatte, USB-Stick, CD/DVD oder Netzwerk zu booten. Dazu wurde das Debian-Initramfs um spezielle Skripte zur Handhabung von Live-Systemen (Laden des Dateisystems, Schreibbarmachen durch Unionfs/aufs, Konfiguration des Systems zur Nutzung als Live-System) erweitert. Dieses System ist so flexibel, dass es sogar verwendet werden kann, um normale Debian-Installationen ohne spezielle Anpassung über das Netzwerk zu booten. Trotz des Overheads von NFS halten sich die Geschwindigkeitseinbußen dabei durch das komprimierte Dateisystem Squashfs in Grenzen. Auch das Erstellen von USB-Sticks, die das Live-System zu Hause nutzbar machen, ist möglich. Von Vorteil ist auch die Tatsache, dass es offiziell Teil von Debian ist und von einer großen Gemeinschaft gepflegt wird. Die Eigenschaft von Live-Systemen, dass alle Änderungen beim Herunterfahren des Systems verworfen werden, hat auch den Vorteil, dass auf den Clients beliebige Experimente durchgeführt werden können und durch einen einfachen Neustart wieder ein funktionierendes System zur Verfügung steht. Bei Bedarf kann beim Booten auch angegeben werden, dass die Änderungen auf einen angeschlossenen USB-Stick gespeichert werden sollen, sodass diese auch einen Neustart überstehen können.

Während die Debian-Entwickler am Release von Lenny arbeiteten, entstand so im HSG ein stabiles, benutzbares und aktuelles Linux-System, das auf allen Desktop-Rechnern in der Schule über das Netzwerk geladen und verwendet werden konnte. Mit dem Release von Lenny wurde auch das HSG-Linux erwachsen. Zwar wurde noch haupsächlich Windows verwendet, eine Umstellung auf Linux aber vorangetrieben.

Es zeigte sich, dass auch die Anforderung, Laptops über WLAN anzubinden, erfüllt werden konnte. Die Unterscheidung, ob das System über das Netzwerk oder von der lokalen Festplatte geladen wird, ist möglich, sodass für beide Szenarien das gleiche Image verwendet werden konnte. Auch das automatische Konfigurieren von WLAN-Verbindungen bei vorhandener Hardware ist machbar. Im Vergleich zu Windows fielen nicht nur die wesentlich kürzeren Boot-Zeiten positiv auf, sondern es war auch ein deutlicher Fortschritt, dass eine Anmeldung auch bei über WLAN angebunden Laptops sofort nach dem Start möglich war.

Zur Einrichtung des Systems auf den Laptops wurde ein eigenes Live-System entwickelt, das sich nach dem Starten eine Liste mit Aufgaben (in Form von Shell-Skripten) vom Server lädt und diese ausführt. Da adminstrative Aufgaben unter Linux generell auf der Konsole erledigt werden, sind alle zur Einrichtung eines Systems nötigen Schritte auf diese Weise mit wenig Aufwand zu automatisieren. Neben den üblichen Aufgaben, wie Partitionieren von Festplatten, Erstellen von Dateisystemen und Einrichten von Swap sind auch beliebige andere Anwendungen machbar. So erwies sich das System beim Einsammeln von MAC-Adressen neuer Rechner als unheimlich praktisch. Zum effizienten Verteilen der inzwischen über zwei Gigabyte großen Dateisystem-Images wurde eine Programm zur Übertragung von Dateien über Multicast gesucht. Aufgrund der Netzwerkstruktur im HSG muss dieses auch über Netzwerkgrenzen hinweg funktionieren. Diese Anforderung wird von dem von Dennis Bush entwickelten UFTP erfüllt. Nach der Integration dieses Programms in das Installations-Systems war eine vollständige, unbeaufsichtigte Installation von Rechnern durch einfaches Booten des Systems über Netzwerk innerhalb von Minuten möglich.

Nach der Anschaffung von 20 Thinkpads R500 Ende 2009 zeigte sich, dass eine Nutzung von Debian Lenny mit bestimmter moderner Hardware, die in diesen Laptops verbaut war, nicht ohne Weiteres möglich ist. Versuche, bestimmte Pakete, wie den Kernel und X-Server aus Debian testing zu verwendeten, erwiesen sich nach kurzer Zeit als fruchtlos. Zudem waren die in Debian Lenny enthaltenen Versionen von OpenOffice und Firefox für viele Zwecke nicht aktuell genug. Abhilfe in Form von Backports war nur bedingt möglich. Im Übrigen lässt sich ein auf diese Weise zusammengestelltes System langfristig nur schwer warten und bietet auch nicht mehr die von Debian bekannt Stabilität. Da Ubuntu in vielerlei Hinsicht kompatibel zu Debian ist, aber durch die kürzeren Release-Zyklen aktuellere Software bietet, bot sich ein Umstieg auf Ubuntu Karmic an. Dank des Debian-Paketsystems war es möglich, die unter Lenny installierten Pakete (mit kleinen Änderungen, wie bei Upgrades üblich) zu übernehmen. Auch die Konfiguration konnte beibehalten werden. Der Umstieg von Debian zu Ubuntu war deshalb für die Benutzer transparent möglich. Da auf den neuen Laptops nur noch Linux verwendet wurde, war es nur konsequent, endgültig Linux statt Windows als Standard-System zu verwenden.

Seit August 2010 wird daher nur noch das Linux-System gepflegt. Die Benutzung von Windows ist zwar weiterhin möglich, Probleme (z. B. durch geänderte Hardware) werden aber nicht behoben.

April 2011

Aktuell wird Ubuntu Lucid verwendet. Zur Erstellung des auf den Clients verwendeten Live-Systems wird das dirinstall-Feature von FAI (Fully Automatic Installation) verwendet. Ein besonderer Vorteil von FAI ist es, dass Pakete und Konfigurationen Klassen zugeordnet werden können, sodass es möglich ist, je nach Bedarf bestimmte Merkmale des Systems zu aktivieren oder zu deaktivieren.

Update November 2012

Seit Oktober 2012 wird Ubuntu 12.04 (Precise) verwendet.

Update Oktober 2014

Seit September 2014 wird Ubuntu 14.04 (Trusty) verwendet.

Weiterführende Bemerkungen

Die Idee, FAI zur Erstellung des Live-Systems zu verwenden, stammt vom Grml-Projekt. Das im Rahmen dieses Projektes entwickelte Framework grml-live ermöglicht es, angepasste Live-Systeme zu erstellen und mit einem Befehl fertige ISO-Images zu generieren, welche dann nur noch auf CDs/DVDs gebrannt oder auf USB-Sticks geschrieben werden müssen.

Mit Debian Live (s. o.) und Grml existieren also zwei Projekte, welche es ermöglichen, angepasste Live-Systeme zu entwickeln. Dies soll keineswegs als Nachteil aufgefasst werden. Die Projekte haben einen unterschiedlichen Fokus (Debian Live: Ein Live-System, das sich so verhält wie ein normales Debian stable, Grml: ein Live-System mit aktueller Software (Debian unstable) als „Werkzeugkasten“ für Admins). Für die Entwicklung des HSG-Linux waren Ergebnisse beider Projekte von hohem Wert. Im Übrigen findet auch ein Austausch zwischen beiden Projekten statt, so wird beispielsweise das im Rahmen von Debian Live entwickelte live-initramfs (inzwischen live-boot) auch von Grml verwendet. Es sei an dieser Stelle noch erwähnt, dass auch FAI auf Debian-Live-Technologie zurückgreift.