staging.inyokaproject.org

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.

Veröffentlicht von mfm | 26. Juni 2015 17:00 | Kategorie: ubuntuusers | # Fehler im Artikel melden

jug

Ehemalige

Avatar von jug
1 26. Juni 2015 18:54

👍

ingo2

Avatar von ingo2
2 26. Juni 2015 18:59

Vielen Dank für den Beitrag - ein super Artikel.

Eine Frage noch: welches Protokoll genau nutzt ihr für die Freiganen von Ellegua, nfs3 oder nfs4?

Ingo

Tronde

Avatar von Tronde
3 26. Juni 2015 20:00

Vielen Dank für den Beitrag. Und ein ganz großes Dankeschön an das Serverteam für die gute Arbeit. 👍

clocker

Avatar von clocker
4 26. Juni 2015 20:54

Danke für den Artikel. 👍

encbladexp

Ehemaliger

Avatar von encbladexp
5 27. Juni 2015 11:18

@2: Wir verwenden aktuell NFSv3. Eine Migration auf v4 steht noch aus, wobei auch schon mal GlusterFS als Alternative im Gespräch war.

mfg Stefan Betz

Pascal18

Avatar von Pascal18
6 27. Juni 2015 20:23

Interessant mal einen Solchen einblick zu bekommen 👍

Das_Wort

7 28. Juni 2015 00:39

Vielen Dank für das Update.

Wie viel RAM wird bei She und Kanu verwendet (abgesehen von cache und buffers)?

encbladexp

Ehemaliger

Avatar von encbladexp
8 28. Juni 2015 09:30

@7: Bitteschön:

             total       used       free     shared    buffers     cached
Mem:          7958       7710        247          0         72       2601
-/+ buffers/cache:       5037       2921
Swap:            0          0          0
             total       used       free     shared    buffers     cached
Mem:          7958       7704        254          0        340       2421
-/+ buffers/cache:       4941       3017
Swap:            0          0          0

Nach dem Speicherupgrade dieses Jahr ist es unser Ziel die komplette Datenbank von ubuntuusers.de im RAM (Cache) halten zu können. Gleichzeitig arbeiten wir intern an einer Diät der Datenbank um MySQL Performanter zu machen.

mfg Stefan Betz

putzerstammer

Avatar von putzerstammer
9 28. Juni 2015 12:59

@6: da schließe ich mich doch gerne an

quastenflosser

10 29. Juni 2015 23:19

Danke für die Uebersicht der Infrastruktur. Ich bite euch gerne an: RAM Server Festplatten. ALLES für lau. Müsste nur wissen welche, Ram, Festplatten. etc.

Im Raum Zürich wird viel weg geschmissen.

Ich berate diverse Entsorgungsunternehmen. Was da ankommt, da darf das wssende Auge kaum hinschauen! Doch habe ich einen gewissen einvernehmlichen Zugriff auf das Material, sofern ich es im richtigen Momment erkenne. Danach,im Container ist es zu spät. Was da ankommt: Labtop i3,i5- i7, alles nur wegen wind..Update oder Frust. Core 2/quad > lüft subpr mit Xu/Lubuntu.

Irgendwie habe ich 48GB, DDR-2 ,mit Checksumme im Kopf, doch wo in meinem Sammelsurium?, Schon geschmissen?

Stellt sich lediglich die Frage, wie man das Material von CH nach DE verfrachtet ,einfach und elegant > Grenzgänger.

Bitte Liste da, danke.

Gruss

svij

Ehemalige

Avatar von svij
11 30. Juni 2015 07:40

@10: Vor allem Laptops kannst du ja an Labdoo spenden, da kommt die Spende definitiv an.

chris_blues

Avatar von chris_blues
12 30. Juni 2015 14:28

@10: Ich könnte DDR2-RAM gebrauchen. Wie kann ich Dich erreichen?

encbladexp

Ehemaliger

Avatar von encbladexp
13 30. Juni 2015 18:24

@12: Am besten per PN, hier ist nämlich keine Hardware Börse 😉

@10: Hardware für den Standort Köln benötigen wir eigentlich™ immer, hierzu am besten mal redknight anschreiben, der ist dort für die Hardware verantwortlich und hat den besten Überblick.

mfg Stefan Betz

mal-zeit

Avatar von mal-zeit
14 3. Juli 2015 16:46

Sehr schön ☺

Fehlen jetzt nur noch ein paar Statistiken ... "jibbet da watt"?

Interessiert mich sehr (Neugierde) und falls es da ein paar Infos gäbe (Durchsatz MiB / Tag, Such-Anfragen / Tag, Wiki-Seiten-Aufrufe / Tag) würde ich mich freuen 🤓

Gruß

encbladexp

Ehemaliger

Avatar von encbladexp
15 4. Juli 2015 07:08

@14: Wir speichern keine Logs um derartige Daten zu ermitteln. Den Traffic wissen wir aber durch unseren Loadbalancer, dort waren es rein für ubuntuusers.de 82GiB dynamischer Traffic und 258GiB Traffic für statische Daten und Medien (Bilder) in den letzten ~6 Tagen.

mfg Stefan Betz