CMS Journal
Nr. 33
Juni 2010
Service
Metadaten
Hinweise
Weitere Artikel aus dem cms-Journal Nr. 33 finden Sie auf dem edoc-Server der Humboldt-Universität zu Berlin unter http://edoc.hu-berlin.de/cmsj/33
Copyright
Dieser Artikel ist ein Open Access Artikel und steht unter der Creative Commons Lizenz BY (siehe...).

Ein Überblick über die Webinfrastruktur des CMS


Andreas Kunert
kunert@cms.hu-berlin.de

Abstract

Die Bereitstellung von Webservern stellt einen zentralen Dienst des Computer- und Medienservices dar. Der folgende Artikel stellt die Infrastruktur hinter den Webauftritten vor und beschreibt dabei die eingesetzten Serversysteme inklusive einiger erwähnenswerter Details ihrer Konfiguration.


Auf den Webservern des CMS können Institute und Universitätsangehörige im Rahmen ihrer Tätigkeit sowie auch der CMS selbst Webauftritte anlegen und pflegen.

Dabei sind die Webauftritte auf mehrere Serversysteme verteilt, wobei die Hauptlast von drei dedizierten Systemen getragen wird, die im Folgenden einzeln vorgestellt werden.


Athene/www2

Das erste System ist ein Paar von Webservern, das im Netzwerk unter den Namen athene oder www2 bekannt ist.

Dabei handelt es sich um ein System, das vor allem für die Webauftritte und Webapplikationen von Fakultäten, Instituten, Lehrstühlen und sonstigen hoch­ schuleigenen Einrichtungen zuständig ist. Aber auch die Webauftritte von nur lose mit der Humboldt-Universität verbundenen Organisationen und Projekten sind auf Athene zu finden. Eine ständig aktuelle (da dynamisch generierte), vollständige Liste aller Webauftritte (der­ zeit ca. 350) kann unter http://www2.hu­ berlin.de/internal/index2.php abgerufen werden.

Seitens des Webservers werden sowohl statische Webseiten als auch ServerSide-Includes (SSI), PHP5, CGI- Skripte (Perl, Python, Ruby, ...) und Servlets (Tomcat 5 und 6) unterstützt. Darüber hinaus sind von Athene aus prinzipiell alle Datenbanksysteme des zentralen Datenbankdienstes des CMS (Sybase, PostgreSQL, MySQL) erreichbar, so dass auch diese im Rahmen eines Webauftritts verwendet werden können.

Auch eigene (virtuelle) Webadressen der Nutzer werden unterstützt (also beispielsweise www.projekt.de statt www2. hu-berlin.de/projekt). Außerdem bietet Athene für jeden Webauftritt detaillierte (aber selbstverständlich hinreichend anonymisierte) Zugriffsstatistiken.

Besonders erwähnenswert ist die ständige Synchronisierung der Festplatten beider Knoten mittels DRBD (Distributed Replicated Block Device). Dank dieser, auch als „RAID-1 übers Netz“ bekannten, Technik werden sämtliche Festplattenzugriffe simultan auf beiden Servern durchgeführt, so dass beide Server jederzeit über den exakt gleichen Daten­ bestand verfügen. Dabei wird DRBD auf Athene im Multimaster-Modus betrieben. Das heißt, dass beide Server sowohl le­ send als auch schreibend auf die gemein­ same Datenbasis zugreifen dürfen. Damit dies auch bei simultanen widersprüchlichen Zugriffen nicht zu Komplikationen führt, wird ein Cluster-Filesystem verwendet (GFS), das dank geeigneter Locking-Mechanismen parallele Zugriffe bei Bedarf entsprechend sequentialisiert.

Inhaltsverzeichnis

...

Athene/www2...

Zeus/www3...


Zeus/www3

Ein weiteres Webserversystem ist der Zeus-Cluster, der im Netz wahlweise unter den Namen zeus oder www3 verfügbar ist. Dieser beherbergt vor allem die zentralen Webapplikationen des CMS. Die am häufigsten genutzten darunter sind die Webmailer SquirrelMail und Round-Cube, das Zentrale Informationssystem (ZIS) und das Gebäudeinformationssystem (GIS) der Humboldt-Universität.

Wie bei Athene handelt es sich auch bei Zeus um einen Cluster aus zwei Knoten (zeus1 und zeus2). Die Grundlage beider Knoten bildet je ein Sun-T2000Server (je eine T1-CPU mit acht Prozessorkernen, die wiederum jeweils vier Threads anbieten, 16 GB RAM). Das zugrundeliegende Betriebssystem ist Solaris 10, als zentrale Webserversoftware kommt wie bei Athene Apache 2.2 zum Einsatz.

Der Cluster arbeitet im Failover-Betrieb, das heißt, es ist immer nur ein Knoten im Produktionsbetrieb, während der andere für den Havariefall bereitsteht. Eine gemeinsame Datenbasis wird dadurch sichergestellt, dass sich alle webserverbezogenen Daten (Webserversoftware, Webauftritte, usw.) auf einer externen SAN-Platte befinden, die beim Wechsel des Produktionsservers auf den dann aktiven Server verschwenkt wird. Die Clustersoftware (Sun Cluster) ist dabei so eingerichtet, dass sie beim Ausfall des Produktionsservers automatisch den Produktionsserverwechsel inklusive Verschwenkung durchführt.

Inhaltsverzeichnis

...

Athene/www2...

Zeus/www3...

Webmania/www

Die wohl aufwendigste Infrastruktur innerhalb der Webdienste des CMS weist die Zope/Plone-Installation Webmania auf. Hinter diesem Namen verbirgt sich eine Architektur, bestehend aus zehn Zope/Plone-Webservern, zwei Zeo-Datenbankservern und zwei Loadbalancing-Servern.

Derzeit befinden sich ca. 80 Webauftritte in der Zope/Plone-Installation. Darunter befinden sich die zentrale Webseite der Humboldt-Universität (www. hu-berlin.de) und des Computer- und Medienservice (www.cms.hu-berlin.de).

Von den Webservern dieser Gruppe werden ausschließlich Zope/Plone-Installationen unterstützt. Dabei ist die Verwendung einer eigenen virtuellen Webadresse bis auf wenige Ausnahmen Pflicht. Analog zu Athene werden die Nutzer auch bei Webmania mit aussage-kräftigen Zugriffsstatistiken versorgt.

Da die Architektur bereits detailliert im CMS-Journal Nr. 31 beschrieben wurde, soll sie hier nur kurz zusammengefasst werden. Die Grundlage des Serververbundes stellen die Zope/Plone-Webserver (zyklop1, zyklop2 und zyklop5 bis zyklop12) dar, die die Zope/Plone-Instanzen ausführen. Als dafür benötigte Zeo-Datenbankserver dienen zwei weitere „Zyklopen“ (zyklop3 und zyklop4), deren lokale Platten mittels des bereits oben erwähnten DRBD synchronisiert werden.

Eingehende Anfragen landen zunächst beim Eingangsservercluster webmania, bestehend aus den beiden Knoten webmania01 und webmania02. Dieser Cluster erfüllt zunächst die Aufgabe eines Caches, das heißt er versucht die Anfrage selbst mit der zwischengespeicherten Antwort einer früheren äquivalenten Anfrage zu beantworten. Nur wenn er dazu nicht in der Lage ist, wird die Anfrage an einen Zyklopen weitergereicht, wobei versucht wird, die Anfragen unter den Zyklopen möglichst gleichmäßig zu verteilen.

Technisch gesehen handelt es sich bei allen „Zyklopen“ um Dell-Server (zyklop1 bis zyklop8: Dell PE 1850/ 2850/1950 – Intel-Xeon-CPUs, 2,6–3 GHz, 8–16 GB RAM; zyklop9 bis zyklop12: Dell PE R610 – je 2 Intel-Xeon-Quad-Core-CPUs, 2,2 GHz, 48 GB RAM), die unter Debian betrieben werden. Die Loadbalancer webmania01 und webmania02 stammen ebenfalls von Dell (PE R900, Intel-Xeon-Quad-Core-CPUs, 1,6 GHz, 48 GB RAM) und laufen unter Ubuntu. Auf allen Rechnern werden als Webserversoftware Apache 2.2 und als Webcache Squid 2.7 eingesetzt.

Weitere Webserver am CMS

Neben den drei vorgestellten Systemen existieren am CMS noch weitere Webserver, die hier nur kurz erwähnt werden sollen. Um die persönlichen Webauftritte von Universitätsangehörigen kümmert sich amor, der zentrale Server der Benutzerberatung.

Die zentrale Serverüberwachung des CMS läuft auf einem eigenen Server, dessen Name nagios mit dem Namen der eingesetzten Überwachungssoftware übereinstimmt. Analog benannt wurde der Webserver twiki der das CMS-interne Wiki bereitstellt.

Für den Webzugang auf zentral gespeicherte Daten verwendet der Fileservice des CMS die zwei Webserver webfiles und webafs. Des Weiteren existieren separate Server für das zentrale Lehr- und Prüfungsorganisationssystem AGNES und Moodle. Auch beim Dokumenten- und Publikationsserver der Humboldt-Universität handelt es sich um einen separaten Webserver (edoc).