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

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
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失敗了!
    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

    Summary

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

    發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章