Hi there,
I have a 2-node cluster with a couple of load balancers in
active/passive configuration using heartbeat for failover.
This is all under Xen virtualisation on two physical hosts; one load
balancer virtual machine on each physical host. The load balancers are
connected via heartbeat in an active/passive configuration.
The load balancer sends http requests to one of two webserver virtual
machines which are behind it, each on one of the physical hosts.
I am running into a problem where:
I have a virtual machine running on the same physical host as the active
load balancer and on the same network as the front-side of the load
balancers and their floating IP address.
From this VM any http connections are only served by one of the
load-balanced webservers.
50% of the time the HTTP connection times out. I believe that the load
balancer is trying to balance these connections between the webservers
but that one of these webservers either does not see it or cannot
properly respond.
In the webserver logs I can see that the webserver running on the same
hardware node as the active load balancer is the one which serves the
requests; the other webserver does not have these in its logs.
HTTP connections from the identical VM running on the other hardware
node, ie not where the currently active load balancer is running, are fine.
The setup works fine in other respects and has been in service for some
months now.
I have no idea whats going on, the computers are mocking me :(
My ldirectord.conf:
checktimeout=10
checkinterval=2
autoreload=no
logfile="local0"
quiescent=yes
virtual=xxx.yy.zz.ww:80
fallback=127.0.0.1:80 masq
real=192.168.0.4:80 masq 10
real=192.168.0.3:80 masq 10
service=http
request="ldirector.html"
receive="Test Page"
scheduler=rr
protocol=tcp
checktype=negotiate
(obfuscated external IP address, it isn't really xxx.yy.zz.ww)
|