Licence to kill
Die meisten Resource Agents überprüfen beim Aufruf mit »monitor«
nur oberflächlich, ob ein Programm läuft. Meist schauen sie nach, ob ein entsprechender Prozess in der Prozesstabelle zu finden ist und ob dieser auf »kill -0«
noch reagiert. Nicht selten erfüllen Applikationen zwar diese beiden Bedingungen, funktionieren aber trotzdem nicht mehr richtig.
Beispiele sind virtuelle Maschinen, deren »kvm«
-Prozess zwar noch läuft, die aber auf »ping«
nicht mehr antworten, sowie Asterisk, das nicht mehr reagiert, obwohl der Prozess noch läuft. Die Autoren von Resource Agents müssen sich um diese Probleme selbst kümmern. Für die beiden angegebenen Beispiele ist das passiert: Sowohl »ocf:heartbeat:VirtualDomain«
als auch »ocf:heartbeat:asterisk«
bieten erweiterte Testmechanismen, um Fehlurteilen vorzubeugen.
Monitor-Skripte
Der Virtual-Domain-Agent erledigt das über den Parameter »monitor_scripts«
in der CRM-Konfiguration. Hier gibt der Admin eine Liste von Skripten an, die Pacemaker während der »monitor«
-Operation aufruft, jeweils getrennt durch ein Komma. Falls der Clusteradmin hier externe Skripte angibt, bezieht der Resource Agent deren Rückgabewerte in das Ergebnis von »monitor«
ein.
Zusatzskripte (Abbildung 3) können beliebige Funktionen testen. Empfehlenswert ist etwa ein Skript, das »ping«
mit der IP der virtuellen Maschine aufruft und 0 zurückliefert, falls diese auf Pings antwortet, oder 1, falls nicht.
Der spezialisierte Asterisk-Agent »ocf:heartbeat:asterisk«
kennt eine sehr ähnliche Funktion. Ist auf dem Zielsystem das Programm »sipsak«
installiert und definiert der Admin in der CRM-Konfiguration den Parameter
monitor_sipuri="sip:IP."
dann schickt der Agent bei jedem Monitoring-Aufruf einen SIP-Request an den Asterisk-Server. Kommt auf den Request eine brauchbare Antwort, gilt die Operation als erfolgreich abgeschlossen. Andernfalls markiert Pacemaker den Vorgang als »failed«
und spielt das übliche Programm ab.
Übrigens: Hat der Admin nach dem Fehlschlagen einer Monitor-Operation die Ursache für das Problem beseitigt, hilft der Befehl »crm resource cleanup Name_der_Ressource«
auf der Bash, um den »Failcount«
der Ressource auf 0 zurückzusetzen. Das stellt die Ausgangssituation wieder her (Abbildung 4).
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 4 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





