Über
Um auch nach der Aufgabe der eigenen Technik genügend Rechenleistung, Speicher und eine schnelle Internet-Anbindung gewährleisten zu können, hat PING bei der Dortmunder Firma Knipp aus Dortmund fünf leistungsfähige Server gemietet. Auf diesen fünf Server laufen jeweils mehrere virtuelle Maschinen, auf denen dann die Dienste laufen, die unseren Mitgliedern und der restlichen Welt zur Verfügung stehen. Diese Seite ist die Basisseite zur Dokumentation dieser Server und ihrer Eigenheiten.
Hardware
Bei den PING-Server, die im Knipp-Rechenzentrum in Dortmund stehen, handelt es sich um fünf identische 2 HE 19" Server. Die Server-Gehäuse beinhalten Schächte für acht SATA-Festplatten, ein redundantes Netzteil (zwei Eingänge) und IPMI-Karten zur Fernwartung. Als Festplattenspeicher stehen zwei Terabyte zur Verfügung, die sich auf zwei im RAID-1-Verbund zusammengeschalteten Festplatten „aufteilen“. Das RAID wird dabei von einem 3ware RAID-Controller in Hardware zur Verfügung gestellt. Jeder Server beinhaltet zwei Gigabit-Ethernet-Netzwerkkarten, die sich fest auf dem Mainboard befinden, sowie eine PCI-Netzwerkkarte. Die IPMI-Karten sind über eine eigene Ethernet-Schnittstelle angebunden, die im Linux-System nicht zu sehen ist.
Komponente |
Anzahl |
Beschreibung |
Mainboard |
1 |
Supermicro X7SB4/E |
CPU |
1 |
Intel® Xeon® X3360 - QuadCore CPU mit 2,83 GHz |
RAM |
4 |
Kingston 2048 MB 800 MHz DDR2 |
Netzteil |
1 |
Redundant 720 Watt brutto |
RAID-Controller |
1 |
3ware Inc 9650SE SATA-II RAID |
Netzwerkkarte |
2 |
Intel 82573E/L Gigabit Ethernet Onboard |
Nerzwerkkarte |
1 |
Intel PCI-X 82541PI Gigabit Ethernet Controller |
Festplatten |
2 |
Western Digital WD2002FYPS SATA-II |
Um auch im laufenden Betrieb nicht den Überblick über die Hardware und ihre Funktionstüchtigkeit zu verlieren, wird die Hardware über die zum Monitoring bereitstehenden Schnittstellen überwacht. Mehr zu diesem Thema finden sich unter https://techdoc.ping.de/Systeme/Knipp-Server/Hardware-Monitoring.
Netzwerk
Die fünf Knipp-Server befinden sich zusammen mit einem (10/100 MBit/s) Switch und einer Vereinseigenen Cisco 2811 in einem 19"-Schrank. Zur Verbindung der Geräte untereinander kommt Ethernet (100baseTX/1000baseT) zum Einsatz. Wie bereits beschrieben besitzt jeder Server drei Netzwerkkarten und eine vierte Ethernet-Schnittstelle der IPMI-Karten, die aber aus dem laufenden System nicht genutzt werden kann.
Mit dem Switch verbunden ist, neben einem FastEthernet-Interface der Cisco, jeweils der Ethernet-Port der IPMI-Karten und das eth0-Interface (die eingesteckte PCI-X-Karte) der Rechner. Die restlichen beiden (Mainboard interne) Netzwerkkarten werden zur Replizierung der Festplatten verwendet und sind direkt über Ethernet-Kabel verbunden. Dabei bilden die fünf Server eine Art geschlossenen Kreis, wie er in der folgenden Abbildung dargestellt ist (IPMI-Karte nicht eingezeichnet):
Wie zu sehen ist, trägt das Interface welches mit den Switch verbunden ist immer den Namen eth0. Die Namen der Interfaces der Direktverbindungen spiegeln den Namen des Rechners der auf der anderen Seite angeschlossen ist wieder. Dabei wurde als Prefix bewusst eth gewählt, da vereinzelt Programme auf entsprechende Namen für Ethernet-Verbindungen prüfen.
Während die eth0-Schnittstellen mit den über VLANs getrennten PING-IP-Netzen (eth0.<vlan-nummer>) direkt konfiguriert oder als Interface in Bridges enthalten sind ( todo: Das wo anders dokumentieren und von hier verlinken), sind die Interface der Direktverbindungen zwischen zwei Servern statisch mit IPv4-Adressen konfiguriert. Dabei wurde ebenfalls ein mehr oder weniger intuitives Schema verwendet. Für jede Server<->Server-Direktverbindung wird ein Class-C-Netz (CIDR /24 für die Klassenlosen unter uns) aus dem 192.168.x.x Bereich verwendet. Da diese Netze nur auf den jeweiligen Servern selber sichtbar sind, stellt es kein Problem dar, wenn diese Netze auf in den normalen VLANs genutzt werden, solange die Server keine IP-Konfiguration auf den entsprechenden Bridges erhalten.
Konkret sehen die konfigurierten Netz/IPs so aus, dass das dritte Byte des Netzwerkteils in der ersten Ziffer die Nummer des Servers mit der kleineren Rechnernummer im Namen und in der zweiten Ziffer die Nummer des Servers mit der größeren Rechnernummer im Namen enthalten. Für die Verbindung zwischen ping01 und ping02 ist also das IP-Netz 192.168.12.0/24 konfiguriert. Der Hostteil der IP-Adressen der beiden beteiligen Server entspricht dann wieder der Nummer des Servers. So hat z. B. der Server ping01 für die Netzwerkschnittstelle die zu ping02 führt (also das Interface eth2 auf ping01) die IP-Adresse 192.168.12.1 während ping02 für die selbe Verbindung (also Interface eth1 auf ping02) die Adresse 192.168.12.2 hat. Die Konfiguration der anderen Rechner/Netzwerke ist analog hierzu.
Festplatten
Jeder der fünf PING-Server verfügt über 2 TB (nutzbaren) Festplattenspeicher, die über ein 3ware RAID-Controller auf eine RAID-1-Volume auf zwei 2 TB SATA-Festplatten untergebracht werden. Diese 2 TB Speicherplatz werden dabei in drei (ok eigentlich vier) Bereiche eingeteilt. Der erste Bereich, mit einer Größe von 100 GB, ist für das Xen-Dom-0 Basissystem (also den Teil, den ping0x ausmacht) und Daten reserviert, die nur auf einem der Server lokal benötigt werden (Swap-Speicher für die Dom-Us gehört dazu). Dieser erste Bereich ist dabei auf zwei Partitionen gegliedert, wovon die ersten mit Ext3 als Dateissystem formatiert den /boot-Bereich der Dom-0 ausmacht. Die restlichen 99800 MB dienen als Physical-Volume (PV) einer LVM-Volume-Group (VG), die den selben Namen wie der Server auf der sie sich (normalerweise) befindet trägt. Der restliche Bereich von 1,8 TB ist für die Daten der Dom-Us gedacht und auf zwei Partitionen zu je 950 GB aufgeteilt. Diese beiden Partitionen werden von DRBD angesprochen (siehe unten). In tabellarischer Form sieht das dann wie folgt aus:
sda |
||
1 |
0,2 GB |
/boot auf Basissystem |
2 |
99,8 GB |
PV für LV mit Namen vom Basissystem |
3 |
950 GB |
DRBD 1: Speicher für lokales Primary DRBD |
4 |
950 GB |
DRBD 2: Speicher für entferntes Slave DRBD |
DRBD
Bei der DRBD handelt es sich um ein über Netzwerk replizierendes Speichersystem. Es ist quasi ein RAID-1 über IP und ermöglicht das spiegeln von Daten über Netzwerke. Auf den fünf Knipp-Servern wird es genutzt, um eine gewisse Ausfallsicherheit zu gewährleisten. Dies geschieht, indem die Daten der Dom-Us nicht nur auf dem Server liegen, auf dem sie regulär laufen, sondern über DRBD repliziert zusätzlich auf einem zweiten System vorhanden sind. Dies ermöglicht im Falle eines Ausfalls eines Server ein Wiederbeleben der betroffenen Dom-Us auf einem anderen Server (idealerweise auf dem, der die Daten schon gespiegelt hat).