请教章老师一个LVS的问题

HI,
操作系统:RHEL4U4
软件版本:heartbeat-2.0.2,ipvsadm-1.24
web server 是IIS, LVS是DR方式,wlc。

ldirectord配置:
# Global Directives
checktimeout=3
checkinterval=1
#fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
quiescent=no

# A sample virual with a fallback that will override the gobal setting
virtual=10.10.36.10:80
real=10.10.36.12:80 gate
real=10.10.36.14:80 gate
# real=192.168.6.6:80 gate
# fallback=127.0.0.1:80 gate
service=http
request="cjtest.html"
receive="Test Page"
virtualhost=10.10.36.10
scheduler=wlc
persistent=3600
# netmask=255.255.255.255
protocol=tcp
checktype=negotiate
checkport=80

正常的状态:
ha.d]# ipvsadm
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.10.36.10:http wlc persistent 3600
-> 10.10.36.14:http Route 1 24 5378
-> 10.10.36.12:http Route 1 20 4411

当关闭12的IIS后,12被从列表中删除:

# ipvsadm
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.10.36.10:http wlc persistent 3600
-> 10.10.36.14:http Route 1 14 8399

遇到的问题:重启12的IIS重新加入列表后:

IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.10.36.10:http wlc persistent 3600
-> 10.10.36.12:http Route 1 65 25
-> 10.10.36.14:http Route 1 10 17509

当关闭12的IIS后,所有的连接都会切换到14上,可是如果当12的IIS起来后,应该把InActConn状态的连接再发回到原来的机器才对,现在就算12起来后几乎所有的InActConn连接都保持在了14上,这样的话,一台机器的符合过高,一台没压力。
基本上所有的FIN_WAIT的状态的连接都保持在一个机器上了。除非是重新启动LVS的服务器,才会重新分配连接。
保持时间:
ipvsadm -L --timeout
Timeout (tcp tcpfin udp): 1800 180 450

怎么才能解决这个问题呢?谢谢。

Forums:

IIS ?

嗯,后面的WEB SERVER用的是IIS,不是APACHE,这个无所谓了把。

没人能解答一下吗?很困惑

iis??
windows有那种non-arp的网络设备或者模拟软件嘛?

加了persistent,HTTP应用又是长连接方式,要很长时间才能平衡。改短连接方式,或者IIS哪里能设置一下,某个时长后主动断开连接,让用户重连应该就好了

说的很对

I liraletly jumped out of my chair and danced after reading this!

HI,说的详细点,如何改短连接方式?改--timeout的值吗?

randomness