免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2687 | 回复: 2

采用LVS/DR keepalived 实现高可用负载均衡,测试中发现的问题希望和大家讨论解决。 [复制链接]

论坛徽章:
0
发表于 2009-01-06 13:49 |显示全部楼层
大家好,希望大家能一起帮我解决问题,主要想实现WEB负载均衡,谢谢。(目前都是在虚拟机上进行试验)
lvs_dr1:192.166.5.175协调服务器
lvs_dr2:192.166.5.202 备份服务器
VIP:192.166.5.250 虚拟IP
lvs_real1:192.166.5.200 应用服务器1
lvs_real2:192.166.5.201
前已经安装了 ipvs 和keepalived 在应用服务器上也配置了脚本
也可以实现负载均衡
在lvs_dr1上keepalived.conf 的配置如下:
global_defs {
# notification_email {
# cnseek@gmail.com
# }
# notification_email_from sns-lvs@gmail.com
# smtp_server 127.0.0.1
# smtp_connect_timeout 30
router_id LVS_DEVEL
}

# 20081013 written by aa
# VIP1
vrrp_instance VI_1 {
state MASTER #备份服务器上将MASTER改为BACKUP
interface eth0
virtual_router_id 51
priority 100 # 备份服务上将100改为99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.166.5.250
}
}

virtual_server 192.166.5.250 80 {
delay_loop 6 #(每隔10秒查询realserver状态)
lb_algo wlc #(lvs 算法)
lb_kind DR #(Direct Route)
persistence_timeout 60 #(同一IP的连接60秒内被分配到同一台realserver)
protocol TCP #(用TCP协议检查realserver状态)

real_server 192.166.5.200 80 {
weight 3 #(权重)
TCP_CHECK {
connect_timeout 10 #(10秒无响应超时)
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
real_server 192.166.5.201 80 {
weight 1
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}

在备份服务器上lvs_dr2 keepalived。conf主要做以上两点修改即可

应用服务器上的脚本配置如下:
SNS_VIP=192.166.5.250
/etc/rc.d/init.d/functions
case "$1" in
start)
ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast 192.166.5.254
/sbin/route add -host $SNS_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
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
以上就是我所作的热备份负载均衡。
现在的存在的问题是:
1.如果应用到WEB上,是否这5个IP都要换为公网IP且在一个物理网段上(采用LVS/DR)
2.在测试的时候,当我在地址栏上输入:http://192.166.5.250(VIP)时,出现的页面是 显示该页无法刷新 那个页面。再刷新一次,就可以到应用服务器上。为什么会出现 该页无法刷新的页面,是我配置哪里错误了吗?

3.目前采用wlc算法,权值分别为3(应用服务器1)和1(应用服务器2 )。我输入http://192.166.5.250(VIP)时,首先进入的都是权值为1的应用服务器上,为什么呢?(我也删除了COOKIES)

4.在测试的时候,有的时候会出现 在lvs_dr上 输入:ipvsadm -l 时 里面的值都是0 不变的,但是输入VIP,可以在两台应用服务器上实现轮调,为什么有的时候值都是0 还有情况是 值的变化 不随我刷新的页面的次数变?
5.在输入ipvsadm -l -c 时 为什么 显示FIN_WAIT和NONE很多,但ESTABLISH很少?还搞不清楚FIN_WAIT是什么意思?
6.关于负载均衡的算法,在keepalive.conf里面 有写,但是我不清楚 这个都是根据自己的需要来修改吗? 如果是这样的话,那权值也都是手动来修改吗?(我看有资料说,权值是可以自动修改的,我在测试时没发现)
7.如果把这个应用的话,我怎么可以在真实环境下进行测试,这个在网上搜索到的关于压力测试方面的资料很少,请指点一下。

谢谢,希望大家一起讨论,解决这些困扰我的问题

论坛徽章:
0
发表于 2009-01-06 15:11 |显示全部楼层

回复 #1 asheley 的帖子

NAT模式下,当需要将网站防止在互联网上必须使用公网地址

论坛徽章:
0
发表于 2009-01-06 16:01 |显示全部楼层
采用的是LVS/DR方式 那这5个IP 都需要用 公网IP吗,对这方面不是很了解,请高人详解

[ 本帖最后由 asheley 于 2009-1-6 16:04 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP