PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysql cluster + ldirectord = kein Zugriff auf die virtuelle IP



Isengard
21.04.09, 11:07
Hallo,

ich habe einen MySQL Cluster auf Basis dieser Beschreibung aufgebaut

http://www.howtoforge.com/loadbalanced_mysql_cluster_debian


Das Problem ist folgendes:

ldirectord läuft, erstellt die VirtIP (sichtbar unter ipvsadm -ln) aber Zugriffe werden mit einem "No Route to Host" beendet. Die Nodes sind beide erreichbar (mysql -h node1 funktioniert) und beide Nodes haben auch die Loopback VirtIP.
Man kann sich auch direkt auf beiden Nodes mit der realen Ip und der Virtuellen IP verbinden.

iptables ist deaktiviert, eth0 ist als sicheres Gerät eingetragen (CentOS Setup). Nun fehlen mir weitere Anhaltspunkte.
Wie kann ich prüfen wo es genau hängt. Die Logs geben keine Auskunft, da die Dienste alle laufen (ldirectord, MySQL, ndb).



checktimeout=15
checkinterval=5
autoreload=no
quiescent=yes
virtual=192.168.2.110:3306
service=mysql
real=192.168.2.120:3306 gate
real=192.168.2.121:3306 gate
checktype=negotiate
login="ldirector"
passwd="password"
database="ldirectord"
request="SELECT ok FROM ldirtest"
scheduler=wrr

Isengard
22.04.09, 16:23
So habe etwas rumgebastelt.

ldirectord deaktiviert und den LVS selber eingerichtet:



ipvsadm -A -t 192.168.2.110:3306 -s wrr -p 10
ipvsadm --add-server -t 192.168.2.110:3306 -r 192.168.2.120:3306
ipvsadm -ln


IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.2.110:3306 wrr persistent 10
-> 192.168.2.120:3306 Route 1 0 0

telnet 192.168.2.110 3306

Trying 192.168.2.110...
telnet: connect to address 192.168.2.110: No route to host
telnet: Unable to connect to remote host: No route to host

[~]# route
Kernel IP Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.2.1 0.0.0.0 UG 0 0 0 eth0



sysctl.conf


#net.ipv4.ip_forward = 1
net.ipv4.conf.all.forwarding = 1
#net.ipv4.conf.default.rp_filter = 1
#net.ipv4.conf.default.accept_source_route = 0
#kernel.sysrq = 0
#kernel.core_uses_pid = 1
#net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456


iptables alles auf ACCEPT

Ein direkter Aufruf von 192.168.2.120 klappt ohne Probleme (telnet und mysql client).

Isengard
24.04.09, 13:36
So nach anlegen einer virtuellen Netzwerkkarte mit Route klappt alles.