Failover-Cluster Flashcards
Wie kann man Verfügbarkeit definieren?
- ein System ist verfügbar, wenn es in der Lage ist seine Aufgaben zu erfüllen, für welche es vorgesehen ist
- Verfügbarkeit ist die Wahrscheinlichkeit, dass ein System innerhalb eines spezifischen Zeitraums funktionstüchtig ist
- Verfügbarkeit wird als Verhältnis von Downtime und Uptime eines Systems gemessen
- Formel: Verfügbarkeit = Uptime / (Downtime + Uptime)
Was ist die Definition von Hochverfügbarkeit?
- ein System ist hochverfügbar, wenn eine Anwendung auch im Fehlerfall weiterhin verfügbar ist und ohne unmittelbaren menschlichen Eingriff weiter genutzt werden kann
- der Anwender darf keine oder maximal eine kurze Unterbrechung wahrnehmen
- Hochverfügbarkeit bezeichnet also die Fähigkeit eines Systems bei Ausfall einer seiner Komponenten einen uneingeschränkten Betrieb zu gewährleisten
Weöche Hochverfügbarkeits-Klassen gibt es?
- wird in 6 Klassen unterteilt
1. AEC-0 = 99% (3,6 Tage)
2. AEC-1 = 99,9% (8,76 Stunden)
3. AEC-2 = 99,99% (52 Minuten)
4. AEC-3 = 99,999% (5 Minuten)
5. AEC-4 = 99,9999% (30 Sekunden)
6. AEC-5 = 99,99999% (3 Sekunden)
Was ist ein Cluster?
- ein Cluster ist ein Zusammenschluss von zwei oder mehr Knoten, die bestimmte Dienste wie z.B. einen NFS oder einen Web-Server auch dann noch zur Verfügung stellen, wenn einer der Knoten ausfällt
Was ist ein Knoten?
- ein physikalischer oder virtueller Computer, der Teil eines Clusters ist, auf dem eine Clustersoftware läuft
- virtuelle Computer müssen auf verschiedenen physikalischen Rechnern laufen, da andernfalls keine Redundanz gegeben wäre und ein SPOF besteht
Was ist DRBD?
- Distributed Replicated Block Device
- Open Source Software von Linbit
- Stellt Geräte im System zur Verfügung, die als block device eingebunden werden können
- dabei wird eine Partition von einem aktiven Knoten auf einen anderen passiven Knoten gespiegelt
- ein Raid 1 über das Netzwerk mit TCP/IP
- Teil des Linux Kernels
Was ist eine Ressource?
- kann eine IP-Adresse, die Partition einer Festplatte oder ein Dienst wie z.B. ein Webserver sein, welche von der Clustersoftware verwaltet wird
- es gibt einfache Ressourcen (primitive) oder Komplexe Ressourcen (Gruppen, Multi-State, Klone)
Was ist ein Failover?
- ein ungeplanter Wechsel zwischen zwei Knoten im Falle eines einseitigen Ausfalls
- Ziel ist es die Dienste trotzdem verfügbar zu halten
Was ist ein SPOF?
- Singe Point of Failure
- Systemkomponenten, die im Fehlerfall des Systems nicht mehr betriebsbereit sind
- im Idealfall müssen so viele Komponenten wie möglich redundant ausgelegt sein, damit der SPOF so weit weg vom System ist wie möglich
Was ist ein Split-Brain?
- wenn die Verbindung zwischen zwei Knoten dauerhaft oder temporär getrennt ist
- beide Knoten wissen nicht in welchem Status sich der jeweils andere befindet und denken sie wären der Master und verhalten sich als Master um den Dienst fortzusetzen
- das kann zu Konsistenz-Problemen führen
Was ist ein NFS?
- Network File System
- ermöglicht Zugriff auf Daten über ein Netzwerk
- dabei werden die Dateisysteme von entfernten Rechnern auf dem lokalen Dateisystem zugeordnet (gemountet)
Wie ist ein Failover-Cluster aufgebaut?
- besteht aus mindestens zwei Knoten
- einer ist aktiv, einer passiv
- auf dem aktiven laufen die Ressourcen
- der passive läuft als Reserve-System
- eine Clustersoftware überwacht den Status der einzelnen Knoten
- die Festplatten beider Knoten werden über DRBD synchronisiert
Was passiert wenn es ein Problem mit einem Knoten im Failover-Cluster gibt?
- wenn auf dem aktiven Knoten ein Problem festgestellt wird, wird der passive Knoten zum aktiven Knoten hochgestuft und die Ressourcen werden auf dem Knoten gestartet
- Dienste wie NFS oder Webserver können nach kurzer Unterbrechung weiter vom Client verwendet werden
Was ist das Cluster-Management?
- wird in zwei Komponenten unterteilt:
1. Cluster Resource Management (CRM) -> Beispiel Pacemaker
2. Cluster Communication Management (CCM) -> Beispiel Corosync
Was ist Pacemaker?
- eine Open Source Clustersoftware, die auf Linux-Systemen für Ressourcenverwaltung in Clustern eingesetzt wird
- Pacemaker empfängt im Zusammenspiel mit Corosync Informationen über mehrere Knoten in einem Cluster und greift im Fehlerfall ein
- im Fehlerfall sorgt Pacemaker dafür, dass der passive Knoten zum aktiven Knoten hochgestuft wird und die Dienste darauf gestartet werden
Was ist Corosync?
- eine Open Source Software, die auf Linux-Systemen für die Kommunikation zwischen zwei oder mehreren Knoten im Cluster zuständig sind
- stellt Schnittstellen und Funktionen zur Überwachung und Steuerung aller im Cluster befindlichen Knoten und Dienste zur Verfügung
- Dadurch können die Knoten Nachrichten miteinander austauschen
Welche Arten von Clustern gibt es?
- es gibt Aktiv/Passiv Cluster und Aktiv/Aktiv Cluster
Was ist ein Aktiv/Passiv-Cluster?
- ein Knoten ist aktiv (Master) und stellt die Dienste zur Verfügung
- ein Knoten ist passiv (Slave) und läuft als Reserve nebenbei
- bei Ausfall des aktiven Knotens werden die Dienste auf dem Reserve-Knoten gestartet
Was ist ein Aktiv/Aktiv-Cluster?
- alle Knoten im Cluster sind aktiv
- eine Clustersoftware kann für Loadbalancing eingesetzt werden und damit die Lastenverteilung für den angebotenen Dienst verteilen
- ein Knoten sollte in der Lage sein, alle Dienste zu übernehmen
Was sind Vorteile und Nachteile vom Aktiv/Passiv-Cluster?
Vorteile:
- Failover-Fall sorgt für keine Performance-Einbußen, weil beide Knoten in der Regel die gleiche Hardware haben
- einfache Konfiguration, schnell und sichere Lösung
Nachteile:
- Passiv-Knoten läuft nebenbei im Standby und liefert keine zusätzliche Performance, durch den Betrieb fallen weiter Kosten an
- im Failover-Fall sind die Dienste für die Dauer des Umschaltvorgangs nicht erreichbar
Was sind die Vorteile und Nachteile vom Aktiv/Aktiv-Cluster?
Vorteile:
- durch die Verfügbarkeit von mehreren aktiven Knoten kann die Last auf beide Knoten verteilt werden
- bei kurzen Unterbrechungen gibt es in der Regel keine Ausfallzeiten, sondern erhöhte Sicherheit durch Redundanz
Nachteile:
- Schwieriger zu konfigurieren als der Aktiv/Passiv-Cluster
- Dienste können für Aktiv/Aktiv nicht geeignet sein (z.B. eine Datenbank wo es zu Konsistenz-Problemen kommen würde)
Wie ist eine einfache Ressource aufgebaut?
Art Name Klassifizierung Provider Ressourcen-Agent Parameter
Beispiel:
primitive cluster_ip ocf:heartbeat:lpaddr \ params ip=”4.4.4.20” cidr_netmask=”24”
primitive -> Klassifizierung, einfache Ressource
cluster_ip -> Name der Ressource
ocf -> Open Cluster Framework, Art von Skript
heartbeat -> Provider
lpaddr -> Name vom Ressource Agent
\ -> Umbruch
params -> Schlüsselwort für Konfigurationsparameter