FastDFS蛋疼的集羣和負載均衡(十七)之解決LVS+Keepalived遇到的問題

diary_report.jpg
###Interesting things

我在配置LVS+Keepalived遇到幾個比較棘手的問題,因而乎記錄總結一波。linux

###What did you do todaynginx

  • 問題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
8. 經過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失敗了! tcp

image.png
2. 咱們來查看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

###Summary3d

路漫漫其修遠兮,吾將上下而求索。下一篇LVS+Keepalived雙主模式。rest

相關文章
相關標籤/搜索