lvs&keepalived 虚拟ip问题

发布于 2021-12-01 18:54:21 字数 1449 浏览 925 评论 5

公司要求集群环境搭建,测试环境已搭建完毕(一切正常),到仿真上现在遇到了一个很棘手的问题,先大致说下整个情况:
  Centos6.4
  2台Nginx分别负载相同两台tomcat;
  2台MariaDB主备;
  2台redis+sentinel主备;
  lvs+keepalived和Nginx装一起做主备,下面分别负载2台Nginx(端口80),2台mariadb(端口3306),2台redis-sentinel(端口26379)。
  如图:

现在遇到的问题(为表诉完整,说得有点多):
      虚拟ip的3306端口和26379端口始终都能正常访问能telnet通;
      但是虚拟ip的80端口一会儿通一会儿不通,试了很多台客户端访问都是一样的(排除我们配置的问题,用的测试环境已经成功的配置),两台真实ip80端口都能正常访问;
      然后怀疑是网络的问题,找网工看了,查了防火墙session(貌似有很多层),一层一层查上去,发现请求已经过去了但没有回来,网工只能做到这儿了,然后让我查一下服务端抓一下包什么的;
      然后在客户端装了Wirshark,服务端装了Tcpdump,同时抓包,客户端telnet 虚拟ip80端口发现:  客户端请求已经到了服务器,但是服务器却没有返回(这儿有两种情况:1、服务端接到请求并有返回,客户端没有收到返回的请求,这说明请求在返回的路上断了,是网络的原因;2、服务端接到请求没有返回,那就是服务端的问题了),确定是服务端的问题。
      接着就是各种测试,什么selinux啊,什么改虚拟ip,能想到的都试了,网上查到手段都试了,keepalived的日志也正常;

    还有一个奇葩问题,将keepalived配置里的80端口改为8080或其它端口,发现8080端口却根本访问不通(连时断时续都没有),依然是80端口可以时断时续的访问(还带缓存的?还是根本没生效?软件问题?)。

PS:搞得我现在都懵圈了,测试环境一切都正常,就仿真出这事儿,关键是3306和26379都通,就80时断时续(不是不通),真实服务的80也始终都正常,根据出现的那个奇葩问题,怀疑是不是lvs&keepalived本身软件的问题,打算周一重新下源码安装(原本用的镜像文件中自带的),还是系统有什么特别的设置?(关键所有系统都是一样的啊)


哪位大神遇到过这种问题,或有什么建议,给指点指点解决的方向什么的。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

秋意浓 2021-12-04 14:08:39

https://my.oschina.net/zwzbubi/blog/687774

顾忌 2021-12-04 13:45:24

这儿解释了原因https://my.oschina.net/zwzbubi/blog/687774,解决的方案目前采用的是通过脚本检查服务状态,只起一个keepalived,因为nginx这两台我们是放在DMZ区的,只能给两台。最好的方案是把keepalive单独放两台,别个nginx放一起。

飘然心甜 2021-12-04 12:08:33

您好  你是怎么解决了呢 问题出在哪呢  我这也出现了类似的问题,不知道该怎么解决

为你鎻心 2021-12-03 06:25:16

回复@工作QQ: 解决了

清风夜微凉 2021-12-01 23:51:20

解决了吗?我也遇到了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文