Fehlertolerante Systeme

Was ist Fehlertoleranz?

Fehlertoleranz beschreibt ein höheres Maß an Verfügbarkeit, das durch eine Betriebszeit von 5 Neunen (99,999 %) oder besser gekennzeichnet ist. Fehlertolerante Systeme sind in der Lage, diesen Verfügbarkeitsgrad zu liefern, da sie sowohl Hardware- als auch Software-"Fehler" oder Ausfälle "tolerieren" oder überstehen können. Sie tun dies in der Regel, indem sie kritische Systeme entweder proaktiv überwachen und verhindern, dass sie überhaupt ausfallen, oder indem sie das Risiko eines katastrophalen Komponenten- oder Systemausfalls vollständig mindern.

Software-basierte vs. Hardware-basierte Fehlertoleranz

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

Bei einem softwarebasierten Ansatz werden alle Daten, die auf der Festplatte gespeichert sind, auf redundanten Systemen gespiegelt. Anspruchsvollere softwarebasierte Ansätze replizieren auch nicht übertragene Daten oder Daten im Speicher auf ein redundantes System. Bei einem Ausfall des Primärsystems nimmt ein sekundäres Backup-System den Betrieb wieder auf und übernimmt genau ab dem Zeitpunkt, an dem das Primärsystem ausfällt, sodass keine Transaktionen oder Daten dupliziert werden oder verloren gehen.

Bei einem hardwarebasierten Ansatz laufen redundante Systeme gleichzeitig. Parallele Server führen identische Aufgaben aus, sodass bei einem Ausfall eines Servers der andere Server weiterhin Transaktionen verarbeitet oder Dienste bereitstellt. Dieser Ansatz beruht darauf, dass die statistische Wahrscheinlichkeit, dass beide Systeme gleichzeitig ausfallen, extrem gering ist. Es wird zwar nur ein Server für die Bereitstellung von Anwendungen benötigt, aber mit zwei Servern ist sichergestellt, dass mindestens einer immer in Betrieb ist.

Wie everRun® Enterprise und ztC™ Edge fehlertolerante Workloads 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. Replizieren Sie nicht genug, verlängern sich Ihre Wiederherstellungszeiten. Replizieren Sie zu oft, verbrauchen Sie zu viele 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 Workloads liefert

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

Die größte Herausforderung bei hardwarebasierten Ansätzen besteht darin, die exakte Synchronisation von Prozessen und Threads sicherzustellen - also dafür zu sorgen, dass auf beiden Knoten eines redundanten Systems exakt die gleichen Dinge zur 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.