Problem Load Balancing für Webserver
Problem Load Balancing für Webserver
Hallo,
wir haben bei uns ein LoadBalancing-System aufgesetzt mittels der Software "pen". Hierbei gibt es leider ein Problem - das Balancing ansich funktioniert einwandfrei - da auf den Webservern aber ein Werbenetzwerk läuft, benötigen wir hier die echte Client-IP-Adresse. Die Webserver selbst sehen aber immer nur die Software des "pen"-Servers, der die Anfrage weitergeleitet hatte - auf diese Art und Weise kann man also unmöglich eine Reloadsperre realisieren. Als weiteres Problem kommt hinzu, das die Proxy-Erkennung womöglich nicht mehr funktioniert.
Aus diesem Grund meine Frage:
Kennt jemand einen Weg, das die ursprüngliche Client-IP von Pen an den Webserver weitervermittelt wird? Oder gibt es womöglich eine andere Software unter Linux, die eine solche Aufgabe besser bewerkstelligen kann?
Aufbau des Systems:
http://www.xyz.de => Load Balancer mit "pen"
www1.xyz.de => 1. Webserver
www2.xyz.de => 2. Webserver
sql.xyz.de => DB-Server, alle WWW-Server greifen darauf zu
Alle Webserver sehen zur Zeit die IP von "www.xyz.de" und nicht die wahre User-IP. Ich möchte unbedingt vermeiden, auf den Load Balancer einen kompletten Apache aufsetzen zu müssen der sich evtl. um die Umleitungen kümmert. Es würde auch schon reichen, wenn "pen" eine echte UMLEITUNG machen würde:
Beispiel: User ruft http://www.xyz.de auf und landet auf www1.xyz.de und sieht das auch in der URL-Zeile - dennoch leitet der LoadBalancer nur weiter, wenn er sich sicher ist das die Maschine verfügbar sein wird und läuft (und keinen Ausfall hat). Gibt es dafür eine Lösung?
Michael
wir haben bei uns ein LoadBalancing-System aufgesetzt mittels der Software "pen". Hierbei gibt es leider ein Problem - das Balancing ansich funktioniert einwandfrei - da auf den Webservern aber ein Werbenetzwerk läuft, benötigen wir hier die echte Client-IP-Adresse. Die Webserver selbst sehen aber immer nur die Software des "pen"-Servers, der die Anfrage weitergeleitet hatte - auf diese Art und Weise kann man also unmöglich eine Reloadsperre realisieren. Als weiteres Problem kommt hinzu, das die Proxy-Erkennung womöglich nicht mehr funktioniert.
Aus diesem Grund meine Frage:
Kennt jemand einen Weg, das die ursprüngliche Client-IP von Pen an den Webserver weitervermittelt wird? Oder gibt es womöglich eine andere Software unter Linux, die eine solche Aufgabe besser bewerkstelligen kann?
Aufbau des Systems:
http://www.xyz.de => Load Balancer mit "pen"
www1.xyz.de => 1. Webserver
www2.xyz.de => 2. Webserver
sql.xyz.de => DB-Server, alle WWW-Server greifen darauf zu
Alle Webserver sehen zur Zeit die IP von "www.xyz.de" und nicht die wahre User-IP. Ich möchte unbedingt vermeiden, auf den Load Balancer einen kompletten Apache aufsetzen zu müssen der sich evtl. um die Umleitungen kümmert. Es würde auch schon reichen, wenn "pen" eine echte UMLEITUNG machen würde:
Beispiel: User ruft http://www.xyz.de auf und landet auf www1.xyz.de und sieht das auch in der URL-Zeile - dennoch leitet der LoadBalancer nur weiter, wenn er sich sicher ist das die Maschine verfügbar sein wird und läuft (und keinen Ausfall hat). Gibt es dafür eine Lösung?
Michael
-
firefox747
- Posts: 52
- Joined: 2002-08-22 12:37
Re: Problem Load Balancing für Webserver
Bin auch erst gerade am einlesen, aber macht mergelog nicht genau das?
Mergelogs
A side-effect of the load-balancing is that several logfiles are produced, and all accesses seem to come from the load balancer. The program mergelogs solves this problem by merging pen's log file with the ones produced by the web servers. See mergelogs(1) for details.
Re: Problem Load Balancing für Webserver
Hallo,
ja, dies trifft aber nur auf die LOG-Files zu. Zu diesem Zweck wird auf dem LoadBalancing-Server der penlogd-Daemon gestartet und auf den WWW-Servern ein bestimmten httpd-Eintrag im Config-File gemacht. per UDP bekommt der LoadBalancer dann die Zugriffsdaten der WWW-Server mitgeteilt und protokolliert alles mit der richtigen IP.
Das ist aber nicht das, was ich brauche - auf den WWW-Servern muss aus einer PHP-Datei der direkte Zugriff auf die Client-IP möglich sein, beispielsweise per
getenv("REMOTE_ADDR");
Dieser Befehl gibt mir aber immer die IP des LoadBalancers zurück. Mit einem Zusatzschalter kann man in der Variable HTTP_X_FORWARDED_FOR die Client-IP von Pen übergeben lassen - Problem hierbei: Pen gibt diese Variable nur beim ersten Aufruf mit, beim Reload der Seite NICHT mehr. Zusatzproblem: Die gesamte Proxy-Erkennung wird dadurch deaktiviert, weil man das anhand dieser Variable vorher feststellen konnte. Besser wäre eine seperate Variable (z.B. HTTP_PEN_CLIENTIP oder ähnliches) gewesen.
ja, dies trifft aber nur auf die LOG-Files zu. Zu diesem Zweck wird auf dem LoadBalancing-Server der penlogd-Daemon gestartet und auf den WWW-Servern ein bestimmten httpd-Eintrag im Config-File gemacht. per UDP bekommt der LoadBalancer dann die Zugriffsdaten der WWW-Server mitgeteilt und protokolliert alles mit der richtigen IP.
Das ist aber nicht das, was ich brauche - auf den WWW-Servern muss aus einer PHP-Datei der direkte Zugriff auf die Client-IP möglich sein, beispielsweise per
getenv("REMOTE_ADDR");
Dieser Befehl gibt mir aber immer die IP des LoadBalancers zurück. Mit einem Zusatzschalter kann man in der Variable HTTP_X_FORWARDED_FOR die Client-IP von Pen übergeben lassen - Problem hierbei: Pen gibt diese Variable nur beim ersten Aufruf mit, beim Reload der Seite NICHT mehr. Zusatzproblem: Die gesamte Proxy-Erkennung wird dadurch deaktiviert, weil man das anhand dieser Variable vorher feststellen konnte. Besser wäre eine seperate Variable (z.B. HTTP_PEN_CLIENTIP oder ähnliches) gewesen.
-
Anonymous
Re: Problem Load Balancing für Webserver
Auf der PEN-Homepage steht, dass mit Version 0.12.1 das Problem gelöst ist. X-Forwarded-For wird nun immer mitgeschickt.
Re: Problem Load Balancing für Webserver
Hallo,
jep, das System ist nun auch bei uns lauffähig und im Einsatz. Die 0.12.1 wurde erst nach diesem Topic veröffentlich, ich hatte auch vorher noch in der Mailingliste kommuniziert. Trotzdem danke! :)
jep, das System ist nun auch bei uns lauffähig und im Einsatz. Die 0.12.1 wurde erst nach diesem Topic veröffentlich, ich hatte auch vorher noch in der Mailingliste kommuniziert. Trotzdem danke! :)
Re: Problem Load Balancing für Webserver
Load Balancer finde ich auch ganz interessant, nur wie funktioniert das, dass ich die Webserver synchron halte? Wie loest ihr das Problem?
Wie waehlt pen denn die Webserver aus? Nach welchem Schema?
Gruss
Martin
Wie waehlt pen denn die Webserver aus? Nach welchem Schema?
Gruss
Martin
Re: Problem Load Balancing für Webserver
Hallo,
pen wählt unterschiedlich aus - entweder Anfangs per Zufall oder genauer per Hash-Wert, danach wird der Besucher in der Standardeinstellung immer auf denselben Server geleitet. Es gibt aber auch die Möglichkeit, ein "Round-Robin" (also ein Abwechseln der Server) einzustellen.
Wir haben auf dem Loadbalancer die nötigen Daten abgelegt (per FTP) und synchronisieren die WWW-Server per rsync.
Michael
pen wählt unterschiedlich aus - entweder Anfangs per Zufall oder genauer per Hash-Wert, danach wird der Besucher in der Standardeinstellung immer auf denselben Server geleitet. Es gibt aber auch die Möglichkeit, ein "Round-Robin" (also ein Abwechseln der Server) einzustellen.
Wir haben auf dem Loadbalancer die nötigen Daten abgelegt (per FTP) und synchronisieren die WWW-Server per rsync.
Michael
Re: Problem Load Balancing für Webserver
Das Problem ist aber, glaub ich zumindest, es gibt zwei Server (Serv1 und Serv2), eine PHP Script aendert eine Datei im Filesystem auf Serv1, die Aenderung wird dann per rsync an Serv2 uebertragen, das sollte kein Problem sein. Aber wenn jetzt einen Datei auf Serv2 geaendert wird, wird die beim naechsten rsync doch wieder ueberschrieben, oder?michaeljk wrote:Hallo,
pen wählt unterschiedlich aus - entweder Anfangs per Zufall oder genauer per Hash-Wert, danach wird der Besucher in der Standardeinstellung immer auf denselben Server geleitet. Es gibt aber auch die Möglichkeit, ein "Round-Robin" (also ein Abwechseln der Server) einzustellen.
Wir haben auf dem Loadbalancer die nötigen Daten abgelegt (per FTP) und synchronisieren die WWW-Server per rsync.
Michael
Martin
Re: Problem Load Balancing für Webserver
Du könntest das Filesystem per INSERTYOURFAVORITEPROTOCOL über Netzwerk mounten... Hat allerdings auch Nachteile (z.B. ein weiterer Schwachpunkt im System).
JamesB
JamesB
Re: Problem Load Balancing für Webserver
Du hast mich falsch verstanden:
Es gibt den LoadBalancer (s1), WWW-Server (s2 und s3). Auf s1 läuft ein FTP-Daemon, dort werden die Daten hochgeladen. Nun kann man manuell oder automatisch per Cron entweder:
- Vom LoadBalancer die Files auf die WWW-Server verteilen
- Oder umgekehrt von den WWW-Servern die aktuellen Daten vom LoadBalancer abholen lassen
Im Optimalfall läuft auf dem LoadBalancer ein Apache auf einem anderen Port (z.B. 81), dann kann man dort alles bequem durchtesten - wenn alles zufriedenstellend läuft, stösst man per Script ein Update beider WWW-Server an, die Daten werden übertragen und funktionieren sofort fehlerfrei.
Es werden also NIE die Daten direkt auf die WWW_Server per FTP hochgeladen, immer nur an den LoadBalancer.
Michael
Es gibt den LoadBalancer (s1), WWW-Server (s2 und s3). Auf s1 läuft ein FTP-Daemon, dort werden die Daten hochgeladen. Nun kann man manuell oder automatisch per Cron entweder:
- Vom LoadBalancer die Files auf die WWW-Server verteilen
- Oder umgekehrt von den WWW-Servern die aktuellen Daten vom LoadBalancer abholen lassen
Im Optimalfall läuft auf dem LoadBalancer ein Apache auf einem anderen Port (z.B. 81), dann kann man dort alles bequem durchtesten - wenn alles zufriedenstellend läuft, stösst man per Script ein Update beider WWW-Server an, die Daten werden übertragen und funktionieren sofort fehlerfrei.
Es werden also NIE die Daten direkt auf die WWW_Server per FTP hochgeladen, immer nur an den LoadBalancer.
Michael
Re: Problem Load Balancing für Webserver
Da gibt es aber auch noch einen gewaltigen Nachteil, was ist wenn das Filesystem ausfaellt. Eigentlich will ich ja einen Cluster mit Lastverteilung. Im Falle des Falles, wenn ein Server ausfaellt, dass ich dann die gleichen Daten noch auf dem anderen Server habe.JamesB wrote:Du könntest das Filesystem per INSERTYOURFAVORITEPROTOCOL über Netzwerk mounten... Hat allerdings auch Nachteile (z.B. ein weiterer Schwachpunkt im System).
JamesB
Wie laesst sich so was realisieren?
Martin
Re: Problem Load Balancing für Webserver
Das hab ich schon verstanden, aber was ist den mit den Webanwendungen, wenn dort Daten auf dem Filesystem geaendert werden (z.b. auf s3), dann gehen die doch bei naechsten Update verloren. Einfache Dateien, die nicht dynamisch durch die Webanwendungen veraendert werden, lassen sich natuerlich so schoen auf die Server verteilen.michaeljk wrote:Im Optimalfall läuft auf dem LoadBalancer ein Apache auf einem anderen Port (z.B. 81), dann kann man dort alles bequem durchtesten - wenn alles zufriedenstellend läuft, stösst man per Script ein Update beider WWW-Server an, die Daten werden übertragen und funktionieren sofort fehlerfrei.
Es werden also NIE die Daten direkt auf die WWW_Server per FTP hochgeladen, immer nur an den LoadBalancer.
Michael
Re: Problem Load Balancing für Webserver
Der LoadBalancer muss ohnehin verfügbar sein, ansonsten würde der Cluster nicht funktionieren. Eine fast ausfallsichere Variante:
Zwei LoadBalancer die sich per Heartbeat überwachen, fällt einer aus, übernimmt der andere dessen IP und sendet dem Admin sofort eine Warnung per SMS, EMail, ....
Beide LoadBalancer synchronisieren den Hauptdatenbestand per Rsync gegenseitig - von den Loadbalancern gehen die Daten auf die WWW-Server über, so hat man eine klar untergliederte Struktur.
Einziger Schwachpunkt in einem solchen System ist und bleibt immer der DB-Server (jedenfalls im Falle von MySQL) - wenn da jemand einen guten Vorschlag hat, immer her damit. Die Replikation von Datenbanken ist in einem solchen fall nämlich keine so einfache Geschichte mehr...
Zwei LoadBalancer die sich per Heartbeat überwachen, fällt einer aus, übernimmt der andere dessen IP und sendet dem Admin sofort eine Warnung per SMS, EMail, ....
Beide LoadBalancer synchronisieren den Hauptdatenbestand per Rsync gegenseitig - von den Loadbalancern gehen die Daten auf die WWW-Server über, so hat man eine klar untergliederte Struktur.
Einziger Schwachpunkt in einem solchen System ist und bleibt immer der DB-Server (jedenfalls im Falle von MySQL) - wenn da jemand einen guten Vorschlag hat, immer her damit. Die Replikation von Datenbanken ist in einem solchen fall nämlich keine so einfache Geschichte mehr...
Re: Problem Load Balancing für Webserver
@mas:
Daten die z.B. per WWW von den Usern neu hochgeladen werden (z.B. Bilder) müssen sofort auf einen zentralen Fileserver abgelegt werden. Man sollte Daten, Hauptscripte, Loadbalancer und Datenbank immer schön sauber voneinander trennen. PHP kann dies ja intern per FTP bereits machen bei einem Upload - so jedenfalls kenne ich das von anderen Leuten die ein Clustersystem in derselben Art bereits im Einsatz haben.
Nachtrag: Das hat auch den enormen Vorteil, das man größere Datenmengen wie z.B. die Bilder auf Webspace oder Servern ablegen kann, auf denen der Traffic billiger ist. Wenn jemand auch dort absolute Ausfallsicherheit haben will, kann man diesen Fileserver ja ebenfalls spiegeln lassen.
Daten die z.B. per WWW von den Usern neu hochgeladen werden (z.B. Bilder) müssen sofort auf einen zentralen Fileserver abgelegt werden. Man sollte Daten, Hauptscripte, Loadbalancer und Datenbank immer schön sauber voneinander trennen. PHP kann dies ja intern per FTP bereits machen bei einem Upload - so jedenfalls kenne ich das von anderen Leuten die ein Clustersystem in derselben Art bereits im Einsatz haben.
Nachtrag: Das hat auch den enormen Vorteil, das man größere Datenmengen wie z.B. die Bilder auf Webspace oder Servern ablegen kann, auf denen der Traffic billiger ist. Wenn jemand auch dort absolute Ausfallsicherheit haben will, kann man diesen Fileserver ja ebenfalls spiegeln lassen.
Last edited by michaeljk on 2004-02-05 21:18, edited 1 time in total.
Re: Problem Load Balancing für Webserver
Umso mehr Sicherheit du haben willst, desto komplexer wird das ganze natürlich...michaeljk wrote:Einziger Schwachpunkt in einem solchen System ist und bleibt immer der DB-Server (jedenfalls im Falle von MySQL) - wenn da jemand einen guten Vorschlag hat, immer her damit. Die Replikation von Datenbanken ist in einem solchen fall nämlich keine so einfache Geschichte mehr...
Eine Möglichkeit für MySQL: Du schaltest das Logging ein und schickst einfach alle UPDATEs, INSERTs usw.. (was sonst halt noch Schreibzugriffe auf die DB macht) an den 2. Server. In einem solchen Fall könntest du auch die gesendeten Querys nochmal extra überprüfen, im Notfall (wenn z.B. ne DB gelöscht wurde) ne Warn-Mail an den Admin schicken und was weiß ich noch was alles :-)
Dann kann man sich noch weiter verkünsteln, z.B. die Server in verschiedene Subnetze mit versch. Routern, versch. Hardware, versch. Rechenzentren usw...
JamesB
Re: Problem Load Balancing für Webserver
Achso, das stimmt natuerlich. Daran habe ich gar nicht gedacht, warum die Daten nicht per NFS auf dem LoadBalancer speichern, wenn der nicht laeuft, laeuft eh nichts.michaeljk wrote:Der LoadBalancer muss ohnehin verfügbar sein, ansonsten würde der Cluster nicht funktionieren. Eine fast ausfallsichere Variante:
Zwei LoadBalancer die sich per Heartbeat überwachen, fällt einer aus, übernimmt der andere dessen IP und sendet dem Admin sofort eine Warnung per SMS, EMail, ....
Beide LoadBalancer synchronisieren den Hauptdatenbestand per Rsync gegenseitig - von den Loadbalancern gehen die Daten auf die WWW-Server über, so hat man eine klar untergliederte Struktur.
Kann man mit rsync den Datenbestand auf beiden Seiten sychronisieren, ich meine, es geht nur von einem auf den anderen, oder?
Also ich habe heute in einem Buch gelesen, dass es mit der Replikation eigentlich nicht so schwierig sein sollte. Master/Slave defnieren, der Master schmeisst alles auf den Slave und wenn der Master ausfaellt muss man den Slave leider manuell, also MySQL bietet von Haus aus keine Moeglichkeit, umkonfigurieren damit der als Master laeuft, ansonsten hast du nur read-only Zugriff auf die Datenbanken.Einziger Schwachpunkt in einem solchen System ist und bleibt immer der DB-Server (jedenfalls im Falle von MySQL) - wenn da jemand einen guten Vorschlag hat, immer her damit. Die Replikation von Datenbanken ist in einem solchen fall nämlich keine so einfache Geschichte mehr...
Kann pen auch mit smtp umgehen?
Martin
Re: Problem Load Balancing für Webserver
Sollte nach Moeglichkeit nichts an den bestehenden Scripten geaendert werden.michaeljk wrote:@mas:
Daten die z.B. per WWW von den Usern neu hochgeladen werden (z.B. Bilder) müssen sofort auf einen zentralen Fileserver abgelegt werden. Man sollte Daten, Hauptscripte, Loadbalancer und Datenbank immer schön sauber voneinander trennen. PHP kann dies ja intern per FTP bereits machen bei einem Upload - so jedenfalls kenne ich das von anderen Leuten die ein Clustersystem in derselben Art bereits im Einsatz haben.
Re: Problem Load Balancing für Webserver
@JamesB:
Das war auch mein Gedanke - wie wäre es mal mit einem Cluster, der unabhängig vom Rechenzentrum funktioniert? :) selbst wenn man zwei Loadbalancer hat die sich gegenseitig überwachen, das ganze nutzt wieder nichts wenn alles in einem Rechenzentrum steht und dieses ein Problem mit den Leitungen hat. Allerdings fängt es ab da auch an bei meinem Wissen zu hapern, wenn soetwas funktionieren würde dann bin ich für Vorschläge dankbar (mehrere Rechenzentren stehen zur Verfügung zum testen *gg*).
Das war auch mein Gedanke - wie wäre es mal mit einem Cluster, der unabhängig vom Rechenzentrum funktioniert? :) selbst wenn man zwei Loadbalancer hat die sich gegenseitig überwachen, das ganze nutzt wieder nichts wenn alles in einem Rechenzentrum steht und dieses ein Problem mit den Leitungen hat. Allerdings fängt es ab da auch an bei meinem Wissen zu hapern, wenn soetwas funktionieren würde dann bin ich für Vorschläge dankbar (mehrere Rechenzentren stehen zur Verfügung zum testen *gg*).
Re: Problem Load Balancing für Webserver
@mas:
Rsync kann in jede beliebige Richtung syncen. Aber du hast recht, NFS wäre vielleicht noch bequemer, ist nur die Frage ob die Geschwindigkeit und Performance ausreichend ist.
Pen kann generell mit allen normalen Protokollen umgehen, die per TCP funktionieren - also HTTP, FTP, SMTP und mehr....
Rsync kann in jede beliebige Richtung syncen. Aber du hast recht, NFS wäre vielleicht noch bequemer, ist nur die Frage ob die Geschwindigkeit und Performance ausreichend ist.
Pen kann generell mit allen normalen Protokollen umgehen, die per TCP funktionieren - also HTTP, FTP, SMTP und mehr....
Re: Problem Load Balancing für Webserver
Hast du da mal ein Beispiel rsyn- Aufruf, oder macht der das standardmaessig und mir ist das nur noch nciht aufgefallen? Ich denke mal, bei einem flotten LoadBalancer (Fileserver) sollte das mit NFS keine Probleme geben. Dafuer gibt es ja auch zwei Webserver ;)michaeljk wrote:@mas:
Rsync kann in jede beliebige Richtung syncen. Aber du hast recht, NFS wäre vielleicht noch bequemer, ist nur die Frage ob die Geschwindigkeit und Performance ausreichend ist.
Re: Problem Load Balancing für Webserver
@mas:
Uih, lies dir da mal am besten ein paar gute Manuals durch :) Es gibt verschiedene Arten und Wege, mit rsync umzugehen - da bin ich leider auch nicht so der Vollprofi drinne :)
Uih, lies dir da mal am besten ein paar gute Manuals durch :) Es gibt verschiedene Arten und Wege, mit rsync umzugehen - da bin ich leider auch nicht so der Vollprofi drinne :)
Re: Problem Load Balancing für Webserver
Das geht schon, du kannst die Server gegenseitig als Master/Slave einstellen und so hast du auf beiden Schreib- und Lesezugriff. Das ist nicht dokumentiert und wahrscheinlich auch nicht offiziell unterstützt, aber funktionieren tut es. Nur ab 3 Server wirds kompliziert... Dann ist MySQL aber kaum noch die richtige Wahl.mas wrote: Also ich habe heute in einem Buch gelesen, dass es mit der Replikation eigentlich nicht so schwierig sein sollte. Master/Slave defnieren, der Master schmeisst alles auf den Slave und wenn der Master ausfaellt muss man den Slave leider manuell, also MySQL bietet von Haus aus keine Moeglichkeit, umkonfigurieren damit der als Master laeuft, ansonsten hast du nur read-only Zugriff auf die Datenbanken.
Re: Problem Load Balancing für Webserver
Hmm..nicht dokumentiert, ich weiss nicht, ist das auch in unternehmenskritischen Anwendungen einsetzbar?øxygen wrote: Das geht schon, du kannst die Server gegenseitig als Master/Slave einstellen und so hast du auf beiden Schreib- und Lesezugriff. Das ist nicht dokumentiert und wahrscheinlich auch nicht offiziell unterstützt, aber funktionieren tut es. Nur ab 3 Server wirds kompliziert... Dann ist MySQL aber kaum noch die richtige Wahl.
Martin
Re: Problem Load Balancing für Webserver
Für unternehmenskritischen Anwendungen ist meiner Meinung nach MySQL sowieso nicht einsetzbar. Alles eine Glaubensfrage...
-
majortermi
- Userprojekt

- Posts: 916
- Joined: 2002-06-17 16:09
Re: Problem Load Balancing für Webserver
Normalerweise ist Replikation die bevorzugte Lösung, wenn man bei einer Datenbank die Verfügbarkeit sicherstellen will.michaeljk wrote:Die Replikation von Datenbanken ist in einem solchen fall nämlich keine so einfache Geschichte mehr...
Wenn Replikation nicht in Frage kommt (es gibt ja nicht nur Datenbanken), empfiehlt sich folgende Lösung:
Wie für den Loadbalancer beschrieben lässt man zwei Server sich gegenseitig per Heartbeat überwachen. Wenn einer der Hauptserver ausfällt, übernimmt der zweite die Arbeit. Damit der aktuelle Datenbestand vorhanden ist, speichert man alle Daten auf einem externen SCSI- oder besser noch Fibre-Channel-RAID. Die meisten SCSI-RAIDs bieten die Möglichkeit zwei Rechner anzuschließen, so kann also der zweite im Zweifelsfall einfach die Platte mounten und weiterarbeiten. Bei Fibre-Channel kann man ja immer problemlos einen FC-Hub benutzen.
In jedem Fall ist es ganz wichtig, dafür zu sorgen, dass der Reserve-Server dem Hauptserver im Fall des Falles den Strom abdreht, um zu verhindern, dass die Festplatte möglicherweise von zwei Systemen gleichzeitig gemountet ist. Noch besser ist es natürlich ein Filesystem zu benutzen, das dafür geeignet ist - aber das ist nochmal ein anderes Thema.
Erst nachlesen, dann nachdenken, dann nachfragen... :)
Warum man sich an diese Reihenfolge halten sollte...
Warum man sich an diese Reihenfolge halten sollte...