FTP-Server mit Massendurchsatz

Die Hochschule für Technik an der Fachhochschule Esslingen (FHTE) betreibt seit 1998 einen der größten FTP-Server Deutschlands für Open-Source-Software. Das mit Fedora Linux betriebene System liefert zu Stoßzeiten täglich mehrere Terabyte an Daten aus.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 6 Min.
Von
  • Prof. Herbert Wiese
  • Fachhochschule Esslingen
  • Fachbereich Informationstechnik

Der FTP-Server der Fachhochschule Esslingen - Hochschule für Technik (FHTE) spiegelt unter der Adresse ftp-stud.fht-esslingen.de zahlreiche Open-Source-Projekte – von den gängigen freien Linux-Distributionen über das Perl-Archiv CPAN bis zu den Requests For Comments (RFCs), die alle wichtigen Internet-Standards beschreiben.

Der Server wurde 1998 von Studenten des Fachbereichs Informationstechnik in Zusammenarbeit mit Mitarbeitern des Rechenzentrums eingerichtet, um die hochschuleigenen Linux-Clients und -Server weitgehend automatisiert auf dem neuesten Softwarestand zu halten und um den Studenten aktuelle Open-Source-Software und die erforderlichen Updates zur Verfügung zu stellen. Zu dieser Zeit war der Internet-Anschluss der gesamten Hochschule noch auf 20 MBit/s begrenzt, und diese Bandbreite sollte nicht für mehrfache Downloads umfangreicher Open-Source-Projekte vergeudet werden. Mittlerweile ist unser seitdem beständig gewachsenes und aktuell gehaltenes Open-Source-Archiv per anonymous ftp für jeden frei zugänglich. Der Betrieb dieses Dienstes ist ein gutes Beispiel für Unterstützung von studentischen Initiativen durch Institutionen der Hochschule.

Um einen stabilen und performanten Dienst zu gewährleisten, waren während der gesamten Betriebszeit mehrere Erweiterungen erforderlich. Derzeit läuft der Server auf einem einem System mit vier Xeon-Prozessoren (je 1,4 GHz) und 6 GByte RAM. Der relativ große Arbeitsspeicher ist erforderlich, um möglichst viele Daten im Cache zu halten. Ein Oxygen-RAID-System mit RAID-Level 5 mit 4 TByte Plattenspeicher, per Fibre Channel angebunden, sorgt für den nötigen Plattenspeicher bei ausreichend hohem Durchsatz und hoher Zuverlässigkeit. Seit dem Start des Dienstes vor acht Jahren sind kaum Betriebsunterbrechungen zu verzeichnen.

Der Server läuft unter dem erst im März erschienenen Fedora Core 5, dem Community-Linux von Red Hat. Er wurde von Anfang an erst unter Red Hat Linux, später unter dem Folgesystem Fedora betrieben und bei Erscheinen einer neuen Version immer schnell aktualisiert. Für Fedora Core 5 gab es einen besonderen Grund für das schnelle Update: Der hier neu eingeführte Version 2.2 des Webservers Apache unterstützt erstmals Dateien über 2 GByte Größe – bislang konnte man ISO-Images von DVDs nur per FTP, nicht via HTTP herunterladen.

Der Server ist über eine Netzkarte mit 1 GBit/s direkt an das Landeshochschulnetz Baden-Württemberg (BELWUE) angeschlossen. Diese Bandbreite steht auch externen Benutzern voll zur Verfügung, da die FHTE über einen Netzanschluss mit einem Durchsatz von 2,4 GBit/s an das Internet verfügt. BELWUE unterstützt dabei die FHTE, indem der Hochschule keine zusätzlichen Gebühren für den hohen ftp-Verkehr in Rechnung gestellt werden.

Aus Performance- und Sicherheitsgründen kommt vsftpd (very secure ftp daemon) als FTP-Server zum Einsatz: Das Programm bietet lediglich die nötigsten Features, sodass Code und Konfiguration übersichtlich bleiben, und erwies sich im Vergleich zu anderen ftp-Servern als sehr leistungsfähig.

Im Laufe des Betriebs wurden verschiedene Linux-Dateisysteme getestet, die aber immer wieder zu Problemen unterschiedlicher Art führten: Instabilitäten bei XFS nach einem Kernelupdate, schlechte Performance bei JFS, Versagen des fsck-Tools nach einem Fehler im Dateisystem bei ReiserFS. Jetzt setzen wir das weit verbreitete Journaling Filesystem Ext3 ein, das bislang noch nie Probleme gemacht hat, gute Performance liefert und nach eventuellen Systemabstürzen schnell wieder hochläuft. Datensicherheit, in dieser Hinsicht ist unser Server eher untypisch, spielt bei uns keine Rolle: Die Daten lassen sich ja im Notfall schnell wieder besorgen.

Die Beliebtheit des Servers lässt sich an einigen Zahlen ablesen: Derzeit hält er rund 2,2 TByte Open-Source-Software vor. In normalen Zeiten werden täglich um die 2 TByte exportiert, in Spitzenzeiten (etwa bei einem Release-Wechsel einer populären Linux-Distribution) bis zu 4 TByte – das sind im Schnitt 400 MBit/s rund um die Uhr. Aktuelle Daten über die Auslastung kann man online nachlesen. Auf dem Server befindet sich ausschließlich frei verfügbare Software, bis auf wenige Ausnahmen Open-Source-Software. Die Liste umfasst diverse Linux-Distributionen (Fedora, Debian, Mandriva, Gentoo, Suse, Knoppix, Ubuntu), den Linux-Kernel, die Entwicklungsumgebung Eclipse, alle GNU-Tools, OpenOffice, Mozilla, den Web- und Application-Server Apache, die Unix-Umgebung für Windows Cgywin, die Datenbank PostgreSQL, die Unix-Desktop-Umgebungen KDE und Gnome, alle RFC-Dokumente der IETF, und vieles mehr.

Das Rechenzentrum der FHTE nutzt den FTP-Server für die automatisierte Pflege der derzeit über 30 Linux-Server sowie vieler Arbeitsplatzrechner, die als Dual-Boot-Systeme mit Windows XP und Linux eingerichtet sind. Unsere Besucher von außerhalb stammen vor allem aus dem näheren Umkreis (die Universitäten in Stuttgart und Karlsruhe), Daimler-Chrysler, anderen Baden-Württembergischen Hochschulen und Unternehmen, anderen deutschen Hochschulen, dem Deutschen Forschungsnetz (DFN) sowie Nutzern aus den uns umgebenden Ländern, vor Schweiz, Österreich und Frankreich. Suchmaschinen führen unseren FTP-Server bei der Suche nach bei uns gespiegelter Software meist in den ersten Positionen mit auf – Ergebnis einer guten Netzanbindung, guter Performance, hoher Verfügbarkeit sowie der Aktualität der bereit gestellten Software.

Die Aktualität des Spiegel-Servers ist durch Synchronisationsintervalle, die je nach Software zwischen einem Tag und einer Stunde liegen, gewährleistet. Für die Synchronisation ist ein Dateneingang von rund 100 GByte täglich erforderlich. Die Aktualisierung der gespeicherten Software erfolgt weitgehend automatisch. Die Synchronisationen erfolgt mit Shell-Sripten, deren Ergebnisse in eine Datenbank einfließen und über ein Web-Interface allen Benutzern zur Verfügung stehen. Die Datenübertragung erfolgt mit rsync mit der Option --delay-updates, sodass übertragene Dateien zwischengespeichert und erst nach dem Transfer aller Daten umbenannt werden. Das minimiert die Zeit, in der der Datenbestand inkonsistent ist. Bei fehlerhafter Synchronisation werden automatisch Emails an Betreuer des Servers geschickt.

Bei wiederholten Synchronisationsfehlern, bei der Einrichtung neuer Mirrors, bei größeren Veröffentlichungen von Projekten sowie bei der Pflege des Server-eigenen Betriebssystems sind jedoch immer wieder manuelle Eingriffe erforderlich. Bis heute führt einer der – mittlerweile ehemaligen – Informatikstudenten, Herr Adrian Reber, diese Aufgaben in Zusammenarbeit mit dem Hochschulrechenzentrum durch. (odi)