Hallo,
Heiko Schlittermann wrote:
Hallo Cedric,
Cedric Fingler c.fingler@googlemail.com (Mon Oct 24 10:02:12 2011):
Hallo liebe Mitlesende,
ich habe eine allgemeine Frage bezüglich Hardwarearchitektur. Für ein Projekt ist es notwendig, dass gewisse Kriterien erfüllt werden. Diese sehen wie folgt aus:
- Der Server muss hochverfügbar sein
- Die Last muss effizient verteilt werden (Loadbalancing)
- Der Server muss skalierbar und ohne Downtime erweiterbar sein (RAM,
Festplattenspeicher)
- Auf dem Server läuft Debian (nicht unbedingt Voraussetzung)
Ich habe es jetzt einfacher als Ronny, weil ich seine und Deine Antworten schon kenne???
Ich habe es noch einfacher, weil du viele Sachen schon angesprochen hast, die noch anzusprechen wären :)
Von einfam ???der Server??? zu sprechen, macht die Sache unnötig komplex.
Und ist auch nicht sehr hilfreich, weil *ein* Server garnicht hochverfügbar sein kann, ist er doch selbst der Single Point of Failure :)
Ich würde hier tatsächlich fragen wollen, welche Applikation 100% verfügbar sein soll, dann kann man auch entscheiden, mit welchen Mitteln von Lastverteilung und Absicherung der Verfügbarkeit sich etwas anstellen läßt.
100% ist übrigens auch noch so eine Utopie, man kann über 99,9% reden oder auch über 99.999%, muss dann je nach Anzahl der 9er Geld und Zeit für die Planung und die Umsetzung und auch für den laufenden Betrieb kalkulieren, oder umgekehrt aus dem Budget ableiten, wieviele 9er man garantieren kann...
Willst Du nur 100% der Zeit eine Maschine per ICMP Echo Request erreichen, muß man über kein verteiltes Storage nachdenken.
Willst Du eine Webapplikation 100% verfügbar machen, die Daten auf den Clients speichert (Cookies etc), ist auch kein 100% verfügbares Storage notwendig.
Wenn die Webapplikation immer mit einer Datenbank reden können soll, dann könnte man untersuchen, ob auf dem Sektor der Datenbanken welche existieren, die 100% Verfügbarkeit der Daten (Master-Master, usw???) versprechen, ohne ein gemeinsames Filesystem zu benötigen.
Gibt es Sessions, die übernommen werden müssen, wenn ja, auf welchem OSI-Layer?
Ohne genauere Kenntniss, was genau verfügbar sein soll, kann man eben immer nur raten ;-)
Gibt es dort irgendwie einen Ansatz, den man als "Normalo" auch umsetzen kann? Kennt jemand zufällig ein Unternehmen, welches solche Lösungen (kostengünstig) anbietet?
Ich denke, es gibt einige Unternehmen, die das umsetzen möchten und können. Eins ist Dir genannt worden, andere lassen sich relativ leicht finden.
<Werbeblock> Meine macht sowas auch, als Schwerpunktthema, siehe http://www.cc-dresden.de/ - aber in unserem konkreten Fall eher nicht mit Debian, sondern mit der Steeleye Protection Suite for Linux unter SLES, RHEL oder CentOS. Bei Interesse einfach melden ;) </Werbeblock>
Allerdings meine ich, daß ???kostengünstig??? sehr dehnbar sein sollte und den Anforderungen entsprechen wird. Welcher Auftraggeber sich auch immer soetwas wünscht, wird Gründe dafür haben und wird auch zu Investitionen gezwungen sein, entweder direkt mit Geld, oder in Arbeitszeit für seine Admins.
Wie oben angesprochen, das Budget und die Anzahl der 9er bei der garantierten Verfügbarkeit stehen in einem engen Verhältnis. Ab einer bestimmten Zahl 9er wird es dann aber sehr schnell sehr teuer.
Es ist, glaube ich, noch immer keine Brot- und Butterlösung, was Du dort suchst. Wenn ich mir beispielsweise Debian anschaue, dann gibt es dort noch viel zu tun, um einfach zwei System zu einem ???virtuellen??? System zusammenzufassen, wenn DRBD, Heartbeat, Pacemaker (oder wie das Teil auch gerade heißt) verwendet werden sollen. ???aptitude install ha-mailserver??? gibt es noch nicht???
Das mag daran liegen, dass Hochverfügbarkeit die ganze Angelegenheit sehr komplex macht. Hochverfügbarkeit ist wie eine Firewall - keine Lösung, sondern ein Prozess. Damit will ich sagen: Einfach ein Rundum-Sorglos-Paket installieren reicht nicht, sondern man muss auch die Arbeitsprozesse anpassen, Monitoring ist ein Thema, bei 24/7-Betrieb geht es mit Bereitschaftszeiten für Admins weiter... ein endloses Thema. Es gibt da eine ganze Palette von Ansätzen, und je nach Anforderung kann es da ganz unterschiedliche Lösungen geben.
Ciao, Thomas