NAS-Speicher mit einer Kapazität von einigen Dutzend Terabyte, wie sie sich für mittelständische Anwender eignen, nimmt die ADMIN-Redaktion in der Ausgabe ... (mehr)

Als veraltet markiert

Die Aufgabe des Resource Level Fencings in diesem Beispiel ist es, dafür zu sorgen, dass der Secondary-Knoten als »Outdated« gilt (Abbildung 1). Das »Outdated« -Flag ist ein eigener Disk-State in DRBD. Ist es gesetzt, weigert DRBD sich, eine Ressource in den Primary-Modus zu schalten. Wenn es im beschriebenen Szenario mehrere Kommunikationsringe gibt und einer davon noch funktioniert, kann Pacemaker das Flag für den betroffenen Knoten setzen. Die Grundvoraussetzung dafür ist, dass die Fencing-Funktion in DRBD aktiviert ist. In DRBD 8.4 geht das, wenn im »disk { **}« -Block einer Ressource der Parameter »fencing resource-only;« gesetzt ist (Abbildung 2). Ferner muss der »handlers **{ **}« -Abschnitt der Ressource die folgenden Einträge haben:

Abbildung 2: Durch den Eintrag
Abbildung 1: Solange die DRBD-Kommunikation wie hier gezeigt funktioniert, ist alles in Ordnung. Bricht der Link weg, sind die Secondaries als Outdated zu markieren.
fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";

Wer die Optionen für sämtliche Ressourcen aktivieren möchte, fügt die Einträge stattdessen in die jeweiligen Abschnitte der »common { **}« -Section ein, die üblicherweise in »/etc/drbd.d/global_common.conf« definiert ist. Erfolgt die Änderung im laufenden Betrieb, ist ein »drbdadm adjust all« fällig, nachdem die neue Konfiguration ihren Weg auf den anderen Clusterknoten gefunden hat – im Anschluss ist das Fencing aktiv.

STONITH in Pacemaker

Wer die STONITH-Funktionen von Pacemaker einsetzen möchte, sollte zunächst die passende Hardware dafür besitzen. Nötig ist ein Management-Interface, das den Zugriff auf eine Maschine auch ohne funktionierendes Betriebssystem ermöglicht. Beispiele hierfür sind HPs iLO-Karten, IBMs RSA oder auch DRAC von Dell. Alternativ funktioniert mit Pacemaker jede andere Management-Karte, die IPMI versteht.

Pacemaker wickelt STONITH-Befehle über entsprechende Plugins ab (Abbildung 3) und für die oben genannten Management-Karten steht entweder ein eigenes Modul oder das generische IPMI-Plugin zur Verfügung. Die Konfiguration von STONITH erfolgt dann über die Cluster-CIB, also die Cluster Information Base. STONITH-Einträge sind hier »primitive« -Anweisungen, die allerdings keinen Resource Agent verwenden, sondern ein STONITH-Plugin.

Abbildung 3: Im Verzeichnis

Um STONITH per IPMI zu nutzen, sind ein paar Informationen nötig: Bekannt sein muss neben den IP-Adressen der Managementkarten auch der Benutzername sowie das Passwort für den IPMI-Login. Wenn diese Daten vorhanden sind, empfiehlt sich ein Test mit »ipmitool« :

ipmitool -H Adresse -U Login-a chassis power cycle

Dieser Befehl sollte nach Eingabe des korrekten Passworts das jeweilige System dazu bringen, einen Reboot durchzuführen. Wenn das funktioniert, steht der Integration von STONITH in Pacemakers CIB nichts mehr im Wege. Die bisherigen Teile der HA-Serie gingen jeweils davon aus, dass STONITH deaktiviert ist. Verantwortlich hierfür ist der Eintrag »stonith-enabled=false« im »Property« -Abschnitt der CIB. Um STONITH scharf zu schalten, ist das »false« durch »true« zu ersetzen – vorher sollten allerdings die STONITH-Einträge selbst ihren Weg in die Cluster-Konfiguration finden (Abbildung 4).

Abbildung 4: Damit STONITH in Pacemaker funktioniert, sollte das property-Flag

Ein STONITH-Eintrag in Pacemaker folgt der Syntax aus Listing 1.

Listing 1

STONITH-Eintrag

 

In jedem Cluster sollten so viele Stonith-Einträge vorhanden sein, wie es Knoten gibt, nämlich für jeden Clusterknoten einen. Ein komplettes Setup für einen 2-Knoten-Cluster aus »alice« und »bob« könnte so aussehen, wie in Listing 2 gezeigt.

Listing 2

STONITH für alice und bob

 

Die »location« -Constraints bewirken im Beispiel, dass Alice nur Bob und Bob nur Alice per STONITH neustarten würde. Das sogenannte Self-Fencing, also das Szenario, in dem ein Server sich selbst rebootet, ist so ausgeschlossen.

Wenn diese Einträge ihren Weg in die CIB gefunden haben und STONITH per »property« -Eintrag aktiviert ist, steht das Feature zur Verfügung. Ein Test, der darin besteht, auf einem der beiden Knoten Pacemaker per »kill -9« ins Jenseits zu befördern, sollte beispielsweise den sofortigen Reboot dieses Knotens nach sich ziehen.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2020