net17.de
Heartbeat on Trustix Abenteuer
Basis
OS: Trustix 3.0.5 Beta 1
Cluster Software: Heartbeat 2.0.8
installiert unter Vmware Server 1.0.2 als RedHat virtuelle Maschine
Benoetigte Pakete
Benoetigte Pakete (Zielsystem/Laufzeit)
Wuenschenswerte Pakete
Trustix Installation
Custom nicht Server auswaehlen
dann
Minimal mit SSH
Entwickler Libraries
Heartbeat Installation
Unter /usr/src/trustix/rpms/i386 wird jetzt das RPM Paket erstellt, welches man jetzt auf weiteren Trustix 3.0.5 Systemen installieren kann (libnet nicht vergessen ;) )
RPM's
Und fuer alle, die bis hierher durchgehalten haben mein selbsterstelltes RPM:
heartbeat-2.0.8-4 fuer Trustix 3.0.5 (12MB)
und die beiden benoetigten:
libnet-1.1.2.1 (233KB) (auf jeden Fall)
swig-1.3.27 (738KB) (nur zum selber umwandeln von Heartbeat benoetigt)
Heartbeat Konfiguration (Version 1.x)
/etc/authkeys
Hier wird die Authentifizierungen und die Verschluesselungsart unterhalb der Knoten definiert. Fuer eine MD5 Verschluesselung benutt man die folgenden Zeilen:
Auth 3
MD5 passwort
/etc/ha.cf
Durchgehen der Definitionen und aktivieren der sinnvollen Optionen bw. derer mit denen man etwas anfangen kann. Ansonsten einfach auf Default lassen
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 120
udpport 694
auto_failback on
node trustfw1
node trustfw2
debug 1
/etc/haresource
Hier wird das definiert, was geclustert werden soll (auch Resourcen genannt), also die IP-Adressen, Dienste etc.
Das alles kommt in eine Zeile die mit dem Node anfaengt auf dem die Resourcen normalerweise verfuegbar sein sollen. Also:
node resource1 resource2 recourceN
Einige Resourcentypen wie z.B. IP-Adressen, apache, Filesystem(devices) oder LVM Daemon sind schon vordefiniert. Die Skripte dau befinden sich unter /etc/ha.d/resource.d
Um z.B. eine IP-Adresse als Resource zu definieren reicht die Zeile:
trustfw1 IPaddr::172.17.200.77
Man kann allerdings zu einer IP-Adresse auch noch Maskierung und das Interface angeben:
trustfw1 IPaddr::172.17.200.77/24/eth0
bzw. wenn die Adresse zusaetzlich zu einer schon vorhandenen, festen Ip-Adresse des Interfaces vergeben werden soll:
trustfw1 IPaddr::172.17.200.77/24/eth0:0
Bei 2 IP-Adressen, wie z.B. bei einer Firewall benoetigt:
trustfw1 IPaddr::172.17.200.77/24/eth0:0 IPaddr::192.16.5.2/24/eth1:0
Dahinter steckt der Aufruf eines Skriptes aus /etc/ha.d/resource.d dessen Name vor den beiden Doppelpunkten angegeben wird. Alles was hinter den Doppelpunkten kommt wird als Parameter an dieses Skript uebergeben.
Um jetzt eine eigene Resource zu steuern erstellt man ein Skript um starten der Resource, legt es im o.a. Verzeichnis ab und definiert:
trustfw1 IPaddr::172.17.200.77/24/eth0:0 IPaddr::192.16.5.2/24/eth1:0 eigenesskript::meineparameter
Das Skript wird jetzt mit folgenderweise aufgerufen:
/etc/ha.d/resource.d/eigenesskript meineparameter start|stop|status|usage|meta-data
D.h. der letzte Parameter muss beruecksichtigt werden und die Resource entweder starten, stoppen oder den Status ermitteln. usage und meta-data muessen nicht unbedingt im Skript bearbeitet werden
Heartbeat Konfiguration (Version 2.x)
Neue CRM (Cluster Resource Management)benutzen
var | |||||
ha | |||||
lib (770 hacluster.haclient) | |||||
heartbeat (700 hacluster.haclient) | |||||
cores (755 hacluster.haclient) | |||||
hacluster (700 hacluster.haclient) | |||||
nobody (700 nobody.nogroup) | |||||
root (700 root.root) | |||||
crm (750 hacluster.haclient) | |||||
pengine (770 hacluster.haclient) | |||||
lock (770 hacluster.haclient) | |||||
subsys (700 hacluster.haclient) | |||||
run (770 hacluster.haclient) | |||||
heartbeat (700 hacluster.haclient) | |||||
ccm (755 hacluster.haclient) | |||||
crm (750 hacluster.haclient) | |||||
rsctmp (755 root.root) |