Fehlertolerante Systeme

Was ist Fehlertoleranz?

Fehlertoleranz beschreibt ein höheres Verfügbarkeitsniveau, das sich durch eine Betriebszeit von 5 Neun (99,999%) oder besser auszeichnet. Fehlertolerante Systeme sind in der Lage, diese Verfügbarkeitsniveaus zu erreichen, weil sie sowohl Hardware- als auch Software-"Fehler" oder Ausfälle "tolerieren" oder ihnen standhalten können. Dies geschieht in der Regel entweder durch proaktive Überwachung und Verhinderung des Ausfalls kritischer Systeme von vornherein oder durch vollständige Minderung des Risikos eines katastrophalen Komponenten- oder Systemausfalls.

Software-basierte vs. Hardware-basierte Fehlertoleranz

Fehlertoleranz kann sowohl mit software- als auch mit hardwarebasierten Ansätzen erreicht werden.

Bei einem softwarebasierten Ansatz werden alle auf der Festplatte gespeicherten Daten über redundante Systeme gespiegelt. Ausgefeiltere softwarebasierte Ansätze replizieren auch nicht festgeschriebene Daten oder Daten im Speicher auf ein redundantes System. Im Falle eines Ausfalls des primären Systems nimmt ein sekundäres Backup-System den Betrieb wieder auf und übernimmt genau ab dem Zeitpunkt, an dem das primäre System ausfällt, so dass keine Transaktionen oder Daten dupliziert werden oder verloren gehen.

Bei einem hardwarebasierten Ansatz laufen redundante Systeme gleichzeitig. Parallele Server führen identische Aufgaben aus, so dass bei Ausfall eines Servers der andere Server die Verarbeitung von Transaktionen oder die Bereitstellung von Diensten fortsetzt. Dieser Ansatz beruht darauf, dass die statistische Wahrscheinlichkeit eines gleichzeitigen Ausfalls beider Systeme äußerst gering ist. Eigentlich wird nur ein Server benötigt, um Anwendungen bereitzustellen, aber mit zwei Servern kann sichergestellt werden, dass immer mindestens einer läuft.

Wie everRun® Enterprise und ztC™ Edge fehlertolerante Arbeitslasten liefern

Stratus everRun Unternehmenssoftware und Stratus ztC Edge Computing-Plattformen verwenden beide softwarebasierte Ansätze, um fehlertolerante Anwendungen bereitzustellen und Daten zu schützen.

Die größte Herausforderung bei softwarebasierten Ansätzen ist die effiziente Replikation von Daten bei gleichzeitiger Minimierung des System-Overheads. Wenn Sie nicht genug replizieren, erhöhen sich Ihre Wiederherstellungszeiten. Replizieren Sie zu oft, und Sie verbrauchen zu viel von Ihren Systemressourcen, nur um die Verfügbarkeit sicherzustellen.

everRun Enterprise und Stratus Redundant Linux, die Betriebssystemplattform, die die Lösung Stratus' ztC Edge betreibt, replizieren alle auf die Festplatte geschriebenen Daten (für hochverfügbare Arbeitslasten) und verwenden eine einzigartige Checkpointing-Engine, um Daten im Speicher und CPU-Zustände kontinuierlich zu replizieren (für fehlertolerante Arbeitslasten). Alle E/A-Vorgänge werden in eine Warteschlange gestellt, bis die Checkpoints abgeschlossen und verifiziert sind. Proprietäre Algorithmen passen die Checkpointing-Häufigkeit dynamisch an, basierend auf der Art und Menge der Datenänderungen und dem E/A-Durchsatz. Wenn ein Knoten ausfällt, wird eine Pause von zwei Sekunden eingelegt, um Split-Brain-Szenarien zu verhindern, was zu einer Wiederherstellungszeit von unter fünf Sekunden führt - unterhalb des TCP/IP-Schwellenwerts für das Einreihen in eine Warteschlange und die erneute Übermittlung von Anfragen.

Neben der einzigartigen, hocheffizienten Checkpointing-Engine zeichnen sich die Lösungen von Stratus durch ihre Einfachheit im Betrieb aus. Es sind keine Änderungen der Anwendung oder des Gastbetriebssystems erforderlich, um sie clusterfähig zu machen. Es sind keine zusätzlichen Failover-Skripte erforderlich, um die Verfügbarkeit von Anwendungen und die Datenintegrität sicherzustellen. Es müssen lediglich die Anwendungen in einer virtuellen Maschine installiert und gestartet werden, um sie fehlertolerant zu machen.

Wie ftServer® fehlertolerante Arbeitslasten liefert

Stratus ftServer verwendet einen hardwarebasierten Ansatz zur Bereitstellung fehlertoleranter Anwendungen und Daten.

Die größte Herausforderung bei hardwarebasierten Ansätzen besteht darin, die präzise Synchronisierung von Prozessen und Threads zu gewährleisten, d.h. sicherzustellen, dass auf beiden Knoten eines redundanten Systems exakt die gleichen Dinge zur exakt gleichen Zeit passieren.

Stratus ftServer verwendet proprietäre feldprogrammierbare Gate-Arrays (FPGA), um eine Lock-Step-Verarbeitung über zwei identische Hälften eines ftServer Systems sicherzustellen. Die beiden identischen "Customer Replaceable Units" (CRU) laufen parallel. Jede fungiert je nach Bedarf als primärer oder sekundärer Server. Jede führt den gleichen Prozess zur gleichen Zeit aus. Mit ftServer gibt es keine Wiederherstellungszeit, wenn eine einzelne Komponente oder CRU ausfällt. Die verfügbare CRU übernimmt einfach die Rolle des Primärservers, bis die nicht verfügbare CRU ersetzt wird. Für Organisationen, die nicht einmal eine Sekunde ungeplanter Ausfallzeit tolerieren können, ist Stratus ftServer eine praktikable Option.

Neben der Verwendung von FPGAs und dem Lock-Step-Ansatz zeichnet sich Stratus ftServer durch seine betriebliche Einfachheit aus. Anwendungen, Virtualisierungsplattformen oder Gastbetriebssysteme, die auf ftServer installiert sind, müssen nicht speziell modifiziert oder konfiguriert werden, um sie fehlertolerant zu machen.