ubuntuusers.de

Die Infrastruktur von ubuntuusers.de

ubuntuusers.png

Das Portal von ubuntuusers.de stellt rund um die Uhr, sieben Tage die Woche und ohne Wochenende, Feiertag oder Urlaub eine Plattform zum Austausch von Informationen rund um Ubuntu zur Verfügung. Die Basis dafür stellt die Portalsoftware Inyoka dar, die auf verschiedenen Servern betrieben wird.

Im Laufe der vergangen Jahre wurde die Server-Infrastruktur mehrfach angepasst und einige der größeren Umbauten fanden im Laufe des letzten Jahres statt. Die Infrastruktur wurde vom Serverteam auf neue Beine gestellt, um den an das Portal gestellten Anforderungen gerecht werden zu können.

uuInfra2015.png
Aufbau am Standort Nürnberg
Icons von openclipart unter Public Domain

Aufteilung

Derzeit werden die Hauptbestandteile des Portals von fünf Servern bedient, die im Fränkischen Nürnberg beheimatet sind. Dort stehen She, Kanu, Ruwa, Tali und Ellegua. Ellegua dient als Datengrab – im Fachjargon auch Storage-Server genannt – und stellt einen Speicherplatz für alle möglichen Dateien dar. Anwender greifen auf diese Daten jedoch nicht direkt zu, diese stehen den anderen Servern als Shares zur Verfügung.

Tali und Ruwa sind das Schlangengehege, auf ihnen läuft Inyoka. Hier werden die Dienste ausgeführt, die Inyokas Inneres ausmachen. Dabei sind beide Server gleichzeitig aktiv, führen Abfragen aus, stellen dynamische Inhalte zusammen und liefern sie an die Anwender aus. Die Last wird auf beide Server verteilt, außerdem sorgt diese Aufteilung auch für die notwendige Ausfallsicherheit.

She und Kanu haben nicht nur ein Zweit- sondern auch gleich einen Dritt-Job: Zum Einen halten Sie die Datenbank vor, die von Tali und Ruwa beispielsweise zur Speicherung von Foreneinträgen, Wiki-Seiten und Benutzerprofilen verwendet wird. Zum Zweiten liefern die beiden auch statische Inhalte wie Bilder, Dateien oder statische Skripte wie CSS oder JavaScript aus. Zuletzt arbeiten die beiden auch als Loadbalancer und verteilen die ankommenden Anfragen einigermaßen gleichmäßig auf Tali und Ruwa. Auch She und Kanu erfüllen ihre Aufgaben zu zweit und können so die Last unter sich aufteilen und auch bei Ausfällen einen unterbrechungsfreien Dienst ermöglichen.

Technik: Die Hardware

Die fünf aktuellen Server konnten durch Spenden beschafft werden. Diese wurden zum Einen bei der Spendenaktion in 2012 eingesammelt und durch die „Thomas Krenn Open Source Förderung“ aufgestockt.

Die Hardware
Server Prozessor RAM Festplatte
Ellegua Intel Xeon E3-1220L (2,2 GHz) 8GB RAM 2TB RAID6
Tali & Ruwa 2xIntel Xeon E5620 (2,4 GHz) 24GB RAM 250GB RAID6
She & Kanu 2xIntel Xeon E5603 (1,6 GHz) 8GB RAM 250GB RAID6

Durch weitere Förderung von Thomas Krenn, ergänzt durch finanzielle Ressourcen vom Ubuntu Deutschland e.v. konnte zusätzlicher Arbeitsspeicher für She und Kanu beschafft werden, der im Laufe diesen Jahres eingebaut wird. Um solche „kleineren“ Verbesserungen durchführen zu können, sind Spenden an den Verein immer hilfreich, da dieser die Kosten für den Betrieb der Server trägt.

Technik: Die Software

Ellegua stellt den anderen Servern Dateifreigaben mittels NFS zur Verfügung, die sie zur zentralen Ablage von Dateien nutzen. Tali und Ruwa nutzen für den Betrieb von Inyoka den Python-Web-Server Gunicorn 🇬🇧.

She und Kanu nutzen gleich einen ganzen Stapel an Diensten, um ihre verschiedenen Aufgaben zu erfüllen. Als Loadbalancer kommt haproxy 🇬🇧 zum Einsatz, das sich auch schon in der Vergangenheit bewährt hat. Statische Dateien werden durch den Webserver Nginx ausgeliefert, während dynamische Inhalte, die nicht mittels Python generiert werden, durch einen Apache zur Verfügung gestellt werden. Die verwendete Datenbank ist MySQL, die zwischen den beiden Servern repliziert wird und somit auch beim Ausfall eines der beiden Server verfügbar bleibt. Allerdings schalten Tali und Ruwa ihre MySQL-Abfragen nicht automatisch auf Kanu um, sollte She nicht erreichbar sein. Hier ist im Fehlerfalle das Eingreifen der Administratoren gefragt.

Direkten Kontakt haben Nutzer nur zu She und Kanu. Jegliche Anfragen gehen an den Loadbalancer und werden von diesem dann je nachdem an eine der anderen Komponenten weitergeleitet. Letztlich liefert jedoch auch der Lodabalancer wieder die eingesammelten Inhalte an den Browser des Nutzers zurück. She und Kanu sind auch die beiden einzigen Server, die auch mittels IPv6 erreichbar sind. Untereinander sprechen alle ausschließlich Server IPv4 und können dafür eine Bandbreite von 100 MBit/s nutzen.

Etwas außerhalb dieser Landschaft betreibt das Serverteam noch einen DNS-Dienst, der ähnlich einem Telefonbuch zu den lesbaren URLs (z.B. ikhaya.ubuntuusers.de) die IP-Adressen zurückliefert (z.B.: 213.95.41.4 oder 2001:780:0:25:dead:beef:cafe:1). Dieser DNS-Dienst läuft allerdings auf einem in Köln betriebenen Server, der allerdings ebenfalls nicht direkt angefragt wird. Stattdessen beantworten mehrere DNS-Server des Hosters Noris die DNS-Anfragen von Nutzern, jedoch erhalten sie ihre Informationen von dem Server in Köln.

Ebenfalls in Köln befindet sich srv10, das Gegenstück zu Ellegua. Aufgrund der Distanz wird srv10 jedoch nicht als vollwertiger Ersatz für Ellegua betrieben. Das heißt, dass Ellegua's Daten zwar regelmäßig dort gesichert werden, jedoch keine automatische Übernahme der Aufgabe als Storage-Server im Fehlerfalle erfolgt. Sollte es einmal Probleme mit Ellegua geben, so würde das Serverteam die Verbindung zwischen srv10 und den Nürnberger Servern manuell herstellen.

Im Zusammenhang mit dem Portal steht auch die Entwicklung von Inyoka. Diese erfolgt derzeit auf Servern, die außerhalb der ubuntuusers-Infrastruktur stehen. Sie soll jedoch demnächst auf eine virtuelle Umgebung am Standort Köln umziehen – Planänderungen vorbehalten. Wer Interesse hat, damit in Kontakt zu kommen: Das Webteam sucht derzeit Unterstützung durch Django-Entwickler, auch um die Fertigstellung der Open-Source-Version von Inyoka voranzubringen. Bewerbungen nimmt das Webteam gerne entgegen.

Anmerkungen

In diesem Beitrag wurden lediglich die Server und Dienste betrachtet, die das Portal ubuntuusers.de direkt betreffen. Jedoch betreut das Serverteam noch einige weitere Server, die zum Beispiel die Webseite des Vereins Ubuntu Deutschland e.V. mit der Ubucon-Seite, der Berliner sowie der Iranischen Ubuntu-Community 🇮🇷 zur Verfügung stellen. Daneben werden auch noch Mailserver und E-Mail-Listen für die genannten sowie ubuntuusers.de betrieben.

In diesem Sinne sei ein Dank an das Serverteam gerichtet, das die notwendigen Umbauten in langen Stunden, jedoch mit relativ wenig Ausfallzeiten vorgenommen hat.