FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题

Interesting things

我在配置LVS+Keepalived遇到几个比较棘手的问题,于是乎记录总结一波。

What did you do today

  • 问题1:首先就是主备lvs开启防火墙之后,主备lvs的eth0节点都会出现虚拟ip192.168.12.100。我之前的方法是关闭主备lvs的防火墙,这种方法貌似不是一种好的解决方式。

1.在防火墙添加VRRP通讯支持引用,命令:iptables -A INPUT -d 224.0.0.18 -j ACCEPT

image.png

image.png

image.png 2.好像防火墙加了这个策略,也不能解决问题,那么我们安装tcpdump,分析一下vrrp的组播情况。安装命令: yum install -y tcpdump

image.png 3.查看vrrp的组播情况,tcpdump vrrp -n,很明显的可以看到192.168.12.4和192.168.12.8这2个ip在轮流发送组播信号。而正常的应该是MASTER服务器发送组播,如果BACKUP收不到MASTER的组播信号,那么就判定MASTER宕机了,BACKUP就接收vip。

image.png 4.先确定服务器的SElinux是否设置为关闭,查看SElinux的状态,命令:getenforce,Enforcing#强制开启,Permissive#宽容模式,Disabled#关闭。如果是Enforcing强制模式,我就需要关闭。命令:setenforce 0#设置宽容模式,但是这样只在本次生效,重启服务器后将失效。如果需要永久关闭,还需要修改配置文件。sed -i 's/=enforcing/=disabled/g' /etc/sysconfig/selinux

image.png 5.进入/etc/sysconfig/目录下的selinux,注释掉SELINUX=targeted

image.png 6.我们查看防火墙,看到蛋疼的一幕。 -A INPUT -d 224.0.0.18/32 -j ACCEPT写在-A INPUT -j REJECT --reject-with icmp-host-prohibited后面了,正确的写法应该是写在-A INPUT -j REJECT --reject-with icmp-host-prohibited的前面。我们需要修改过来!

image.png 7.现在我们在主lvs和备lvs查看vrrp的组播情况,发现只有192.168.12.4发给192.168.12.8的情况,这就很爽了嘛!

image.png

image.png

  1. 通过ip a 查看各个节点ip情况。发现只有主lvs的eth0节点有vip,备lvs没有。完美解决!

image.png

image.png

  • 问题2:通过ipvsadm -ln查看lvs以及对应的RealServer信息,但是发现RealServer只有192.168.12.2:80。正常情况下是有192.168.12.3:80和192.168.12.2:80

image.png

1.通过/var/log/keepalived.log,发现主lvs连接192.168.12.3:80失败了!

image.png

  1. 我们来查看nginx1(192.168.12.2)和nginx2(192.168.12.3)的lo:0节点,显示是虚拟ip192.168.12.100,这是没问题的!

image.png

image.png 3.那我们只能拿出杀手锏了,重启虚拟机。

5~%R}4R4WLK}JJ}V19%@W40.jpg 4.重启后,我们再来看ipvsadm -ln,发现RealServer有192.168.12.2:80和192.168.12.3:80了,美滋滋。

image.png

Summary

路漫漫其修远兮,吾将上下而求索。下一篇LVS+Keepalived双主模式。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏FreeBuf

现代版荆轲刺秦王:Struts2 REST插件漏洞分析

战国末期,大秦实力强盛,大有横扫六合之势,在灭了韩、赵两国后,下一个目标就是燕国。

11520
来自专栏陈树义

你绝不能错过的效率神器 —— Alfred

? Alfred 是 Mac 系统上一款专注于效率提升的著名应用,它能帮你快速打开网页、快速进行自定义搜索、查看剪贴板历史、快速查询单词等等。Alfred 提...

1.2K70
来自专栏Netkiller

SOA 面向服务框架设计与实现

文章节选自 《Netkiller Architect 手札》 由于Java 语言的编译与重启不可抗拒缺陷,所选择使用PHP弥补这个缺陷。 在合适的场景中使用PH...

36050
来自专栏散尽浮华

Mysql+Keepalived双主热备高可用操作记录

我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务。当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非...

658100
来自专栏全华班

springcloud学习手册-Ribbon(常见问题和补充说明)

导读 | Ribbon常见问题和补充说明 一、 Ribbon-使用配置文件自定义Ribbon Client ? 从1.2.0开始,Spring Cloud Ne...

38640
来自专栏CSDN技术头条

外行人都能看懂的 Spring Cloud,错过了血亏!

这篇主要来讲讲 Spring Cloud 的一些基础知识。以下是 SpringCloud GitHub Demo ,看完文章的同学可以自己练手玩玩:

17030
来自专栏熊二哥

服务保障框架-Hystrix快速入门

祝大家国庆快乐! 对大部分电商和快递公司来说,每年年底(Q4季度)由于双11等大促活动的存在,将面对大量的用户流量,尤其是属于大促的那几天,无论是用户的商品订...

19310
来自专栏杨建荣的学习笔记

11g备库搭建碰到自己给自己埋的坑(r7笔记第63天)

记得之前在《一半技术一半生活》中分享过一个设计,因为业务的需求,为了提高业务的处理效率,采用了根据业务的拆库拆表的方式,类似下面的图示。 ? 开发团队也很给...

37250
来自专栏Phoenix的Android之旅

开发必须了解的10个Android库

作为一个开发者来说,避免重复造轮子是很重要的,能让你节省很多时间去专注于开发自己的业务。2018年已经过去一大半了,今天介绍下今年以来业界内比较推崇的几个框架,...

50940
来自专栏向治洪

java项目管理工具maven使用初级

一、前言         早就知道maven 在java 项目的管理方面名声显赫,于是就想着学习掌握之,于是查阅了大量文档。发现这些文档的作者都是java 的大...

29890

扫码关注云+社区

领取腾讯云代金券