免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3071 | 回复: 7
打印 上一主题 下一主题

lvs+heartbeat的问题。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-25 09:05 |只看该作者 |倒序浏览
用lvs+heartbeat实现负载均衡 。。。实验时后端有四台web服务器。。。。虚拟ip为192.168.56.120  真实ip为113   ,114    ,115   ,116  用的是直接路由方式DR。。。如果四台机器都正常服务,可以实现正常的调度和均衡。。。问题是当我当掉了一个台web后。再用虚拟ip访问。。。它还是会去调度那台当掉的机子,然后显示找不到服务器,再刷新,剩下的都很正常的显示。。。请问那怎么样 让调度器识别和不再去调度那台当掉的web呢。。。这样前端的用户访问,才不会感觉到差异啊。。。。跪求。。。。。。。。。。。。。。。。。。

论坛徽章:
0
2 [报告]
发表于 2010-10-25 09:10 |只看该作者
恩。。。是不是 哪里的配置不对呢??需要改下。。。由于不方便将配置文件copy下来。。。所以不能贴配置了。。。。

论坛徽章:
0
3 [报告]
发表于 2010-10-25 11:47 |只看该作者
这是我的配置文件和启动脚本。。。
主调度器A:192.168.0.111从调度器B:192.168.0.112
真实服务器R1:192.168.0.113  真实服务器R2:192.168.0.114  真实服务器R3:192.168.0.115 真实服务器R4:192.168.0.116 虚拟IP(VIP):192.168.0.110
vi /etc/init.d/lvs

#!/bin/sh

#chkconfig: 2345 20 80

# description: start LVS of Directorserver

VIP1=192.168.0.110
RIP1=192.168.0.113
RIP2=192.168.0.114
RIP3=192.168.0.115
RIP4=192.168.0.116

. /etc/rc.d/init.d/functions

vi /etc/init.d/realserver

#!/bin/bash

#

# lvsdrrs init script to hide loopback interfaces on LVS-DR

# Real servers. Modify this script to suit

# your needs. You at least need to set the correct VIP address(es).

#

# Script to start LVS DR real server.

#

# chkconfig: 2345 20 80

# description: LVS DR real server

#

# You must set the VIP address to use here:

#指定虚拟IP

VIP=192.168.0.110

host=`/bin/hostname`

case "$1" in

start)

# Start LVS-DR real server on this machine.

/sbin/ifconfig lo down

/sbin/ifconfig lo up

#修改相关内核参数:

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

/sbin/ifconfig lo:0 $VIP netmask 255.255.255.255 up

/sbin/route add -host $VIP dev lo:0

;;

stop)

# Stop LVS-DR real server loopback device(s).

/sbin/ifconfig lo:0 down

;;

status)

# Status of LVS-DR real server.

islothere=`/sbin/ifconfig lo:0 | grep $VIP`

isrothere=`netstat -rn | grep "lo" | grep $VIP`

if [ ! "$islothere" -o ! "$isrothere" ];then

# Either the route or the lo:0 device

# not found.

echo "LVS-DR real server Stopped."

else

echo "LVS-DR Running."

fi

;;

*)

# Invalid entry.

echo "$0: Usage: $0 {start|status|stop}"

exit 1

;;

esac




case "$1" in

start)

echo " start LVS of DirectorServer"

# set the Virtual IP Address

/sbin/ifconfig eth0:0 $VIP1 broadcast $VIP1 netmask 255.255.255.255 up
/sbin/route add -host $VIP1 dev eth0:0
#Clear IPVS table
/sbin/ipvsadm -C
#set LVS
/sbin/ipvsadm -A -t $VIP1:80 -s lc
/sbin/ipvsadm -a -t $VIP1:80 -r $RIP1:80 -g
/sbin/ipvsadm -a -t $VIP1:80 -r $RIP2:80 -g
/sbin/ipvsadm -a -t $VIP1:80 -r $RIP3:80 -g
/sbin/ipvsadm -a -t $VIP1:80 -r $RIP4:80 -g
/sbin/ipvsadm
#end
;;
stop)
echo "close LVS Directorserver"
/sbin/ipvsadm –C
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac

论坛徽章:
0
4 [报告]
发表于 2010-10-25 11:51 |只看该作者
ldirectord.cf
#Global Directives
checktimeout=3
checkinterval=1
fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
quiescent=yes
virtual=192.168.0.110:80
        real=192.168.0.113:80  gate
       real=192.168.0.114:80  gate
        real=192.168.0.115:80 gate
        real=192.168.0.116:80 gate
       fallback=127.0.0.1:80   gate
        service=http
        request="index.html"
        receive="Test Page"
        virtualhost=192.168.0.110
        acheduler=rr
        #persisitent=600
       #netmask=255.255.255.255
       protocol=tcp

论坛徽章:
0
5 [报告]
发表于 2010-10-25 11:53 |只看该作者
haresources 的有效配置   我的主调度器为    servermaster
ervermaster   192.168.0.110    lvs     ldirectord

论坛徽章:
0
6 [报告]
发表于 2010-10-25 11:54 |只看该作者
这是ha.cf的打开的有效配置
debugfile    /var/log/ha-debug
logfile         /var/log/ha-log
logfacility     local0
keepalive  2
deadtime   30
warntime 5
initdead   120
udpport  694
bcast   eth0
auto_failback on
watchdog  /dev/watchdog
node   servermaster
node    serverslave
ping_group    group1   192.168.0.111   192.168.0.112
respawn   hacluster  /usr/lib/heartbeat/ipfail
apiauth  ipfail   gid=haclient  uid=hacluster
hopfudge 1

从节点名称为serverslave   配置和主节点一模一样。。。。

论坛徽章:
0
7 [报告]
发表于 2010-11-10 23:30 |只看该作者
换keepalived

论坛徽章:
0
8 [报告]
发表于 2010-12-11 21:16 |只看该作者
请确认你的ldirectord已经启动。并用ldirectord -d /etc/ha.d/ldirectord.cf start调试下,看看能不能获取到Test Page页面。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP