Voor een cluster is het veelal een noodzaak dat er 1 node actief is en 1 node hot-standby. Dit kunnen we inregelen met heartbeat.
Allereerst gaan we een key aanmaken en die poten in het bestandje: authkeys
Dit bestandje moet op beide nodes exact gelijk zijn !
Daarnaast komt de config-file aan de beurt:
keepalive Om de hoeveel seconden wordt er gekeken of de andere node nog 'leeft'
deadtime Na hoeveel seconden wordt de andere node 'dood' verklaard
warntime Na hoeveel seconden komt er een seintje dat de andere node zich niet op tijd meld
initdead Hoeveel seconden na het starten van de node wordt er gewacht met het inschakelen van heartbeat om onnodig gejojo te voorkomen
udpport De poort waarop heartbeat met de andere node communiceerd
ucast Via welke interface en welk ip-adres wordt er gecommuniceerd met de andere node
auto_failback Als er eenmaal is overgeschakeld, mag er dan weer automatisch worden teruggeschakeld naar de oorspronkelijke node
node Welke nodes zijn er met deze heartbeat in het spel
Wat moet er gebeuren als heartbeat constateerd dat de andere node 'uit de lucht' is:
Er komt een email naar mailaddress@domain.tld met wat er gebeurd.
Het script Fail-over wordt gestart.
Het Fail-over script:
apt-get install heartbeat
Allereerst gaan we een key aanmaken en die poten in het bestandje: authkeys
auth 3
3 md5 geheim
Dit bestandje moet op beide nodes exact gelijk zijn !
Daarnaast komt de config-file aan de beurt:
root@node1:/etc/ha.d# cat ha.cf
logfacility local0
keepalive 1
deadtime 5
warntime 3
initdead 60
udpport 694
ucast eth1 172.16.3.215 # = node1.intern
auto_failback off
node node1 node2
keepalive Om de hoeveel seconden wordt er gekeken of de andere node nog 'leeft'
deadtime Na hoeveel seconden wordt de andere node 'dood' verklaard
warntime Na hoeveel seconden komt er een seintje dat de andere node zich niet op tijd meld
initdead Hoeveel seconden na het starten van de node wordt er gewacht met het inschakelen van heartbeat om onnodig gejojo te voorkomen
udpport De poort waarop heartbeat met de andere node communiceerd
ucast Via welke interface en welk ip-adres wordt er gecommuniceerd met de andere node
auto_failback Als er eenmaal is overgeschakeld, mag er dan weer automatisch worden teruggeschakeld naar de oorspronkelijke node
node Welke nodes zijn er met deze heartbeat in het spel
Wat moet er gebeuren als heartbeat constateerd dat de andere node 'uit de lucht' is:
root@node1:/etc/ha.d# cat haresources
node1 MailTo::mailaddress@domain.tld::MySQL-cluster-master Fail-over
Er komt een email naar mailaddress@domain.tld met wat er gebeurd.
Het script Fail-over wordt gestart.
Het Fail-over script:
root@node1:/etc/ha.d/resource.d# cat Fail-over
#!/bin/sh
# geschreven door mkruik 20161101
#
ARGV=“$@”
case $ARGV in
start)
Plaats hier in de juiste volgorde wat er moet gebeuren na een start als master
;;
stop)
Plaats hier in de juiste (omgekeerde als 'start') volgorde wat er moet gebeuren na een stop als master
;;
esac