Wikipedia:Server
Um den Betrieb der Wikipedia und der anderen Wikimedia-Projekte gewährleisten zu können, werden mehrere Server eingesetzt. Diese Seite soll einen groben Überblick über die aktuelle Hardwareausstattung sowie die Aufgaben der einzelnen Rechner bieten.
Obwohl Wikipedia frei ist, sowohl in Hinsicht auf die freie Verwendbarkeit der Inhalte als auch darauf, für alle kostenlos zu sein, kostet es Geld, die Seite zu betreiben. Du kannst helfen, indem du spendest und damit zur Sicherstellung des Betriebs beiträgst.
Hintergrundinformationen
Derzeit (Anfang 2014) unterhält Wikimedia Server an vier Standorten (Ashburn, Carrollton, Amsterdam und San Francisco). An zwei dieser Standorte befinden sich die eigentlichen Datenbank-Server, wohingegen an den anderen beiden Standorten ausschließlich Cache-Server stehen, die bereits erstellte Seiten schneller an Leser ausliefern.
Ashburn Cluster (eqiad)
Der Hauptstandort befindet sich seit Januar 2013[1] in Ashburn im US-Bundesstaat Virginia und wird im Rechenzentrum von Equinix betrieben. Der Rechnerverbund (engl. Cluster) mit dem Codenamen eqiad
(eq → Equinix; iad → Flughafen-IATA-Code Flughafen Washington-Dulles-International) ist das aktuelle Produktivsystem (production cluster), das für die Bearbeitung von Anfragen an die verschiedenen Wikimedia-Projekte (bspw. Wikipedia) zuständig ist. Dies schließt unter anderem das Rendering von Wikipedia-Artikeln (siehe auch Hilfe:Cache#Bei Artikeln) – bspw. beim Speichern eines Artikels oder dem Anzeigen einer Vorschau der Bearbeitungen – wie auch das Ausliefern von Ressourcen (JavaScripts, Stylesheets u. ä.) durch den ResourceLoader ein. Ebenfalls über das Cluster wird die Suche für die Wikimedia bereitgestellt (aktuell Elasticsearch).
Auch Nebenprojekte der Wikimedia, die zum Betrieb oder zur Weiterentwicklung der Projekte dienen, werden teilweise über diesen Verbund betrieben, bspw. Phabricator oder auch das VRTS-Ticketsystem.
Carrollton Cluster (codfw)
Das in einem Rechenzentrum von CyrusOne betriebene Cluster mit dem Codenamen codfw
(co → CyrosOne; dfw → Flughafencode-IATA-Code Dallas/Fort Worth International Airport) steht in Carrollton im US-Bundesstaat Texas und ist, wie der Verbund in Ashburn, für die traditionellen Services zuständig. Es bearbeitet Anfragen an die verschiedenen Wikimedia-Projekte und stellt gleichzeitig Backup-Ressourcen bereit. Die verwendete Technik stammt teilweise aus neu angeschafftem Equipment und aus dem geschlossenen Rechenzentrum in Tampa, Florida.
Dallas Cluster (eqdfw)
Im 3. Quartal 2015[2][3] wurde ein weiteres Datencenter in Texas bereitgestellt. Die in Dallas in einem Rechenzentrum von Equinix stehende Technik trägt den Codenamen eqdfw
(eq → Equinix; dfw → Flughafencode-IATA-Code Dallas/Fort Worth International Airport) und stellt ausschließlich Netzwerkressourcen bereit.
Chicago Cluster (eqord)
Ebenfalls im 3. Quartal 2015[2][3] wurde das Chicago Cluster mit dem Codenamen eqord
(eq → Equinix; ord → Flughafencode-IATA-Code Chicago O’Hare International Airport) bereitgestellt. Auch dieses stellt ausschließlich Netzwerkressourcen bereit.
Amsterdam Cluster (esams)
Seit Juni 2005 befindet sich ein Cache-Cluster in den Niederlanden, über den Daten vor allem für Europa ausgeliefert werden. Zunächst wurde dieses von Kennisnet gehostet und finanziert, die Server stehen heute ausschließlich im Rechenzentrum der Firma EvoSwitch in Amsterdam, die dies seit Juni 2009 sponsert. Dieses ist energiesparend ausgelegt, und der Strom wird nach Firmenangaben vollständig aus regenerativen Energiequellen wie Wind, Sonne und Biomasse erzeugt.
Das Cluster mit dem Codenamen esams
(es → EvoSwitch; ams → Flughafencode-IATA-Code Flughafen Amsterdam Schiphol) übernimmt ausschließlich Cache-Aufgaben und liefert (bspw. für nicht angemeldete Nutzer) vorgerenderte Versionen von Wikipedia-Artikeln, zwischengespeicherte Ressourcen des ResourceLoaders und Ähnliches aus.
San Francisco Cluster (ulsfo)
Ein weiterer Cache-Cluster befindet sich in San Francisco bei United Layer. Auch dieses Cluster, mit dem Codenamen ulsfo
(ul → United Layer; sfo → Flughafen-IATA-Code San Francisco International Airport), liefert, wie esams
, ausschließlich zwischengespeicherte Ressourcen, hauptsächlich für die westlichen USA und Ostasien, aus.
Ehemalige Server und Cluster
Südkorea
Yahoo hatte 23 Rechner inkl. Hosting in Südkorea bereitgestellt, die Server wurden jedoch am 1. Januar 2010 abgeschaltet.
Aubervilliers bei Paris
Ein Squid-Cache mit 5 Servern wurde von lost-oasis.fr und jexiste in Aubervilliers nahe Paris (Frankreich) eingerichtet, ist mittlerweile jedoch wieder stillgelegt.
Tampa Cluster (pmtpa und sdtpa)
Das ehemalige Hauptrechenzentrum in Tampa (Florida), das ebenfalls in einem Rechenzentrum von Equinix betrieben wurde, wurde im Oktober 2014 abgeschaltet. Der Rechnerverbund wurde durch die Codenamen pmtpa
(pm → PowerMedium (ehemaliger Standort der Server); tpa → Flughafen-IATA-Code Tampa International Airport) und sdtpa
(sd → Switch and Data; tpa → Flughafen-IATA-Code Tampa International Airport) abgebildet, wobei pmtpa
die traditionellen Services, ähnlich der Aufgaben des eqiad
-Verbundes, übernahm und sdtpa
lediglich Netzwerkressourcen für pmtpa
bereithielt.
Aufgaben
Die Server der Wikimedia Foundation sind für verschiedene Aufgaben ausgelegt, die neben der Bereitstellung der Projekte unter anderem auch die Verarbeitung ein- und ausgehender Kommunikation und Verwaltungsaufgaben übernehmen.
Caching/HTTPS
Ein Großteil der Seiten der Wikimedia-Projekte werden in Cache-Clustern zwischengespeichert und so schneller an nicht-angemeldete Benutzer ausgeliefert. Hierfür wird der Webtraffic durch die Software Varnish geleitet, die anhand der Konfiguration entscheidet, ob eine zwischengespeicherte Version einer Seite ausgeliefert werden soll, oder ob die Anfrage an einen Webserver weitergeleitet wird (der den Programmcode von MediaWiki zur Erstellung der Webseite ausführt). Varnish selbst kann lediglich HTTP-Traffic verarbeiten und ist nicht in der Lage, mit SSL/TLS gesicherte Anfragen zu beantworten. Um dennoch eine verschlüsselte Verbindung zu Wikimedia-Projekten aufbauen zu können (auch für nicht angemeldete Benutzer), wird die SSL-Verbindung bereits vor Varnish in einer zusätzlichen Instanz terminiert und anschließend intern unverschlüsselt weitergeleitet. Diese Terminierung wird mit dem Webserver Nginx realisiert.
Software
Seit Oktober 2008 laufen alle Server unter dem Betriebssystem Ubuntu,[4] als Serversoftware werden weitestgehend Apache und Nginx, HHVM (als PHP-Implementierung) und MariaDB genutzt, mit MediaWiki als Wiki-Software und Erweiterungen wie memcached und Elasticsearch. Die Caching-Server laufen derzeit unter Varnish. Auf einzelnen Servern läuft auch andere Software, wie etwa Phabricator, WordPress und VRTS-Ticketsystem.
Konfiguriert werden die Server über das Systemkonfigurationswerkzeug Puppet. Wie bei nahezu jedem anderen Softwareprojekt der Wikimedia, können die Konfigurationen öffentlich eingesehen und von jedem bearbeitet werden. Die Versionsverwaltung geschieht mit Git, der Code-Review wird über die Wikimedia-eigene Gerrit-Instanz durchgeführt.
Monitoring
Die Überwachung der Auslastung der einzelnen Cluster und Server (Monitoring) übernimmt eine Kombination aus der Software Icinga und Ganglia. Seit dem 7. Januar 2017 (mit Gerrit-Change 331097) ist Ganglia allerdings veraltet und es wird auf die Verwendung von Grafana als Monitoring-Tool verwiesen. Grafana bietet neben System-Monitoring-Graphen auch Monitoring und Querying-Funktionen für andere Anwendungen an. Die Systemgrafiken, die derzeit noch in Ganglia bereitgestellt werden, werden zukünftig durch Prometheus erfasst und über Grafana zugänglich gemacht.
Details zur Serverauslastung (englisch)
Siehe auch
- Wikipedia:Sorge dich nicht um die Server
- Hamster
- Weiterführende Informationen (englisch)
- Energieverbrauch der Server und Beteiligungsmöglichkeiten an der Nachhaltigkeitsinitiative
- Wikitech-Wiki
- Server admin log
- MediaWiki-Konfiguration der Server
- Wikimedia-Status-Seite
Einzelnachweise
- ↑ Eqiad Migration Planning auf wikitech.wikimedia.org
- ↑ a b T91077 EQDFW/EQORD Deployment Prep Task. Abgerufen am 27. Oktober 2015.
- ↑ a b Clusters auf wikitech.wikimedia.org
- ↑ linux.slashdot.org