akadawa
Goto Top

Heartbeat über 2 subnetze

hallo leute,

ich stehe in meinem Projekt noch vor einem Problem mit dem heartbeat.
heartbeat scheint nicht mit node1 und node2 über 2 subnetze zu kommunizieren.
der heartbeat zeigt auf die webanwendung von node1 oder node2 und node1 und node2 haben jeweils den gleichen stand der webanwendung. (mysql replikation funktioniert).
wenn ich im netzwerk 192.168.0.1/24 bin dann kann ich den heartbeat erreichen und komme auf node1
und wenn ich im netzwerk 192.168.1.1/24 bin erreiche ich node2.
der udpport 694 ist frei für die kommunikation des heartbeats.
bin am verzweifeln und finde keine möglichkeit das problem zu beheben.

könnt ihr mir helfen?

Konfigurationen:
node2:
debian wheezy
ip:192.168.1.1

ha.cf
#alle knoten des clusters eintragen
node node1 node2

# Bekanntgabe der IP-Adressen aller Nodes und wie diese über
# welche Schnittstelle zu erreichen sind:
# ucast eth0 node1
# ucast eth0 node2
ucast eth0 192.168.0.1
ucast eth0 192.168.1.1
udpport 694
# Anhand von Pings auf die folgende IP-Adresse wird ermittelt
# ob der aktive Node erreichbar ist
# ping 192.168.0.254 # gateway

# Debug/Logfiles:
debugfile /var/log/ha-debug
logfile /var/log/ha-log

#zeit in der der replikationspatner nicht mehr als verfügbar erkannt wird
deadtime 10

haresources
# Bevorzugter Node und die umzuschaltende Resource
# (gemeinsame) Heartbeat IP = 192.168.0.38
#node1  192.168.0.38
node1 IPaddr::192.168.0.38/24 # in wheezy ist die angabe des subnetzes notwendig


node1:
debian squeeze
ip:192.168.0.1

ha.cf
#alle knoten des clusters eintragen
node node1 node2

# Bekanntgabe der IP-Adressen aller Nodes und wie diese über
# welche Schnittstelle zu erreichen sind:
# ucast eth0 node1
# ucast eth0 node2
ucast eth0 192.168.0.1
ucast eth0 192.168.1.1
udpport 694
# Anhand von Pings auf die folgende IP-Adresse wird ermittelt
# ob der aktive Node erreichbar ist
# ping 192.168.0.254 # gateway

# Debug/Logfiles:
debugfile /var/log/ha-debug
logfile /var/log/ha-log

#zeit in der der replikationspatner nicht mehr als verfügbar erkannt wird
deadtime 10

haresources
# Bevorzugter Node und die umzuschaltende Resource
# (gemeinsame) Heartbeat IP = 192.168.0.38
#node2  192.168.0.38
node2 IPaddr::192.168.0.38/24 # in wheezy ist die angabe des subnetzes notwendig

Content-ID: 332743

Url: https://administrator.de/contentid/332743

Ausgedruckt am: 19.12.2024 um 14:12 Uhr

108012
108012 21.03.2017 um 11:07:29 Uhr
Goto Top
Hallo,

muss da nicht jemand Subnetzen routen!?

Gruß
Dobby
aqui
aqui 21.03.2017 aktualisiert um 11:21:09 Uhr
Goto Top
Was für ein Protokoll nutzt dein Heartbeat denn ??
Wenn es ein reines Layer 2 Protokoll ist, dann ist es ja überhaupt gar nicht routebar und kann nur in einer Layer 2 Doamin funtionieren.
Leider kommen dazu ja keinerlei Informationen von dir face-sad
Und wie Kollege Dobby schon sagt muss da ja noch irgendwo ein Router oder Layer 3 Switch im Netz sein. Sofern das Heartbeat Protokoll denn routebar ist.
Entsprechenden Dokus wie diese:
http://www.linux-magazin.de/Ausgaben/2004/07/Reservespieler
reden immer von einem direkten Crossover bzw. L2 Verbindung für den Heartbeat.

Die offizielle Doku redet von UDP aber auch von Multicast. Ist das Heartbeat ein UDP Multicast Paket was auch von VRRP HA Designs usw. benutzt wird ist das NICHT routebar.
http://linux-ha.org/wiki/Ha.cf
Bzw. nur routebar wenn der Router auch IP PIM Multicast Routing supportet !
Es gibt aber auch Multicast Gruppen dessen Multicat IP Adresse eine sog. Link Local Multicast IP ist die gar nicht routebar ist auch nicht mit PIM weil deren TTL Counter fest auf 1 steht. Z.B. die 224.0.0.x Adresse.
https://en.wikipedia.org/wiki/Multicast_address
Dazu machst du aber wie gesagt keinerlei Angaben so das wir hier nur raten können face-sad
Also einfach mal tcpdump anschmeissen oder den Wireshark und schlicht und einfach mal nachsehen WIE dein Heartbeat netztechnisch funktioniert !
Chonta
Chonta 21.03.2017 um 11:53:34 Uhr
Goto Top
Hallo,

welche Version von heartbeat wird verwendet?
Meine Konfig schaut anders aus

logfacility local0
auto_failback off
warntime 5
deadtime 15
initdead 60
keepalive 2
ucast eth0 ip node1
ucast eth1 ip node1
node fqdn node1
node fqdn node2
Der andere Node ist auch so aufgebaut. Aber mit SEINEN IP Adressen beim Ucast, du hast immer die selben.
Wenn Node 1 und 2 jeweils nur eine IP habenm dann kannst du auch nur diese verwenden.
Und die einzelnen Nodes müssen auch jeweils routen zu den IP haben ohne Route oder mit NAT dazwischen klapts nicht.

Gruß

Chonta
chgorges
chgorges 21.03.2017 aktualisiert um 13:50:58 Uhr
Goto Top
Zitat von @akadawa:
der udpport 694 ist frei für die kommunikation des heartbeats.

Bist du dir da zu 100% sicher, bzw. hast du die Konfig des Core-Switches/Routers gegengecheckt?

Wenn man Inter-VLAN-Routing aktiviert, muss zusätzlich ein UDP-Relay eingerichtet werden, damit der UDP-Verkehr vom Core-Switch weitergeleitet und nicht verworfen wird.

Ansonsten my two cents: Heartbeat über Subnetze/VLANs hinweg ist weit entfernt vom Best Practise. Dafür richtet man ein separates, abgeschottetes Management-/Heartbeat-VLAN ein, welches nur einen einzigen Zweck hat: Einwandfreie Kommunikation des Heartbeats.
akadawa
akadawa 21.03.2017 um 14:19:39 Uhr
Goto Top
das protokoll des heartbeats kenne ich leider nicht.

danke für den tip mit tcpdump, das werde ich gleich mal ausprobieren.
aqui
aqui 21.03.2017 aktualisiert um 15:33:52 Uhr
Goto Top
das protokoll des heartbeats kenne ich leider nicht.
Schlecht face-sad
Shift Taste defekt ?
akadawa
akadawa 21.03.2017 aktualisiert um 15:47:19 Uhr
Goto Top
nein, ich hab beide shift tasten ausgebaut
aqui
aqui 21.03.2017 aktualisiert um 15:55:40 Uhr
Goto Top
Das ist schlecht denn es macht nicht wirklich Spaß solche Texte lesen zu müssen face-sad
Es geht hier primär nicht um Pedanterie mit Rechtschreibung usw. sondern schlicht um die Übersichtlichkeit solcher technischen Texte für die, die Willens sind zu helfen und sowas zu lesen.
Vielleicht denkst du fairerweise auch über diese Seite einmal nach ?!