求助:lvs+keepalive负载均衡间歇性进行健康检查的问题

利用vmware搭建配置环境。环境如下:
1. 内部IIS一台192.168.2.251
2. 两台反向代理squid集群:双网卡:eth0模拟外网IP 60.0.0.12 eth1内网IP 192.168.2.5
另一台squid同样双网卡,eth0外网60.0.0.13 eth1内网192.168.2.6
在内网IP上配置squid反向代理,同时在两台squid上配置iptalbes NAT转发。将eth0转到eth1上。
所以访问模拟的外网IP即可访问到内部IIS服务器。
3. 配置两台LVS,一台作master,另一台backup.双网卡,eth0模拟外网IP60.0.0.10,内网192.168.2.3
另一台backup,etho外网60.0.0.11,eth1内网192.168.2.4
4. lvs主机上配置keepalived配置文件,用的DR模式。VIP地址为60.0.0.14
keepalived配置文件主要部分如下:
virtual_server 60.0.0.14 80 {
delay_loop 6 #(每隔10秒查询realserver状态)
lb_algo wrr #(lvs 算法)
lb_kind DR #(Direct Route)
persistence_timeout 60 #(同一IP的连接60秒内被分配到同一台realserver)
protocol TCP #(用TCP协议检查realserver状态)

real_server 60.0.0.12 80 {
weight 3 #(权重)
TCP_CHECK {
connect_timeout 10 #(10秒无响应超时)
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 60.0.0.13 80 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
现在遇到问题是将squid其中的一台服务停了,无法进行轮循继续提供服务。telnet vip 80地址,有时候通,有时候不通。
算了下时间,好象感觉就是几分钟的时候能通,几分钟之后又不通了。
telnet squid(被停掉的) 80 不通,telnet squid(另一台) 80是通的。
不知道是配置文件出的问题,还是怎么回事。请各位高手指教。

Forums:

一、keepalived
[root@lvs-m ~]# more /etc/keepalived/keepalived.conf
#writed by sery , contact sery@163.com
#guration File for keepalived
#global define
global_defs {
router_id LVS_MAXTHON_edu1
}

vrrp_sync_group VGM {
group {
VI_OUT1
}
}

#############################################################################
# internet lvs setting #
#############################################################################
vrrp_instance VI_OUT1 {
state MASTER
interface eth0
lvs_sync_daemon_inteface eth0
virtual_router_id 51
priority 180
advert_int 5
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
21.167.68.77
}
}

##############################################################
# first virtual machine setting #
##############################################################

# setting port 80 forward
virtual_server 21.167.68.77 80 {
delay_loop 6
lb_algo wlc
lb_kind DR
persistence_timeout 5
protocol TCP

real_server 21.167.68.123 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 21.167.68.124 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 21.167.68.125 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 21.167.68.126 80 {
weight 100
TCP_CHECK {
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}

二、输出
[root@lvs-m ~]# ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 21.167.68.77:http wlc persistent 5
-> 21.167.68.126:http Route 100 0 1
-> 21.167.68.125:http Route 100 0 0
-> 21.167.68.124:http Route 100 0 0
-> 21.167.68.123:http Route 100 0 0

注:为安全起见,ip隐藏了 此处为伪造的 ,请勿测试此ip。

好像少了一个花括号"}"呢。更详细的配置请参考我的文章(http://blog.formyz.org/?p=46)

That inigsht would have saved us a lot of effort early on.

好像少了一个花括号"}"呢。更详细的配置请参考我的文章(http://blog.formyz.org/?p=46)

Mighty useful. Make no mistake, I appetciare it.

Now we know who the seisbnle one is here. Great post!

You saved me a lot of haslse just now. http://uigodi.com [url=http://wiwpvjz.com]wiwpvjz[/url] [link=http://ishbjgpsw.com]ishbjgpsw[/link]

randomness