Definition

Fault Tolerance (Fehlertoleranz)

Fehlertoleranz ist die Fähigkeit eines Computersystems, eines elektronischen Systems oder eines Netzwerks, trotz des Ausfalls einer oder mehrerer seiner Komponenten ununterbrochene Dienste zu leisten. Fehlertoleranz behebt auch potenzielle Service-Unterbrechungen aufgrund von Software- oder Logikfehlern. Ziel ist es, katastrophale Ausfälle zu verhindern, die durch einen einzelnen Fehlerpunkt (Single Point of Failure, SPOF) verursacht werden könnten.

VMware vSphere 6 Fault Tolerance ist eine markengeschützte, kontinuierliche Datenverfügbarkeitsarchitektur, die eine virtuelle VMWare-Maschine exakt auf einem alternativen physischen Host repliziert, wenn der Haupthostserver ausfällt.

Fehlertolerante Systeme sind darauf ausgelegt, mehrere Ausfälle zu kompensieren. Solche Systeme erkennen automatisch einen Ausfall der Prozessoreinheit (CPU), des I/O-Subsystems, der Memory-Karten, der Hauptplatine, des Netzteils oder der Netzwerkkomponenten. Die Fehlerstelle wird identifiziert, und eine Ersatzkomponente oder ein Ersatzverfahren tritt sofort an ihre Stelle, ohne dass es zu einem Serviceverlust kommt.

Um Fehlertoleranz zu gewährleisten, müssen Unternehmen einen Bestand an formatierten Computern und eine sekundäre unterbrechungsfreie Stromversorgung (USV) anschaffen. Ziel ist es, den Ausfall wichtiger Systeme und Netze zu verhindern, wobei der Schwerpunkt auf Fragen der Betriebs- und Ausfallzeit liegt.

Fehlertoleranz kann durch Software, die in Hardware eingebettet ist, oder durch eine Kombination von beidem erreicht werden.

Bei einer Software-Implementierung bietet das Betriebssystem eine Schnittstelle, die es dem Programmierer ermöglicht, kritische Daten an vorher festgelegten Punkten innerhalb einer Transaktion zu überprüfen. Bei einer Hardware-Implementierung (zum Beispiel mit Stratus und seinem Virtual Operating System) muss der Programmierer die fehlertoleranten Fähigkeiten der Maschine nicht kennen.

Auf Hardware-Ebene wird die Fehlertoleranz durch Duplexing jeder Hardwarekomponente erreicht. Festplatten werden gespiegelt. Mehrere Prozessoren sind miteinander verbunden und ihre Ausgaben werden auf Korrektheit verglichen. Wenn eine Anomalie auftritt, wird die fehlerhafte Komponente ermittelt und außer Betrieb genommen, aber der Rechner funktioniert wie gewohnt weiter.

Fehlertoleranz vs. Hochverfügbarkeit

Fehlertoleranz ist eng mit der Aufrechterhaltung der Geschäftskontinuität (Business Continuity) durch hochverfügbare Computersysteme und Netzwerke verbunden. Fehlertolerante Umgebungen werden als solche definiert, die den Dienst nach einem Ausfall sofort wiederherstellen, während eine Hochverfügbarkeitsumgebung eine Betriebsbereitschaft von wenigstens fünf Neunen (99,999 Prozent) anstrebt.

In einem Hochverfügbarkeits-Cluster sind Gruppen unabhängiger Server lose miteinander gekoppelt, um die systemweite gemeinsame Nutzung wichtiger Daten und Ressourcen zu gewährleisten. Die Cluster überwachen sich gegenseitig und sorgen für eine Fehlerbehebung, um die Verfügbarkeit der Anwendungen zu gewährleisten. Im Gegensatz dazu besteht ein fehlertolerantes Cluster aus mehreren physischen Systemen, die sich eine einzige Kopie des Betriebssystems eines Computers teilen. Softwarebefehle, die von einem System ausgegeben werden, werden auch auf dem anderen System ausgeführt.

Der Kompromiss zwischen Fehlertoleranz und hoher Verfügbarkeit sind die Kosten. Systeme mit integrierter Fehlertoleranz sind aufgrund der zusätzlichen Hardware mit höheren Kosten verbunden.

Was ist „Graceful Degradation“?

Fehlertoleranz wird oft synonym mit „Graceful Degradation“ verwendet, obwohl letztere eher der ganzheitlichen Disziplin des Fehlermanagements entspricht, die darauf abzielt, Probleme präventiv zu erkennen, zu isolieren und zu beheben. Ein fehlertolerantes System tauscht Ersatzkomponenten aus, um ein hohes Maß an Systemverfügbarkeit und Leistung aufrechtzuerhalten. Die „Graceful Degradation“ ermöglicht es einem System, den Betrieb fortzusetzen, wenn auch mit reduzierter Leistung.

Data Protecton und Fehlertoleranz aufeinander abstimmen

Fehlertoleranz hängt von Redundanz ab. Die Daten werden durch Datenreplikation oder synchrone Spiegelung von Volumes in einem externen Rechenzentrum redundant geschützt. Bei der physischen Redundanz wird zusätzliche Hardware in Bereitschaft gehalten, um die Ausfallsicherheit der operativen Systeme zu gewährleisten.

Die Datensicherung (Backup) wird häufig mit der Redundanz kombiniert. Beide Strategien dienen dem Schutz vor Datenverlusten, wobei sich die Datensicherung in der Regel auf die zeitpunktgenaue Wiederherstellung konzentriert, einschließlich der granularen Wiederherstellung eines einzelnen Datenobjekts. Redundante Systeme werden speziell für Anwendungs-Workloads entwickelt, die nur sehr geringe Ausfallzeiten tolerieren.

Bei der Implementierung von Fehlertoleranz sollten Unternehmen die Anforderungen an die Datenverfügbarkeit mit dem entsprechenden Maß an Datensicherheit durch RAID abstimmen. Die RAID-Technik stellt sicher, dass Daten auf mehrere Festplatten geschrieben werden, um I/O-Vorgänge auszugleichen und die Gesamtsystemleistung zu steigern.

Unternehmen, die der Fehlertoleranz Vorrang vor Geschwindigkeit und Leistung einräumen, sind mit RAID 1 oder RAID 10, einer Kombination aus Festplattenspiegelung und Festplatten-Striping, am besten bedient. Wenn Fehlertoleranz und Systemleistung gleichermaßen wichtig sind, kann es sich für ein Unternehmen lohnen, etwas mehr Geld für die Kombination von RAID 10 mit RAID 6 oder Double-Parity-RAID auszugeben, das den Verlust von zwei Festplattenausfällen toleriert, bevor Daten verloren gehen. Abgesehen von den höheren Kosten besteht der andere Nachteil darin, dass die Daten langsamer auf den RAID-Satz geschrieben werden.

Unabhängig von der Hardware sollte eine fehlertolerante Architektur mit regelmäßig geplanten Backups kritischer Daten koordiniert werden, vielleicht einschließlich einer gespiegelten Kopie an einem zweiten oder alternativen Standort. Die Sicherheit muss Teil der Planung sein, um unbefugten Zugriff zu verhindern und Antivirus-Tools sowie die neueste Version des Betriebssystems des Computersystems einzusetzen.

Welche Branchen sind von der Fehlertoleranz eines Systems abhängig?

Fehlertoleranz bezieht sich nicht nur auf die Konsequenz redundanter Geräte, sondern auch auf die grundlegende Methodik, die Computerhersteller bei der Entwicklung und dem Entwurf ihrer Systeme für die Zuverlässigkeit anwenden. Fehlertoleranz ist eine erforderliche Entwurfsspezifikation für Computerausrüstung, die in Online-Transaktionsverarbeitungssystemen verwendet wird, wie Flugkontroll- und Reservierungssysteme von Fluggesellschaften. Fehlertolerante Systeme sind auch in Bereichen wie Vertrieb und Logistik, Elektrizitätswerke, Schwerindustrie, industrieller Kontrollsysteme und Einzelhandel weit verbreitet.

Diese Definition wurde zuletzt im November 2021 aktualisiert

Erfahren Sie mehr über Disaster Recovery