Hi,
I'm having some problems setting up a test LVS-DR in streamlined mode.
Network is as follows:
Virtual IP: 10.10.30.137
Real IP1: 10.10.30.135
Real IP2: 10.10.30.136
Heartbeat is running between the the two boxes, so they are both directors.
Because of AOL Proxy/Persistent problems I'm having to use firewall
marks, which seem to the cause of the problem as "normal" lvs works
fine, (ie RR with a TCP connection)
My ldirectord.cf file is:
more /etc/ha.d/ldirectord.cf
# Global Directives
checktimeout=10
checkinterval=3
#fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
# quiescent=yes
virtual=1
real=10.10.30.135:80 masq
real=10.10.30.136:80 masq
service=http
checkport=80
scheduler=rr
checktype=connect
Whichever box happens to be the director, when browsing to the VIP you
only ever see requests returned from the director's webserver. So if
box1 has the VIP, every other connection in the web browser will work,
and be served from box1 apache, but the other will fail as its failing
on box2.
A tcpdump shows the http request hitting box 2, and a ipvsadm -L -n
shows the following:
[root@py001 root]# ipvsadm -L -n
IP Virtual Server version 1.0.8 (size=65536)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
FWM 1 rr
-> 10.10.30.135:80 Local 1 0 10
-> 10.10.30.136:80 Masq 1 0 10
So it is being load balanced, just not returned.
The client I'm connecting from is on 10.10.30.40, so it's all on the
same netblock. I'd say ARP was to blame but it works fine when not
using FWM so I can't see how this can be the cause?
Any suggestions welcomed as this is driving me nuts!
Many Thanks,
Craig.
|