Hochverfügbarkeit Grundlagen

Aus xinux.net
Zur Navigation springen Zur Suche springen

Prinzip

  • System besteht aus mindestens 2 Knoten
  • Software überwacht diese Knoten oder einzelne Dienste
  • Es wird also gekuckt ob die andere Seite aktiv ist
  • Man nennt dies manchmal Heartbeat
  • Einfachste Form ist ein absetzen eines Ping
  • Ein Knoten ist aktiv der andere passiv
  • Wenn der aktive Knoten ausfällt übernimmt der passive alles oder nur den entsprechenden Dienst

Probleme

Split Brain

  • Situation wenn die Heartbeat-Verbindung zwischen den Rechnern unterbrochen wird.
  • Die Knoten denken für sich das sie einwandfrei funktioniern.
  • Kontrollprogramme geht davon aus dass der jeweils andere ausgefallen ist.
  • Danach weiß keine Node, welche Rolle sie aktuell spielen soll aktiv oder passiv
  • Beide gehen auf aktiv
  • Wenn beide auf den Speicher schreiben ist das der Worst Case

Gegenseitiger Ausschluss (Fencing)

  • Annahme: Zwei oder mehr Nodes bieten den selben Dienst anbieten
  • Es muss sichergestellt sein, das nur eine Seite den Dienst nutzt
  • Hier kommt der Begriff Node Fencing zum tragen
  • Eine Node wird abgezäunt

STONITH

  • ist eine Möglichkeit dieses Ausschlusses.
  • Voraussetzung: beide Rechner sind an ein STONITH-Gerät angebunden
  • in der Regel über eine serielle Schnittstelle
  • Eine Node kann die andere dann abschalten
  • Es gibt zwei Arten, das STONITH-Prinzip einzusetzen
    • Hardware-Ebene.
      • Stecker wird gezogen salopp gesagt
      • Keine Netzwerkverbindung notwendig
    • Applikations-Ebene.
      • Beispielsweise über ssh
      • Nachteil: wenn Netzausfall ist kein Abschalten möglich

Quorum

  • Voraussetzung es gibt eine ungerade Zahl von Nodes
  • Die Nodes die sich "sehen" bewerten die Situation
  • Sie haben ein Quorum
  • Die anderen Nodes werden "gefenced"