我参考例子用SUSE 9 企业版设计了VS/DR模式的,有不清楚的地方请章老师指点,欢迎大家提建议!

操作系统全部选用SUSE LINUX 9 ENTEPRISE
因为已经是2。6的内核,所以IPVS和ipvsadm都已经被安装上了,就不用去下补丁编译内核了
LB VS/DR的配置过程如下

eth0:10.0.2.200/24
eth0:0 : 10.0.2.9/24(VIP)

IPVS配置过程:
#清空IPVS表
ipvsadm -C
ipvsadm -A -t 10.0.2.9:80 -s wcl
ipvsadm -a -t 10.0.2.9:80 -r 10.0.0.207 -w 5 -g
ipvsadm -a -t 10.0.2.9:80 -r 10.0.2.208 -w 5 -g

echo 1 > /proc/sys/net/ipv4/ip_forward

RealServer的配置
eth0:10.0.2.207/24
lo:0 :10.0.2.9/32

echo 1 > /proc/sys/net/ipv4/ip_forward

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/all/arp_filter

echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/eth0/arp_filter

echo 1 > /proc/sys/net/ipv4/conf/default/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/default/arp_announce
echo 0 > /proc/sys/net/ipv4/conf/default/arp_filter
route add default 10.0.0.3

[inline:实验网络架构.jpg=最新网络结构图]

附件大小
Image icon 实验网络架构.jpg62.57 KB

Forums:

你的配置应该可以工作吧?:)

嗯,可以正常工作了,不好意思,回复的有点晚,今天突然心血来潮又跑来看看自己之前发的例子,时间很快啊!

章老师,还是ARP的问题,已经解决了,要关闭所有端口的ARP .谢谢

现在在配置heartbeat.
主从ld都能跑起来了,具体该怎样测试主从LD是否可以来回切换还不清楚.

初步打算是拔掉主LD的网线,这样从LD应该启动来顶替主LD.
当把主LD的网线插上后,从LD应该将资源返还给主LD

现在有点小问题
1.当拔掉主LD的网线的时候,从LD被设置为VIP:10.0.0.209/24 并且ipvsadm被调用设置上调度规则,接替主LD工作.

2.当再次插上主LD 的网线的时候,主LD没有立刻接替从LD的工作,从LD也没有释放VIP和IPVSADM的这两个资源,导致从LD的eth0:0 依然是10.0.0.209/24,ipvsadm规则也没有被清除.如果工作正常的话,IPVSADM的规则应该立刻被清空,并且ETH0:0 10.0.0.209/24也应该被释放掉.记得论坛里有人也碰到过这问题,查到后来发现是两个机器上的配置不一样导致的,故已经对比过两个机器的配置文件ha.cf和
haresoureces, authkeys因为偷懒就用的crc
网络结构见主贴的图,图已经更新过,主贴的内容也更新过了
配置如下.
ha.cf

logfile /var/log/ha-log

bcast eth0

keepalive 2

warntime 10

#node is pronounced dead after 30 sec
deadtime 30

initdead 120

udpport 694

#whether auto_failback if main ld status is ok
auto_failback on

#ld node list and heartbeat v1.2 only support 2 nodes,for v2.0 more supports
node AT200
node AT110

respawn root /usr/lib64/heartbeat/ipfail

ping 10.0.0.200 10.0.0.110

below is the config of haresources
AT200 10.0.0.209/24 ipvsadm

********************************************************************
i set the ipvsa rule in file /etc/ipvsadm.rules
so, when heartbeat start it should config the eth0:0 with ip 10.0.0.209/24 and call /etc/init.d/ipvsadm to
set the ipvsadm rule ,