
diary_report.jpg
Interesting things
我在配置LVS+Keepalived遇到幾個(gè)比較棘手的問(wèn)題,于是乎記錄總結(jié)一波。
What did you do today
- 問(wèn)題1:首先就是主備lvs開啟防火墻之后,主備lvs的eth0節(jié)點(diǎn)都會(huì)出現(xiàn)虛擬ip192.168.12.100。我之前的方法是關(guān)閉主備lvs的防火墻,這種方法貌似不是一種好的解決方式。
1.在防火墻添加VRRP通訊支持引用,命令:iptables -A INPUT -d 224.0.0.18 -j ACCEPT
image.png
image.png
image.png
2.好像防火墻加了這個(gè)策略,也不能解決問(wèn)題,那么我們安裝tcpdump,分析一下vrrp的組播情況。安裝命令: yum install -y tcpdump
image.png
3.查看vrrp的組播情況,tcpdump vrrp -n,很明顯的可以看到192.168.12.4和192.168.12.8這2個(gè)ip在輪流發(fā)送組播信號(hào)。而正常的應(yīng)該是MASTER服務(wù)器發(fā)送組播,如果BACKUP收不到MASTER的組播信號(hào),那么就判定MASTER宕機(jī)了,BACKUP就接收vip。
image.png
4.先確定服務(wù)器的SElinux是否設(shè)置為關(guān)閉,查看SElinux的狀態(tài),命令:getenforce,Enforcing#強(qiáng)制開啟,Permissive#寬容模式,Disabled#關(guān)閉。如果是Enforcing強(qiáng)制模式,我就需要關(guān)閉。命令:setenforce 0#設(shè)置寬容模式,但是這樣只在本次生效,重啟服務(wù)器后將失效。如果需要永久關(guān)閉,還需要修改配置文件。sed -i 's/=enforcing/=disabled/g' /etc/sysconfig/selinux
image.png
5.進(jìn)入/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后面了,正確的寫法應(yīng)該是寫在-A INPUT -j REJECT --reject-with icmp-host-prohibited的前面。我們需要修改過(guò)來(lái)!
image.png
7.現(xiàn)在我們?cè)谥鱨vs和備lvs查看vrrp的組播情況,發(fā)現(xiàn)只有192.168.12.4發(fā)給192.168.12.8的情況,這就很爽了嘛!
image.png
image.png
通過(guò)ip a 查看各個(gè)節(jié)點(diǎn)ip情況。發(fā)現(xiàn)只有主lvs的eth0節(jié)點(diǎn)有vip,備lvs沒(méi)有。完美解決!
image.png
image.png
-
問(wèn)題2:通過(guò)ipvsadm -ln查看lvs以及對(duì)應(yīng)的RealServer信息,但是發(fā)現(xiàn)RealServer只有192.168.12.2:80。正常情況下是有192.168.12.3:80和192.168.12.2:80
image.png
1.通過(guò)/var/log/keepalived.log,發(fā)現(xiàn)主lvs連接192.168.12.3:80失敗了!
image.png
我們來(lái)查看nginx1(192.168.12.2)和nginx2(192.168.12.3)的lo:0節(jié)點(diǎn),顯示是虛擬ip192.168.12.100,這是沒(méi)問(wèn)題的!
image.png
image.png
3.那我們只能拿出殺手锏了,重啟虛擬機(jī)。
5~%R}4R4WLK}JJ}V19%@W40.jpg
4.重啟后,我們?cè)賮?lái)看ipvsadm -ln,發(fā)現(xiàn)RealServer有192.168.12.2:80和192.168.12.3:80了,美滋滋。
image.png
Summary
路漫漫其修遠(yuǎn)兮,吾將上下而求索。下一篇LVS+Keepalived雙主模式。

















