免费注册 查看新帖 |

Chinaunix

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

lvs+keepalived负载均衡疑惑。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-11-29 10:21 |只看该作者 |倒序浏览
  最近在用lvs+keepalived做负载均衡,可是发现,所有的连接请求在正常情况下都集中到一台机器上了。。而且有时还会出现连接不上real server的情况。。搞不懂这是为什么?有人遇到过这种问题么?求解~~~

[root@~]# ipvsadm  -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddressort Scheduler Flags
  -> RemoteAddressort           Forward Weight ActiveConn InActConn     
TCP  10.17.18.28:3306 rr persistent 60
  -> 10.17.18.20:3306            Route   3      4          0         
  -> 10.17.18.21:3306            Local   3      0          0         
[root@~]# ipvsadm  -lnc
IPVS connection entries
pro  expire  state                     source                     virtual                   destination
TCP 14:46  ESTABLISHED 10.17.18.19:58130 10.17.18.28:3306   10.17.18.20:3306TCP 14:42  ESTABLISHED 10.17.18.19:58133 10.17.18.28:3306   10.17.18.20:3306
TCP 14:40  ESTABLISHED 10.17.18.19:32834 10.17.18.28:3306   10.17.18.20:3306TCP 14:50  ESTABLISHED 10.17.18.19:60641 10.17.18.28:3306   10.17.18.20:3306
TCP 00:49  NONE             10.17.18.19:0         10.17.18.28:3306   10.17.18.20:3306

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
2 [报告]
发表于 2013-11-29 11:01 |只看该作者
@冷月汉宫秋

能提供一下你的架构图么?

论坛徽章:
0
3 [报告]
发表于 2013-11-29 11:19 |只看该作者
回复 2# chinafenghao


10.17.18.28:3306 rr persistent 60
  -> 10.17.18.20:3306               
  -> 10.17.18.21:3306        

vip:10.17.18.28   用来对外提供读负载均衡;
real server1:10.17.18.20
real server2:10.17.18.21

但是每次都是集中到一台机器上读,没实现负载均衡的功能。。。不知道为什么

论坛徽章:
0
4 [报告]
发表于 2013-11-29 12:55 |只看该作者
用了persistent吧,换个客户机试试

论坛徽章:
0
5 [报告]
发表于 2013-11-29 14:08 |只看该作者
回复 4# syre


恩,用了~~难道不要用?   

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
6 [报告]
发表于 2013-11-29 17:23 |只看该作者
@冷月汉宫秋
你的程序只部署在了一台机器上?

如果是这样,可能的原因是lvs会把同一个客户的连接分配到同一个real server.
可以通过设置persistence_timeout 0  。让lvs每次都随机分类.

论坛徽章:
0
7 [报告]
发表于 2013-11-29 17:43 |只看该作者
回复 6# chinafenghao

我之前这样设置过,但是带来一个新的问题,就是通过vip连不上real server。。。且出现大量的SYN_RECV 状态值~~

   

论坛徽章:
0
8 [报告]
发表于 2013-12-06 17:53 |只看该作者
回复 1# 冷月汉宫秋 yi


    咦,还是没人知道么?帮自己顶顶~~~

论坛徽章:
8
CU大牛徽章
日期:2013-09-18 15:20:48CU大牛徽章
日期:2013-09-18 15:20:58CU大牛徽章
日期:2013-09-18 15:21:06CU大牛徽章
日期:2013-09-18 15:21:12CU大牛徽章
日期:2013-09-18 15:21:17天秤座
日期:2013-10-30 14:01:03摩羯座
日期:2013-11-29 18:02:31luobin
日期:2016-06-17 17:46:36
9 [报告]
发表于 2013-12-13 18:28 |只看该作者
@冷月汉宫秋
从程序模块话的角度来说,一个前端的并发,货导致多个后端的并发,所有mysql的并发是web并发的数十倍.由于OLTP数据库处理较快,并且内网延时小,在mysql的processlist一般不会看见太多并发。
但是一般并发较大的情况都会使用长连接,和连接缓存。

可以尝试按照web优化的方式调整相关内核参数优化的SYN_RECV.如果不行,还是改长连接吧。

论坛徽章:
0
10 [报告]
发表于 2013-12-16 11:17 |只看该作者
回复 9# chinafenghao

谢谢,我的问题解决了,主要是当从 Director1 (Master 主),比如使用 rr 。会转发大约 50% 的包从 Director1 到  Director2 (Backup)的 3306 的端口。这时因为 Director2 因为这些 LVS-DR 的配置规则会接着给这些包,在做一次 load balance 。又发回去给 Director1,这时会产生一个死的循环。只要给进入 eth0 的包打包 mark 的标记就可以解决了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP