uptime is the game, downtime is the name

Meine Abschlussprüfung dreht sich um das Thema “Hochverfügbarkeitssysteme”. Ich baue dort ein Hochverfügbarkeitssystem für die Firmenwebsite auf mit Hilfe von DRBD und Hearbeat auf Linuxbasis. Das Thema ist hoch interessant weil es damit möglich ist Kostengünstig ein System aufzubauen was eine hohe Erreichbarkeit hat. In meinem Fall waren es zwei Dell Poweredge 850 Server die in getrennten Lokationen aufgestellt waren um einen Ausfall durch Netzwerkequipment auszuschließen. Die Verfügbarkeit des Systems sollte sich also auf ca. 99% belaufen.

Die Server sind über ein Crossoverkabel verbunden. Über dieses replizieren sie sich und Heartbeat checkt ob der andere Host erreichbar ist. Aber was passiert wenn das Crossover Kabel defekt ist? Jeder Host würde also denken dass der andere nicht erreichbar sei, beide würden in den “Master” Modus gehen und fröhlich in die Dateien schreiben. Schliesslich sind sie Master.

Wie kann man das beheben? Am elegantesten mit dem STONITH Verfahren, also Shoot the other node in the head dies kann über ein weiteres serielles Kabel geschehen oder aber über eine IP gesteuerte Steckdosenleiste an diese der Slave ein “Shutdown” Signal sendet. Man lässt also den Slave, den Ersatzserver, übernehmen weil man davon ausgeht dass mit dem Master was nicht stimmen kann. Dieses Shutdown-Signal sagt dann der Steckdosenleiste dass die Stromzufuhr vom Masterserver unterbrochen werden soll. Dieses Verfahren kostet aber Geld und es wird in meinem Fall nicht davon ausgegangen dass das Crossover Kabel beschädigt werden kann.

Wie löst man das ganze also kostengünstig? Ich habe es damit gelöst dass Heartbeat erst die Interne IP kontrolliert und sollte diese nicht erreichbar sein wird über das Externe Netz kontrolliert ob der Host darüber erreichbar ist. Wenn erst beide Wege zu einem negativen Ergebnis führen wird eingeschritten und der Slave übernimmt seinen Dienst. Das ist natürlich mehr ein Workaround aber immerhin führt es zu einem brauchbaren Ergebnis. Die 99,9% pro Jahr sollte man damit ohne Probleme erreichen.

Hat man das halbwegs verstanden was ich versucht habe zu erklären? :)

Keine Kommentare
Post a comment