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

FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第1张图片
diary_report.jpg

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


FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第2张图片
image.png

FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第3张图片
image.png

FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第4张图片
image.png

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


FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第5张图片
image.png

3.查看vrrp的组播情况,tcpdump vrrp -n,很明显的可以看到192.168.12.4和192.168.12.8这2个ip在轮流发送组播信号。而正常的应该是MASTER服务器发送组播,如果BACKUP收不到MASTER的组播信号,那么就判定MASTER宕机了,BACKUP就接收vip。
FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第6张图片
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


FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第7张图片
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的前面。我们需要修改过来!
FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第8张图片
image.png

7.现在我们在主lvs和备lvs查看vrrp的组播情况,发现只有192.168.12.4发给192.168.12.8的情况,这就很爽了嘛!
FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第9张图片
image.png

FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第10张图片
image.png
  1. 通过ip a 查看各个节点ip情况。发现只有主lvs的eth0节点有vip,备lvs没有。完美解决!


    FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第11张图片
    image.png

    FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第12张图片
    image.png
  • 问题2:通过ipvsadm -ln查看lvs以及对应的RealServer信息,但是发现RealServer只有192.168.12.2:80。正常情况下是有192.168.12.3:80和192.168.12.2:80


    FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第13张图片
    image.png

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


FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第14张图片
image.png
  1. 我们来查看nginx1(192.168.12.2)和nginx2(192.168.12.3)的lo:0节点,显示是虚拟ip192.168.12.100,这是没问题的!


    FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第15张图片
    image.png

    FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第16张图片
    image.png

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


    FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第17张图片
    5~%R}4R4WLK}JJ}V19%@W40.jpg

    4.重启后,我们再来看ipvsadm -ln,发现RealServer有192.168.12.2:80和192.168.12.3:80了,美滋滋。
    FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题_第18张图片
    image.png

Summary

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

你可能感兴趣的:(FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题)