Load Balancer mit Heartbeat; Bad hostename in /etc/ha.d/hare

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
HermannPrechtl
Beiträge: 84
Registriert: 14.10.2009 16:55:39

Load Balancer mit Heartbeat; Bad hostename in /etc/ha.d/hare

Beitrag von HermannPrechtl » 25.11.2009 14:53:46

Hallo Miteinander,

da mir hier schon mal ganz prima geholfen wurde, erlaube ich mir nochmal mich an euch zu wenden.

Ich baue einen Load Balancer auf mit High Availability. Das heißt ich verwende zwei Rechner für das Load Balancing für derzeit zwei Workerrechner. Bei den beiden Load Balancing Rechnern lässt sich nun nicht das heartbeat starten. Es kommt immer wieder die selbe Fehlermeldung, dass ein "bad nodename" vorhanden ist, die Datein in /etc/ha.d/haresources sind aber exakt gleich, da ich diese per Kopie auf den anderen Rechner gebracht habe. Hat von euch jemand eine Idee? Hier die gesamte Fehlermeldung:

headnode1:~# /etc/init.d/heartbeat start
logd is already running
Starting High-Availability services:
Heartbeat failure [rc=6]. Failed.

heartbeat: baudrate setting must precede media statementsheartbeat[2557]: 2002/01/01_00:53:27 WARN: Core dumps could be lost if multiple dumps occur.
heartbeat[2557]: 2002/01/01_00:53:27 WARN: Consider setting non-default value in /proc/sys/kernel/core_pattern (or equivalent) for maximum supportability
heartbeat[2557]: 2002/01/01_00:53:27 WARN: Consider setting /proc/sys/kernel/core_uses_pid (or equivalent) to 1 for maximum supportability
heartbeat[2557]: 2002/01/01_00:53:27 info: Version 2 support: false
heartbeat[2557]: 2002/01/01_00:53:27 WARN: Logging daemon is disabled --enabling logging daemon is recommended
heartbeat[2557]: 2002/01/01_00:53:27 info: **************************
heartbeat[2557]: 2002/01/01_00:53:27 info: Configuration validated. Starting heartbeat 2.1.3
heartbeat[2557]: 2002/01/01_00:53:27 ERROR: Bad nodename in /etc/ha.d/haresources [ldirectord::ldirectord.cf]
heartbeat[2557]: 2002/01/01_00:53:27 ERROR: Configuration error, heartbeat not started.

headnode1:~#

Auf beiden Load Balancern habe ich die zwei Files auf /etc/init.d/haresources mit exakt gleichem und folgendem Inhalt:

headnode1
ldirectord::ldirectord.cf
LVSSyncDaemonSwap::master
IPaddr2::192.168.1.200/24/eth0/192.168.1.255


Danke.
Gruß Hermann aus Amberg
Zuletzt geändert von HermannPrechtl am 25.11.2009 15:12:26, insgesamt 1-mal geändert.

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: Load Balancer mit Heartbeat; Bad hostename in /etc/ha.d/hare

Beitrag von michaels » 25.11.2009 15:02:20

Hallo,

die Namen der Server in den Konfigs muss der jeweilige Hostname sein. Darüber stellt ha ja auch fest, auf welchem Server es gerade läuft. Ist das bei dir der Fall (sollte mir

Code: Alles auswählen

uname -n
übereinstimmen)?

Gruß

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: Load Balancer mit Heartbeat; Bad hostename in /etc/ha.d/hare

Beitrag von michaels » 25.11.2009 15:19:50

? In /etc/init.d? Hoffentlich /etc/ha.d/

Und bei mir werden in die hareasource nur mappings zwischen Node und IP Adresse gelistet:
node1 192.168.1.10
node1 192.168.1.11
node1 192.168.1.12

Damit würde der Rechner mit dem Namen node1 die IP Adressen 192.168.1.10 - 12 übernehmen.

In der ha.cf kommen dann noch ein paar Einstellungen. U.a.
node node1
node node2

Aber vielleicht hat sich die Konfig in der Zwischenzeit auch geändert!? Das System läuft schon etwas länger...

Gruß

HermannPrechtl
Beiträge: 84
Registriert: 14.10.2009 16:55:39

Re: Load Balancer mit Heartbeat; Bad hostename in /etc/ha.d/hare

Beitrag von HermannPrechtl » 25.11.2009 16:11:41

Hallo,

ja, zum Einen hast du recht mit /etc/ha.d/haresources

Dann zu dem uname-n

Laut meiner Beschreibung von hier
http://www.howtoforge.de/howto/wie-man- ... -aufsetzt/
sollen die Dateien:

haresources
ha.cf
authkeys

völlig identisch sein. Ich habe aber schon mal die hostnames so auf haresources eingetragen wie sie real vorliegen, also auf meinem Loadbalancer 1:

headnode1
ldirectord::ldirectord.cf
LVSSyncDaemonSwap::master
IPaddr2::192.168.1.200/24/eth0/192.168.1.255

und auf dem LoadBalancer 2:

headnode2
ldirectord::ldirectord.cf
LVSSyncDaemonSwap::master
IPaddr2::192.168.1.200/24/eth0/192.168.1.255

Also du findest, dass die realen hostnames so richtig sind? Es kommt leider zur selben Fehlermeldung, ob ich nun nur headnode1 auf beiden LBs eintrage oder headnode1 auf LB1 und headnode2 auf LB2. Aber für mich ist schon mal gut zu wissen, dass das Letztere so richtig ist.

Die Datei /etc/ha.d/ha.cf sehen auf beiden LBs so aus:

logfacility local0
bcast eth0 #Linux
mcast eth0 225.0.0.1 694 1 0
auto_failback off
node headnode1
node headnode2
respawn hacluster /usr/lib/heartbeat/ipfail
apiauth ipfail gid=haclient uid=hacluster


An was könnte das noch liegen?

Danke.
Gruß Hermann aus Amberg

michaels
Beiträge: 1164
Registriert: 29.03.2009 18:12:25

Re: Load Balancer mit Heartbeat; Bad hostename in /etc/ha.d/hare

Beitrag von michaels » 25.11.2009 16:18:18

Die Dateien müssen schon bei beiden Nodes gleich sein! Anhand des Hostnamen erkennen die Server dann ja, ob man selbst für die IP zuständig ist, oder nicht.

Unsere Konfig ist hier irgendwie "einfacher". Die auth Geschichte haben wir hier nicht eingebaut (kannte ich bisher auch nicht. Ist bei uns aber auch nicht notwendig...)

Laut der Fehlerbeschreibung scheint er ja Probleme mit der Zeile ldirectord::ldirectord.cf zu haben.

HermannPrechtl
Beiträge: 84
Registriert: 14.10.2009 16:55:39

Re: Load Balancer mit Heartbeat; Bad hostename in /etc/ha.d/hare

Beitrag von HermannPrechtl » 26.11.2009 06:56:52

Hallo und danke für die Tipps.

Ja richtig, der Knackpunkt scheint bei [ldirectord::ldirectord.cf] zu liegen. Weiß man was diese Zeile bedeutet? Diese Zeile kommt ja nach dem Eintrag des hostnames vom Haupt-LoadBalancers. Es stellt sich die Frage, ob evtl. dieser Eintrag noch als Hostname gelesen wird, da die Fehlermeldung auch darauf abzielt mit:

"heartbeat[2557]: 2002/01/01_00:53:27 ERROR: Bad nodename in /etc/ha.d/haresources [ldirectord::ldirectord.cf]"

Dem Eintrag "[ldirectord::ldirectord.cf]" geht ein Tabulator voraus, vielleicht hat das etwas zu sagen? Das ist ja manchmal auch wichtig wie z.B bei Makefiles.

Dann habe ich auch schon eine etwas andere Art des "haresources" gelesen und zwar hier:

http://www.debianhelp.co.uk/ultramonkey.htm

loadb1 \
ldirectord::ldirectord.cf \
LVSSyncDaemonSwap::master \
IPaddr2::192.168.0.105/24/eth0/192.168.0.255

Ob hier der Backslash am Ende etwas zu sagen hat?

Danke nochmal.

Gruß Hermann Prechtl aus Amberg

HermannPrechtl
Beiträge: 84
Registriert: 14.10.2009 16:55:39

Re: Load Balancer mit Heartbeat; Bad hostename in /etc/ha.d/hare

Beitrag von HermannPrechtl » 26.11.2009 15:45:41

Leute, ich hab nun selbst gefunden was los ist, so ist der Eintrag in die /etc/ha.d/haresources richtig:

headnode1 \
ldirectord::ldirectord.cf\
LVSSyncDaemonSwap::master\
IPaddr2::192.168.1.200/24/eth0/192.168.1.255

Nach dem headnode1 muss eine Leertaste kommen und danach ein Backslash. Auch alle Zeilen schließen dann direkt mit einem Backslash ab, mit Ausnahme der letzten Zeile.

Dennoch DANKE für euer mitmachen.

Gruß
Hermann Prechtl

Antworten