我的lvs服务器配置如下:
总共三台服务器
vip是:172.16.3.30
lvs的机器是:172.16.3.28
俩台realServer:分别是172.16.3.16和172.16.3.17
--------------------------------------------
在lvs上面执行了如下的脚本:
VIP=172.16.3.30
RIP2=172.16.3.17
RIP3=172.16.3.16
GW=172.16.1.254
# set the Virtual IP Address
/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev eth0:0
#Clear IPVS table
/sbin/ipvsadm -C
#set LVS
/sbin/ipvsadm -A -t $VIP:8080 -s sh -p 5 -M 255.255.255.0
/sbin/ipvsadm -a -t $VIP:8080 -r $RIP2 -g -w 1
/sbin/ipvsadm -a -t $VIP:8080 -r $RIP3 -g -w 1
/sbin/ipvsadm --set 2 2 2
#Run LVS
/sbin/ipvsadm
--------------------------------------
在realServer:16和17上面分别执行
#!/bin/bash
VIP=172.16.3.30
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p
--------------------------------------
通过vip:172.16.3.30都可以正常访问web应用了,但是我从ipvsadm -Lcn里面查看到很多条记录
都是指向172.16.3.16的。
当我把172.16.3.16这台机器关掉之后,网页就无法用vip:172.16.3.30继续访问了,
用ipvsadm -Lcn查看到的记录并没有转发到172.16.3.17的记录。
但是等上一段时间后,直到ipvsadm -Lcn查看不到172.16.3.16的记录后,又可以继续用vip:172.16.3.30访问网页,也看到转发到了172.16.3.17
-------------------------------------
但是以上结果并不理想啊:停掉一台,应该把转向这台的记录都清除掉才对啊 ,我这里哪里配置有问题,还是只能等到超时去清除持久的记录.请有经验的朋友帮忙回答一下.
万分感谢.

lvs无故障隔离以及失
lvs无故障隔离以及失败切换框架,要实现这个功能,需要配合keepalived等工具实现。具体可参考我的文章http://blog.formyz.org/?p=46
祝你好运