构建LVS+ldirectord,为何ldirectord启动后,会把没停用的真实服务器的权值设为0呢?

LB用redhat9.0,后端真实服务器全用的win2k,后台用三台真实服务器.现在的问题是:没用ldirectord之前,三台服务器都可用,都能接到转发的数据包,但启动ldirectord后,会把两台服务器的权值设置为0?三台服务器我在配置时都是一样操作的,急盼答复!
ldirectord.cf文件内容如下:
checktimeout=3
checkinterval=1
fallback=127.0.0.1:80
autoreload=yes
quiescent=yes

virtual=211.86.192.80:80
real=211.86.192.16:80 gate
real=211.86.192.105:80 gate
real=211.86.192.43:80 gate
fallback=211.86.192.16:80 gate
service=http
request="test.html"
receive="test page"
scheduler=wlc
protocol=tcp
我在每台服务器的web根目录下都放在内容为"test page" 的test.html文件
不知为何,ldirectord启动后,211.86.192.16 和211.86.192.44这两台机器的权值就会为0
盼答复!!谢谢大家!

Forums:

我想应该查查ldirectord的日志文件,看看ldirectord到底检测到什么,并作了对服务器权值设置为零的动作?

另外,权值被设置为零的那两台服务器是否负载比较忙?后来他们的权值有没有被调整为非零值?

还有,你可以在LB上运行浏览器服务211.86.192.16 \和211.86.192.44这两台机器行不行?或者运行ethereal等抓一下报文看看。

把request=test.html 改成request=/test.html试试

killall ldirectord
ldirectord -d /etc/ha.d/www.cf start

This piece was a lijaeeckft that saved me from drowning.