略去导航.
主页
The image verification code you entered is incorrect.

关于session以及ipvsadm,ldirectord,heartbeat的关系的一些问题,请章老师指教

本人刚刚接触lvs,做了一个DR模式的集群,希望大家多多指点。
一 问题1
在使用heartbeat与ldirectord时,由于要在服务器端保存session,所以我将ldirectord.cf配置成persistent=240
启动heartbeat后
我访问http://192.168.169.2/(我设置的虚拟IP),显示正常

运行ipvsadm显示

IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.169.2:http rr persistent 240
-> 192.168.169.4:http Route 1 0 0
-> 192.168.169.3:http Route 1 1 0

说明服务别分配到3服务器上,当我将3的网线拔掉以后变为

IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.169.2:http rr persistent 240
-> 192.168.169.4:http Route 1 0 0
-> 192.168.169.3:http Route 0 0 0

此时我刷新刚才那个页面,无法正常显示
ipvsadm显示
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.169.2:http rr persistent 240
-> 192.168.169.4:http Route 1 0 0
-> 192.168.169.3:http Route 0 0 1

请求仍然被发送到192.168.169.3直到超时

有没有办法使realserver正常时 使用persistent连接,而当服务器down机后即使设置了 persistent参数 也可以即时将请求发送到别realserver上

二 问题2
请大家解释一下下面这句的含义:(haresources文件)
linuxha1 IPaddr::192.168.169.2/24/192.168.169.255 ipvsadm ldirectord::www

ldirectord::www这里的www是做什么用的,是ldirectord的配置文件么?(我已经把ldirectord.cf复制为www.cf)

这里的24规定掩码为255.255.255.0和转发规则定义的255.255.255.255冲突么,这里定义广播地址和转发规则定义的192.168.169.2冲突么

现在我有点搞不清楚ipvsadm,ldirectord,heartbeat之间的关系,在指定主节点上启动时是不是要把ipvs转发规则,ldirectord,heartbeat同时启动?在备份节点上呢,是三个都启动还是只启动heartbeat?heartbeat可以启动ldirectord和ipvs转发规则么?
各位高手请指点!!!

附:
(1)转发规则
ifconfig eth0:100 192.168.169.2 broadcast 192.168.169.2 netmask 255.255.255.255
route add -host 192.168.169.2 dev eth0:100
ipvsadm –C
ipvsadm -A -t 192.168.169.2:80 -s rr -p 240
ipvsadm -a -t 192.168.169.2:80 -r 192.168.169.4 -g -w 1
ipvsadm -a -t 192.168.169.2:80 -r 192.168.169.3 -g -w 1
ipvsadm

(2)ldirectord.cf
checktimeout=3
checkinterval=1
#autoreload=no
#callback=
fallback=127.0.0.1:80
logfile="/var/log/ldirectord.log"
#logfile="local0"
#execute="configuration"
quiescent=yes
# A sample virual with a fallback that will override the gobal setting
virtual=192.168.169.2:80
real=192.168.169.4:80 gate
real=192.168.169.3:80 gate
fallback=127.0.0.1:80 gate
checktype=negotiate
service=http
request="test"
receive="test"
scheduler=rr
persistent=240
#netmask=255.255.255.255
protocol=tcp

回复

  • 允许 HTML标签: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • 行和段被自动切分。
  • 你可以用[inline:xx] 标记来内嵌显示上传的文件或者图片。
更多格式化选项信息 Captcha Image: you will need to recognize the text in it.
Please type in the letters/numbers that are shown in the image above.