When a real server goes down ( I forced reboot), ldirectord does not
remove the entry from ipvsadm table. As a result a reconnection to the
common IP from the same client fails. It tries to go to the same client.
I am using roundrobin. I expect ldirectord to remove an entry as soon as
it loses the http link. From then on any new connection should use the
remaining real servers.
This is a shot of my ipvsadm watch ...
Every 2s: ipvsadm -L -n Fri Nov 18
23:05:32 2005
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 172.21.113.89:80 wrr
-> 172.21.113.88:80 Route 1 0 0
-> 172.21.113.87:80 Route 1 0 0
TCP 172.21.113.89:0 rr persistent 360
-> 172.21.113.88:0 Route 1 0 0
-> 172.21.113.87:0 Route 1 1 0
Here is the config for ldirecgtord ( I created based on an example)
checktimeout=20
checkinterval=5
autoreload=yes
quiescent=no
logfile="info"
virtual=172.21.113.89:80
real=127.0.0.1:80 gate 1 ".healthcheck.html" "OKAY"
real=172.21.113.87:80 gate 1 ".healthcheck.html" "OKAY"
real=172.21.113.88:80 gate 1 ".healthcheck.html" "OKAY"
service=http
checkport=80
protocol=tcp
scheduler=wrr
checktype=negotiate
fallback=127.0.0.1
Here is the network config for the load director:
eth0 Link encap:Ethernet HWaddr 00:08:74:32:4B:73
inet addr:172.21.112.1 Bcast:172.21.115.255 Mask:255.255.252.0
inet6 addr: fe80::208:74ff:fe32:4b73/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3542 errors:0 dropped:0 overruns:0 frame:0
TX packets:2250 errors:0 dropped:0 overruns:0 carrier:0
collisions:2 txqueuelen:1000
RX bytes:449504 (438.9 Kb) TX bytes:261717 (255.5 Kb)
eth0:0 Link encap:Ethernet HWaddr 00:08:74:32:4B:73
inet addr:172.21.113.89 Bcast:172.21.115.255 Mask:255.255.252.0
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
|