Archive for the ‘WM-Server’ Category

Toolserver-Status 2011-08

Thursday, August 25th, 2011

„Was ist denn eigendlich mit dem Toolserver los? Alles ist langsamer und einige Tools gehen gar nicht“ werde ich in letzter Zeit häufiger gefragt. Ich möchte daher in diesem Beitrag mal die Ereignisse zusammenfassen, die zur jetzigen Situation geführt haben.

Vorgeschichte
Alle Projekte der Wikimedia-Foundation sind in (aktuell) 7 Clustern verteilt (die riesige englischsprachige Wikipedia zum Beispiel konsumiert Cluster 1 komplett, die deutschsprachige Wikipedia ist auf Cluster 5 zusammen mit ein paar kleineren Wikis, commons belegt s4). Jeder Cluster besteht aus einem Master- und mehreren Slave-Datenbankservern. Aktuell hat die Foundation dafür 22 Datenbank-Server im Einsatz. Der Toolserver hat 5 Datenbank-Server.
Nun muss man kein mathematisches Genie sein um zu sehen, dass 5 Server nicht für 7 Cluster ausreichen. Daher spiegeln (replicate) wir die Daten von mehreren Foundation-Servern auf 1 Toolserver-Server. Dieser Prozess krankt an mehreren Stellen; z.B. kann das MySQL eigene Replication-Programm gar nicht von mehreren Master-Servern kopieren, sondern nur von einem. Aus diesem Grund haben wir eigene Programme geschrieben, die die Daten kopieren. Das erzeugt seine ganz eigenen Probleme, auf die ich aber hier nicht näher eingehen will.
Da abzusehen ist, dass der Toolserver nicht im erforderlichen Ausmaß mit weiteren Datenbank-Servern ausgestattet wird (dazu müssten mindestens 9 weitere Server angeschafft werden), gleichzeitig aber die aktuelle Lösung unbefriedigend ist, suchten wir nach Alternativlösungen. Eine Idee dazu war es, mehrere MySQL-Instanzen auf einem Server laufen zu lassen. Um dies zu testen, wurde einer der Datenbank-Server (Hyacinth) von seinen normalen Aufgaben entbunden und von River entsprechend konfiguriert. Hyacinths normale Aufgabe ist es, als Ersatz für Cassia zur Verfügung zu stehen. Cassia trägt die Datenbanken s3, s4, s6 und s7. Nachdem River Hyacinth entsprechen aufgesetzt hatte und die Datenbanken alle wieder neu importiert hatte, begann das Testen.

Ausfall
Am 31. Juli versagte überraschend Cassias Hardware. Nun gab es keinen einsatzbereiten Server für die Cluster s3, s4, s6 und s7 mehr. Wir pflegen eine Kopie von s4 (commons) auf jedem Server, so das dieser Ausfall nicht so kritisch war; s3, s6 und s7 waren aber erstmal weg. Hyacinth befand sich noch im Test-Stadium und ein Rückkehr zum Zustand vor dem Testen war auf die Schnelle nicht machbar. Da wir aber keine Alternative hatten, mussten wir Hyacinth so einsetzen wie er war.
Da mehrere MySQL-Instanzen auf Hyacinth laufen, teilen die sich natürlich auch den Arbeitsspeicher; dieser muss also so verteilt werden, dass keine Instanz die Andere aus den Speicher drängt. Da das Testen auf Hyacinth aber noch nicht abgeschlossen war, tun die Instanzen genau das. Zusätzlich kommt noch ein Bug in MySQL dazu, der jede Instanz mehr Arbeitsspeicher verbrauchen lässt als sie eigentlich darf. Um die maximale Menge zu verändern, die eine Instanz verbrauchen darf, zu verändern muss man sie neu starten. Dann muss man einige Stunden (oder besser einen Tag) warten um zu sehen, wie sich der Speicherbedarf entwickelt; das Alles dauert einfach und Alles ist langsamer.
Weiterhin verfügt Hyacinth nicht über genügt Festplatten und Festplattenplatz um alle Datenbank-Instanzen aufnehmen zu können; der kleinste und neuste Cluster (s7) musste daher teilweise mit einem externen Festplattenarray vorlieb nehmen. Ob das ein Problem ist, sollte eigentlich das Testen zeigen.
Ein weiteres Problem betraf das Aufteilen an sich. River hatte bereits 22. Juni die Toolautoren gebeten, zu benennen welche Benutzer-Datenbanken auf welche Instanz gehören. Im alten Setup (also als s3, s4, s6 und s7 in einer Instanz zusammen waren) gab war es egal ob die Toolautoren sich zu s3 oder zu s4 verbanden – ihre Benutzer-Datenbank war da. Durch das Aufteilen macht es aber einen Unterschied ob man sich zu s3 oder zu s4 verbindet; Datenbanken sie auf s3 liegen sind in s4 nicht da. Die Resonanz der Toolautoren war eher verhalten und so wurden 99% der Benutzerdatenbanken auf s3 eingerichtet. Das war erstmal kein Problem, da die Toolautoren ja zumeist Cassia nutzen und so gar nicht merkten, dass es irgendwann auf Hyacinth (nach Ende des Tests) ein Problem geben würde. Nach Cassias Ausfall wurde das Problem aber akut; Tools die eine Benutzerdatenbank auf s4 (commons) benötigen können diese nicht mehr finden, denn sie liegt auf s3. Das ist der Grund für den Ausfall vieler Tools. Es wird einige Zeit dauern, bis die Toolautoren ihren Code angepasst haben.

Ich hoffe, ihr versteht nun etwas Besser, warum der Toolserver (für gewisse) Tools langsamer ist als sonst und warum einige Tools nicht funktionieren. Für Rückfragen könnt ihr gerne die Kommentarfunktion benutzten oder mich im Chat ansprechen.

Hauptamtliche Hilfe für den TS

Friday, February 5th, 2010

Der Toolserver hat nun einen bezahlten hauptamtlichen Admin — River Tarnell. River ist der Senior-Admin des Toolservers und seit Anfang an dabei. Möge die weitere Zusammenarbeit genauso gut laufen, wie bisher :-) .

Leider wurde von Seiten des Vereins mal wieder verschlafenvergessen, die Kollegen vorher zu informieren.

Quelle.

Sysadmintag 2009

Friday, July 31st, 2009

Zum heutigen Syadmin-Tag danke an alle die Sysadmins, die direkt oder indirekt dafür sorgen, dass die Wikimedia-Projekte ihren Dienst mehr oder weniger zuverlässig tun.

DANKE! :-) .

Neues vom Toolserver

Wednesday, July 29th, 2009

In den letzten Tagen und Wochen gab es einige Veränderungen auf dem Toolserver, von denen ich hier kurz berichten möchte.

Zunächst mal haben wir den Account-Accepting (also das Zugangs-Genehmigungsverfahren) überarbeitet und beschleunigt. In der Vergangen kam es vor, dass Leute monatelang auf ihren Zugang warten mussten, weil es eine Weile dauerte bis ich den Antrag bemerkte, Zeit fand um rückzufragen, der User das nicht bemerkte, ich eine Zeit braucht um zu bemerken, dass er geantwortet hatte, dann gerade keine Hardware da war (ok, das löst das neue Verfahren auch nicht ;-) ) und so weiter.
Zukünftig benutzen wir einen festgelegten Arbeitsablauf. Dafür ist das ganze nach JIRA – unserem Fehlerbenachrichtigungsystem – umgezogen. Läuft bis jetzt sehr gut an, auch wenn es noch Optimierungspotenzial gibt.

Zweitens hat uns die Foundation Geld zur Verfügung gestellt um weitere Datenbankserver zu kaufen. Dies soll die Stabilität erhöhen. Daniel Kinzler berichtet hier ausführlich.

Außerdem haben wir, nachdem die stabilen Projekte nicht so recht zünden, uns eine neue Strategie überlegt wie man Leute motivieren kann, Tools zusammen zu entwickeln. Dafür haben wir „multi-maintainer tool“s eingeführt. Der Prozess ist weniger aufwändig wie ein stabiles Projekt, man kann auch alleine ein multi-maintainer-tool beginnen, und es läuft auf dem normalen Toolserver. Hier (en) finden sich weitere Details dazu.

Abschließend soll der Web-Server von Debian auf Solaris umziehen. Aktuell befinden wir uns dazu in einer Testphase. Wer beim Testen helfen möchte, kann einfach http://toolserver.org durch http://willow.toolserver.org ersetzen (aus http://toolserver.org/~daniel/WikiSense/Gallery.php wird also http://willow.toolserver.org/~daniel/WikiSense/Gallery.php). Die Toolautoren freuen sich sicher über Rückmeldungen.

Toolserverausfall

Thursday, May 28th, 2009

Auf Grund eines unbekannten Netzwerkproblems ist der komplette Toolservercluster (mit Ausnahme des Servers Amaranth) momentan offline. Aktuell kann nicht abgeschätzt werden, wann der Schaden repariert sein wird.

Update:Der Toolserver steht wieder zur Verfügung. Problem war wohl ein defekter Port am Switch.

Neubau Editcount

Wednesday, October 3rd, 2007

Ich bin schon seit einer Weile dabei, Interiots Editcounter nachzubauen, das Interiot wohl für eine Weile weg zu schein scheint. Die Zahlen selber zu ermitteln ist recht einfach (vor allem, wenn man bei Interiot stibitzen darf ;) ), Probleme machten mir die Diagramme. Dafür hab’ ich jetzt eine Lösung entdeckt: JFreechart. Eine Testausgabe (meine Edits in dewp) hab’ ich mal angehängt, sieht doch recht gut aus, oder?

testdiagramm.png
testdiagramm

Amsterdam weg von 11 bis 1

Wednesday, September 26th, 2007

Am morgigen Mittwoch wird das Rechenzentrum in Amsterdam von 11 bis 13 Uhr nicht erreichbar sein, da Mark ein Update an den Router vornimmt. Die normalen Wikimedia-Projekte wie Wikipedia, Wikisoure oder Wiktionary werden davon unbetroffen sein, da ihr Traffic nach Florida umgeleitet wird. Der Toolserver und seine Tools wird allerdings während dieser Zeit nicht erreichbar sein. Auch bei den Mailinglisten könnte es Probleme geben.
Mark versucht, die Downtime kurz zu halten.

Bye Bugzilla, Welcome Jira

Wednesday, September 19th, 2007

Der letzte Crash von Zedler hat unseren Bugzilla gekillt. Wir hatten von allem Backup, nur seine Datenbank ist irgendwie vergessen worden. Da wir nun eh von vorne anfangen müssen, haben wir nicht mehr bugzilla installiert, sondern geben JIRA eine Chance.

Wer möchte, kann unter http://infra.ts.wikimedia.org/jira/ mal vorbei sehen; ist allerdings noch in der Probe.

Teile des Toolserves down

Monday, September 3rd, 2007

Seit gestern Abend funktioniert die Datenbank auf Zedler nicht mehr. Zedler trägt momentan die S2-Datenbank (=dewiki, commons und noch einige kleinere Wikis) und die Userdatenbanken. Wir vermuten, das eine defekte und zum Austausch vorgesehene Festplatte Schuld an dem Crash ist. Der Verein hat bereits vor einiger Zeit eine neue Festplatte angeschaft, die nur noch eingebaut werden muss.

Die Datenbank wird momentan neu aufgespielt, dies wird aber einige Zeit dauern. Daher bitte etwas Geduld.

Und wieder Umzug

Tuesday, July 31st, 2007

Der Cluster S1 (das ist die englische Wikipedia) auf dem Toolserver zieht mal wieder um. Da die roots das Wachstum und die Größe der Datenbanken unterschätzt haben, ist das Array von yarrow bereits wieder zu klein geworden. Daher zieht S1 auf vandale – einem Server, den uns die Foundation für’s erste überlassen hat bis wir wieder genug eigenen Platz haben. Was wir da unternehmen – Austausch der Array-Festplatten durch Größere oder Kauf eines zusätzlichen Arrays – steht noch nicht fest.
Auf jeden Fall liegt der Replag von enwp damit mal wieder stark zurück :( .