LVS搭建的web负载均衡巨慢无比

OS是5.2平台
ipvsadm版本是ipvsadm v1.24
heartbeat版本是Heartbeat version 2.1.3
ldirectord版本是Linux Director v1.186-ha-2.1.3

共3个服务器分别是
node0: 190.0.0.230 虚拟服务器IP
node1:190.0.0.231 lvs服务器1 web服务器
node2:190.0.0.232 lvs服务器二 web服务器
node3:190.0.0.233 web服务器

准备实现的构架是

node1月node2做heatbeat实现心跳监控

然后node3 node1 node2都安装web服务器。实现rr轮询。

配置清单:
vi /etc/ha.d/ha.cf
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
initdead 120
udpport 694
bcast eth0 # Linux
node node1
node node2
ping 192.0.0.2
auto_failback on
respawn root /usr/lib/heartbeat/ipfail
apiauth ipfail gid=root uid=root
#crm yes

ldirectord的配置单
vi /etc/ha.d/ldirectord.cf
checktimeout=3
checkinterval=1
#fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
#emailalert="admin@x.y.z"
#emailalertfreq=3600
#emailalertstatus=all
quiescent=yes

# Sample for an http virtual service
virtual=192.0.0.230:80
real=192.0.0.231:80 gate
real=192.0.0.232:80 gate
real=192.0.0.233:80 gate
#fallback=127.0.0.1:80 gate
service=http
request="test.html"
receive="Test Page"
#virtualhost=some.domain.com.au
scheduler=rr

LVS服务器中的/etc/init.d/lvs.sh代码
#!/bin/sh
ifconfig eth0:0 192.0.0.230 broadcast 192.0.0.255 netmask 255.255.255.20 up
route add -host 192.0.0.230 dev eth0:0
######setup ipvs#########
ipvsadm -C
ipvsadm -A -t 192.0.0.230:80 -s rr
ipvsadm -a -t 192.0.0.230:80 -r 192.0.0.231 -g
ipvsadm -a -t 192.0.0.230:80 -r 192.0.0.232 -g
ipvsadm -a -t 192.0.0.230:80 -r 192.0.0.233 -g
ipvsadm -a -t 192.0.0.230:80 -r 192.0.0.234 -g
ipvsadm

RealServer服务器中的/etc/init.d/realserver.sh代码
#!/bin/sh
#start realsever
#create in 20071224 by foway
VIP=192.0.0.230
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.0 up
/sbin/route add -host $VIP dev lo:0
echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p

配置好后。
出现问题:

访问http://192.0.0.230/页面非常慢。基本无法访问。偶尔才可以打开,同时也非常慢。

直接访问http://192.0.0.231 或者其他任何一个非虚拟IP的WEB。页面非常快。
监控状态:
[root@node1 ~]# ipvsadm -Lc
IPVS connection entries
pro expire state source virtual destination
TCP 00:23 SYN_RECV 192.0.0.161:6934 node0:http node3:http
TCP 00:02 SYN_RECV 192.0.0.161:6920 node0:http node3:http
TCP 00:02 SYN_RECV 192.0.0.161:6922 node0:http node3:http
TCP 00:17 SYN_RECV 192.0.0.161:6935 node0:http node3:http
TCP 00:23 SYN_RECV 192.0.0.161:6937 node0:http node3:http
TCP 00:02 SYN_RECV 192.0.0.161:6921 node0:http node3:http
TCP 00:23 SYN_RECV 192.0.0.161:6933 node0:http node3:http
TCP 00:23 SYN_RECV 192.0.0.161:6936 node0:http node3:http
TCP 00:02 SYN_RECV 192.0.0.161:6918 node0:http node3:http
TCP 00:02 SYN_RECV 192.0.0.161:6919 node0:http node3:http
TCP 00:02 SYN_RECV 192.0.0.161:6923 node0:http node3:http
TCP 00:23 SYN_RECV 192.0.0.161:6932 node0:http node3:http

百思不得其解!期待各位帮助

附件大小
Plain text icon ldirectord.log8.9 KB

Forums:

/etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

改了吗?

不太确定你用的方法会不会见效,我是改 sysctl.conf 的。

改了的

为什么不用haresoruces文件来配置

去掉 不存在的 192.0.0.234,
你的ldirectord 不断在重启,这应该就是慢的原因 。

randomness