Einleitung
From RootForum Community » Wiki
Contents |
Aufbau eines Webcluster / Hochverfügbarkeit
!Achtung, dieser Artikel ist noch in Arbeit.!
Auch im Umfeld von Rootservern besteht die Möglichkeit, ein Hochverfügbares System in Abhängigkeit des Providers zu realisieren. Hier wird ein Beispielaufbau beschrieben, der die wesentlichsten Möglichkeiten darstellen soll. Natürlich
hat auch dieses Setup noch "Lücken", die u.U. ein manuelles Eingreifen erforderlich machen.
Leider geben es die meisten Provider Angebote nicht her, auch in einem Vlan eine "Cluster IP" zu verwenden. Entsprechend mussten Kompromisse gefunden und eingegangen werden. Dennoch gibt es Tricks und Workarounds, die einen stabilen, wenn auch nicht ausfallsicheren Betrieb realisieren können.
Es gab aber noch weitere Gründe für ein solches Setup. Z.B. Sicherheit und einfache Wartbarkeit.
Die Ursache
Jeder der einen Rootserver betreibt und einen Ausfall zu vermelden hatte, weiss, wie lästig das Thema ist, und wie lange ein Ersatz eines physischen Hosts dauern kann. Eine Standalone Maschine ist also für den Betrieb von Geschäftsanwendungen weniger geeignet. Gerade wenn man im Webhosting mit spielen mag, und sich nicht als NOB blamieren möchte, sollte man ein Konzept für einen "hochverfügbaren" Betrieb in der Tasche haben. Viele sehen sich als Premium Provider, der es viel besser und individueller macht als die grossen Massenprovider. In der Realität wurden noch nicht einmal die einfachsten Basics berücksichtigt um einen stabilen und zuverlässigen Betrieb zu gewährleisten.
Kommt man dann auf die Idee, ich nehme mir halt 2 Maschinen, dann habe ich einen Fallback, steht man häufig vor dem Problem, dass man die Daten, Konfigurationen etc. im sync halten muss. Es bringt mir ja nichts, wenn ich einen Host erst stundenlang mit Backups auf den aktuellen Stand bringen muss, wenn vorheriger ausgefallen ist. Sofern überhaupt ein Backup besteht.
Der andere Punkt ist, man muss regelmässig Software Updates, Bugfixes und auch schon mal Security Fixes einspielen. Das bleibt einfach nicht aus. Mit einer Standalone Maschine oder einem schlechten Betriebskonzept kommt man hier ohne Downtime nicht weiter. Und dann ergibt sich immer das Risiko, dass einem ein Fehler unterläuft, es zu Problemen mit den upgedateten Komponenten kommen kann. Als Super Duper Provider, über wessen Spezies ich mich in meinem Blog schon zu genüge ausgelassen habe, geht eine Downtime natürlich niemals. Entweder weil man den Mund zu voll genommen hat oder einfach keine Ahnung hat. Wie dem auch sei, es geht auch mit minimaler Unterbrechung und wenig Risiko einen guten Service an die Endkunden weiter geben zu können. Ausserdem schont es so manches mal die eigenen Nerven, wenn man nicht mitten in der Nacht, kurz vor dem Schulbeginn, noch ein System retten muss.
Die Überlegung
Was also benötigt wird, ist eine Lösung, die es auf der einen Seite einfach ermöglicht, ein System offline zu nehmen, Wartungsarbeiten durch zu führen und zum anderen auch einen stabilen Betrieb bei Hardwareproblemen abdecken kann. Das ganze jedoch so simpel, dass es ein normaler Unix / Linux Anwender zum laufen bekommt und einem nicht das elterliche Taschengeld zu Gänze auffrisst. Zudem will man die Konfigurationen nicht auf jedem Host manuell einspielen. Auch dies soll mit "geringem" Aufwand realisierbar sein.
Nachfolgende Artikelserie soll den Aufbau eines Webcluster Systemes beschreiben, welches die wesentlichen Problemen und Hürden im Rootserverumfeld behebt. Entsprechende Lösung wird auch im professionellen Umfeld teilweise oder im vollem Umfang angewendet.
Das Ergebnis
Es wird ein Webcluster aufgebaut basierend auf:
- Apache2 als Loadbalancer und in Kombination mit mod_security2 als WAF
- Lighttpd als Webserver
- php5 als Fastcgi Prozess
- mysql als Datenbank