Lesezeit: 8 Minuten
Hochverfügbarkeit ist die Beschreibung eines Systems, das fehlertolerant und äußerst zuverlässig ist, kontinuierlich ohne Eingriff arbeitet oder einen einzigen Fehlerpunkt aufweist. Diese Systeme sind sehr gefragt, um die Verfügbarkeit und Verfügbarkeit zu erhöhen, die erforderlich sind, um eine Infrastruktur problemlos am Laufen zu halten. Die folgenden Merkmale definieren ein Hochverfügbarkeitssystem.
- Hochverfügbarkeits-Clustering
- Fehlertoleranz
- Zuverlässigkeit und Zuverlässigkeit
- Orchestrierte Fehlerbehandlung
- Skalierbarkeit
- Verfügbarkeit & Five 9’s Uptime
- Heartbeat
- Cluster-Architektur
- Engineered Availability
- Unkomplizierte Bereitstellung
- Best Practices-Ziele
- Design
- Verfügbarkeit
- Deployment
- Evaluation & Testing
- Replikation
- Monitoring & Tracking
- Fazit
Hochverfügbarkeits-Clustering
Hochverfügbarkeits-Servercluster (auch bekannt als HA-Cluster) sind definiert als eine Gruppe von Servern, die Anwendungen oder Dienste unterstützen, die zuverlässig und mit minimaler Ausfallzeit genutzt werden können. Diese Servercluster arbeiten mit einer speziellen Software, die Redundanz nutzt, um geschäftskritische Betriebszeiten von five9 zu erreichen. Derzeit benötigen etwa 60% der Unternehmen five9 oder mehr, um wichtige Dienstleistungen für ihr Unternehmen bereitzustellen. Hochverfügbarkeitssoftware nutzt die redundante Software, die auf mehreren Systemen installiert ist, indem sie eine Gruppe von Servern gruppiert oder gruppiert, die sich auf ein gemeinsames Ziel konzentrieren, falls Komponenten ausfallen. Ohne diese Form des Clusters ist der Dienst bei einem Absturz der Anwendung oder Website erst verfügbar, wenn die Server repariert sind. Das HA-Clustering behebt diese Situationen, indem es die Fehler erkennt und den Server oder Dienst oder Server schnell neu startet oder durch einen neuen Prozess ersetzt, der kein menschliches Eingreifen erfordert. Dies wird als „Failover“ -Modell definiert.
Die folgende Abbildung zeigt einen einfachen Hochverfügbarkeits-Cluster mit zwei Knoten.
Hochverfügbarkeits-Cluster werden häufig für geschäftskritische Datenbanken, Datenaustausch, Anwendungen und E-Commerce-Websites verwendet, die über ein Netzwerk verteilt sind. Hochverfügbarkeitsimplementierungen schaffen Redundanz innerhalb eines Clusters, um einen einzelnen Fehlerpunkt zu beseitigen, einschließlich über mehrere Netzwerkverbindungen und Datenspeicher, die redundant über geografisch unterschiedliche Speicherbereichsnetzwerke verbunden werden können.Hochverfügbare Clusterserver verwenden normalerweise eine Replikationsmethode namens Heartbeat, mit der der Status und die Integrität jedes Knotens innerhalb des Clusters über eine private Netzwerkverbindung überwacht werden. Ein kritischer Umstand, den alle Clustering-Software berücksichtigen muss, wird als Split-Brain bezeichnet, der auftritt, wenn alle privaten internen Links gleichzeitig ausfallen, die Knoten im Cluster jedoch weiterhin ausgeführt werden. In diesem Fall kann jeder Knoten innerhalb des Clusters fälschlicherweise feststellen, dass alle anderen Knoten ausgefallen sind, und versuchen, Dienste zu starten, die von anderen Knoten möglicherweise noch ausgeführt werden. Dieser Zustand von doppelten Instanzen, die ähnliche Dienste ausführen, kann zu Datenbeschädigungen auf dem System führen.
Eine typische Version von Hochverfügbarkeitssoftware bietet Attribute, die sowohl Hardware- als auch Software-Redundanz umfassen. Diese Funktionen umfassen:
- Die automatische Erkennung und Erkennung von Hardware- und Softwarekomponenten.
- Autonome Zuordnung von aktiven und kontingenten Rollen zu neuen Elementen.
- Erkennung fehlgeschlagener Softwaredienste, Hardwarekomponenten und anderer Systemkonstrukte.
- Überwachung und Benachrichtigung redundanter Komponenten und wann diese aktiviert werden müssen.
- Möglichkeit, den Cluster zu skalieren, um die erforderlichen Änderungen ohne externe Eingriffe zu berücksichtigen.
Fehlertoleranz
Fehlertoleranz ist definiert als die Fähigkeit für die Infrastruktur eines Systems um Fehler vorherzusehen und zu widerstehen und eine automatische Antwort auf diese Probleme zu geben, wenn sie auftreten. Die Hauptqualität dieser Systeme sind fortschrittliche Designfaktoren, auf die bei Auftreten eines Problems zurückgegriffen werden kann. In der Lage zu sein, eine Infrastruktur zu konfigurieren, die jede mögliche Lösung vorsieht, ist eine beträchtliche Aufgabe, die das Wissen und die Erfahrung erfordert, um den vielfältigen Bedenken entgegenzuwirken, bevor sie auftreten. Systemarchitekten, die solche Frameworks entwerfen, verfügen über die Methoden, mit denen diese Probleme im Voraus gemildert werden können, und die Fähigkeit, diese Frameworks zu implementieren.
Die folgenden Redundanzmethoden sind verfügbar und sollten in der Anfangsphase des Entwurfs und der Implementierung überprüft werden.
- N + 1–Modell – Dieses Konzept ergibt die Summe der benötigten Ausrüstung (die wir als ‚N‘ bezeichnen werden), um das gesamte Framework am Laufen zu halten, mit einer zusätzlichen unabhängigen Komponentensicherung für jede der ‚N‘ Komponenten im Fehlerfall.
- N + 2-Modell – Ähnlich dem N + 1-Modell, jedoch mit einer zusätzlichen Schutzschicht, falls zwei Komponenten ausfallen sollten.
- 2N-Modell – Diese Modalität verfügt über eine doppelte redundante Sicherung für jedes Element, um sicherzustellen, dass das Framework des Systems voll funktionsfähig ist.
- 2N + 1-Modell – Auch dieses Modell ähnelt dem 2N-Modell, enthält jedoch eine zusätzliche Komponente, um dem Framework des Systems eine tertiäre Schutzschicht hinzuzufügen.
Mit dem Fortschreiten der Modelle von Nx zu 2Nx steigt auch der Kostenfaktor exponentiell an, wie bei wirklich redundanten Systemen, die Betriebszeit erfordern. Diese Modalitäten sind entscheidend für Stabilität und Verfügbarkeit.
Zuverlässigkeit und Zuverlässigkeit
Einer der zentralen Mieter eines Hochverfügbarkeitssystems ist die Verfügbarkeit. Die Betriebszeit ist von größter Bedeutung, insbesondere wenn der Zweck eines Systems darin besteht, einen wesentlichen Dienst wie die 911-Systeme bereitzustellen, die auf auftretende Situationen reagieren. In Unternehmen ist ein hochverfügbares System erforderlich, um sicherzustellen, dass ein wichtiger Service online bleibt. Ein Beispiel wäre ein ISP oder ein anderer Dienst, der einen Funktionsverlust nicht tolerieren kann. Diese Systeme müssen mit hoher Verfügbarkeit und Fehlertoleranz ausgelegt sein, um Zuverlässigkeit und Verfügbarkeit zu gewährleisten und gleichzeitig Ausfallzeiten zu minimieren.
Orchestrierte Fehlerbehandlung
Sollte ein Fehler auftreten, passt sich das System an und kompensiert das Problem, während es online bleibt. Der Aufbau dieser Art von System erfordert Voraussicht und Planung für das Unerwartete. Die Fähigkeit, die Probleme im Voraus vorauszusehen und ihre Lösung zu planen, ist eine der Hauptqualitäten eines Hochverfügbarkeitssystems.
Skalierbarkeit
Sollte das System auf ein Problem wie eine Verkehrsspitze oder eine Erhöhung der Ressourcennutzung stoßen, sollte die Fähigkeit des Systems, diese Anforderungen zu erfüllen, automatisch und sofort erfolgen. Durch den Einbau solcher Funktionen in das System kann das System schnell auf Änderungen der systemischen Funktionalität der Systemprozesse reagieren.
Verfügbarkeit & Five 9’s Uptime
Five 9’s ist der Industriestandard für die Messung der Betriebszeit. Diese Messung kann sich auf das System selbst, die Systemprozesse innerhalb eines Frameworks oder das Programm innerhalb einer Infrastruktur beziehen. Diese Schätzung hängt häufig mit dem Programm zusammen, das in Form einer Website oder Webanwendung an Kunden geliefert wird. Eine Systemverfügbarkeit kann als Prozentsatz der Zeit gemessen werden, in der Systeme verfügbar sind, indem diese Gleichung verwendet wird: x = (n – y) * 100 / n. Diese Formel gibt an, dass „n“ die Gesamtmenge an Minuten innerhalb eines Kalendermonats und „y“ die Menge an Minuten ist, auf die innerhalb eines Kalendermonats nicht zugegriffen werden kann. Die folgende Tabelle zeigt Ausfallzeiten in Bezug auf den Prozentsatz der dargestellten „9“.
Wie wir sehen können, ist die Betriebszeit umso höher, je höher die Anzahl der „9“ ist. Das Ziel eines Hochverfügbarkeitssystems ist es, eine minimale potenzielle Ausfallzeit zu erreichen, um sicherzustellen, dass das System immer verfügbar ist, um die vorgesehenen Dienste bereitzustellen.
Heartbeat
Eine der wichtigsten Hochverfügbarkeitskomponenten heißt Heartbeat. Heartbeat ist ein Daemon, der mit einer Cluster-Management-Software wie Pacemaker arbeitet, die speziell für das hochverfügbare Clustering-Ressourcenmanagement entwickelt wurde. Seine wichtigsten Eigenschaften sind:
- Keine spezifische oder feste maximale Anzahl von Knoten – Heartbeat kann sowohl zum Erstellen großer als auch elementarer Cluster verwendet werden.
- Ressourcenüberwachung: Ressourcen können bei einem Ausfall automatisch neu gestartet oder auf einen anderen Knoten verschoben werden.
- Ein Fencing-Mechanismus, der benötigt wird, um ausgefallene Knoten aus dem Cluster zu entfernen.
- Ein verfeinertes richtlinienbasiertes Ressourcenmanagement, Ressourceninterabhängigkeiten und Einschränkungen.
- Ein zeitbasierter Regelsatz, der abhängig von einem definierten Zeitrahmen unterschiedliche Richtlinien zulässt.
- Eine Gruppe von Ressourcenskripten (für Software wie Apache, DB2, Oracle, PostgreSQL usw.) enthalten mehr granulare management.
- Eine GUI zum Konfigurieren, Steuern und Überwachen von Ressourcen und Knoten.
Cluster-Architektur
Engineered Availability
Das erste Segment eines hochverfügbaren Systems ist die klar konzipierte Nutzung von Clustered Application Servern, die im Voraus entwickelt wurden, um die Last auf den gesamten Cluster zu verteilen, einschließlich der Fähigkeit, ein Failover auf ein sekundäres und möglicherweise ein tertiäres System durchzuführen.
Die zweite Abteilung beinhaltet die Notwendigkeit der Datenbankskalierbarkeit. Dies erfordert eine horizontale oder vertikale Skalierung unter Verwendung mehrerer Master-Replikationen und eines Load Balancers, um die Stabilität und Verfügbarkeit der Datenbank zu verbessern.
Das dritte Merkmal ist die geografische Vielfalt. Dies stellt sicher, dass im Falle einer Naturkatastrophe, die einen einzelnen Standort trifft, dieser Ausfall die Bereitstellung des Dienstes nicht behindert.
Die vierte und möglicherweise wichtigste Komponente ist die Bereitstellung einer Backup-Replikations- und Disaster-Recovery-Methode. Die Fähigkeit, ein funktionierendes Backup zu gewährleisten, garantiert, dass unsere Daten sicher sind. Bei Verwendung der neuesten Sicherungsstrategie (3-2-3) sollten Sie drei Kopien Ihrer Daten auf zwei verschiedenen Medientypen an drei geografisch unterschiedlichen externen Standorten für die Notfallwiederherstellung haben.
Unkomplizierte Bereitstellung
Wenn Sie das Thema unkomplizierte Bereitstellung diskutieren, sollten sie speziell auf Ihre spezifischen Geschäftsanforderungen zugeschnitten sein. Die folgenden Merkmale werden unserem operativen Rahmen unabhängig von der vertikalen Branche zugute kommen:
- Geringe Schulungsanforderungen
- Erhöhte Produktivität
- Verlängerter Lebenszyklus
- Kosteneffizienz
- Betriebseffizienz
- Schnelle Implementierung
- Reduzierte Sicherheitsrisiken
- Einfache Integration
- Vereinfachtes Management
Diese Merkmale definieren viele der Hauptaspekte, die für eine hochzuverlässige, fehlertolerante Clusterlösung erforderlich sind. Hochverfügbarkeit sollte im Kern unter Berücksichtigung dieser Eigenschaften konzipiert werden. Funktionen wie diese sind wesentliche Elemente, die bei der Übernahme von Bereitstellungsoptionen erforderlich sind.
Best Practices-Ziele
Design
Das primäre Ziel eines Best Practice-Ziels für hohe Verfügbarkeit ist die optimales Design, Installation, Bereitstellung, Integration und Einhaltung einer Standardkonvention zu niedrigsten angemessenen Kosten und minimaler Komplexität bei gleichzeitiger Erreichung der angegebenen Benchmark-Ziele zur Beseitigung jedes einzelnen Fehlerpunkts im System.
Verfügbarkeit
Zunächst sollte vor dem Entwurf des Systems ein bestimmtes Ziel definiert werden. Dies beinhaltet die Festlegung des Recovery Point Objective (RPO). Der RPO ist die größte Ausfallzeit, die Ihr Unternehmen bei einem größeren Ausfall zu verlieren bereit ist. Die HA-Hardware, -Software und -Zusatzdienste sollten alle über ein definiertes und getestetes RPO verfügen.
Deployment
Als nächstes sollte das System mit der robustesten und kostengünstigsten verfügbaren Hardware gebaut werden. Dazu gehören Systeme, die widerstandsfähig gegen Stromausfälle und Hardwarefehler sind und alles von Festplatten, Netzwerkkomponenten, dem Betriebssystem und der Anwendung selbst bis hin zum gesamten Software-Stack umfassen.
Evaluation & Testing
Sobald das System aufgebaut ist, testet ein integraler Dreh- und Angelpunkt unser Zielsystem, um sicherzustellen, dass das Failover-System bereit ist, umzuschalten, wenn die Quelle ausfällt. Dies erfordert die Vorbereitung unserer Netzwerkkonfigurationen, Server, Echtzeit-Synchronreplikationssoftware und Switches für den Übergang von der Quellproduktionsverarbeitung zum Zielsystem, das die Umstellung sofort verarbeitet. Diese in diesem Szenario verwendete Methode wird als „Hot Standby“ -System bezeichnet. Darüber hinaus umfasst dies die Einrichtung eines reglementierten Testplans, da das System regelmäßig erneut getestet wird.
Replikation
Die Sicherstellung einer reproduzierbaren und wiederholbaren Iteration des gesamten Software-Stacks über mehrere Regionen hinweg ist der Schlüssel zu konstanter Haltbarkeit, Zustellbarkeit und Solidität des Anwendungsframeworks. Der andere wichtige Servicebereich ist das Segment replizierbare Hardware, das die Software- und Monitoring-Frameworks ergänzt. Die Möglichkeit, sich auf eine dedizierte Duplikationsmethodik zu verlassen, ist von grundlegender Bedeutung, um ein vollständig fehlertolerantes und zuverlässiges System zu gewährleisten.
Monitoring & Tracking
Schließlich sollte die laufende Überwachung, Bewertung und Beobachtung streng reguliert werden, um sicherzustellen, dass die Leistungsziele erreicht werden. Jede Abweichung von der Norm sollte untersucht und bewertet werden, um die Auswirkungen der Varianz auf das System zu bestimmen. Sobald diese Disposition festgestellt wurde, sollte eine Follow-up-Analyse durchgeführt werden, um festzustellen, ob Änderungen vorgenommen werden sollten, die die Anpassung oder Änderungen einschließen, die erforderlich sind, um das System in einen neuen stabilen Zustand zu versetzen.
Fazit
Das primäre Ziel eines Hochverfügbarkeitssystems ist es, alle Single Points of Failure zu verhindern und zu eliminieren. Dies sollte mehrere Aktionspläne umfassen, die getestet und vorhanden sind und bereit sind, unabhängig und sofort auf alle Servicestörungen, Störungen und Ausfälle zu reagieren. Dazu gehören Hardware-, Software- und Anwendungsunregelmäßigkeiten. Die Beseitigung von Ausfallzeiten kann mit der komponierten, qualifizierten Planung und Implementierung eines Systems erreicht werden. Ein kritisches Auge ist erforderlich, um sich auf Ereignisse oder Katastrophen vorzubereiten, die das primäre Ziel des angegebenen und erwarteten Verfügbarkeitsziels beeinträchtigen könnten. Ein gut eingerichtetes Hochverfügbarkeitssystem kann dieses Ziel mit der richtigen Planung und Gestaltung erreichen, Störungen reduzieren oder beseitigen und die Verfügbarkeit maximieren.
Sorgfältige Planung + Zuverlässige Implementierungsmethoden + Stabile Softwareplattformen + Solide Hardware-Infrastruktur + Reibungsloser technischer Betrieb + Umsichtige Managementziele + Konsistente Datensicherheit + Vorhersehbare Redundanzsysteme + Robuste Backup-Lösungen + Mehrere Wiederherstellungsoptionen = 100% Verfügbarkeit
Unsere talentierten Support-Teams sind mit erfahrenen Linux-Technikern und Systemadministratoren besetzt, die über umfassende Kenntnisse mehrerer Webhosting-Technologien verfügen, insbesondere der in diesem Artikel beschriebenen.
Wenn Sie ein vollständig verwalteter VPS-Server, eine dedizierte Cloud, eine VMware Private Cloud, ein privater übergeordneter Server oder ein dedizierter Serverbesitzer sind und sich mit der Durchführung der beschriebenen Schritte nicht wohl fühlen, können wir Sie per Telefon @ 800.580.4985, Chat oder Support-Ticket erreichen, um Sie bei diesem Vorgang zu unterstützen.