在知曉和定位故障以后,結(jié)下來就是分析和處理故障。Lvs負載均衡故障點可分為:負載均衡器故障、真實服務(wù)器故障、vip故障、服務(wù)故障這幾個部分。這些故障出現(xiàn)后,怎么著手處理?下面分別論述之。
◆負載均衡器發(fā)生故障的檢查點
1、 查看系統(tǒng)日志 /var/log/messages ,了解內(nèi)核是否有報錯信息。因為keepalived的日志也被追加到系統(tǒng)日子,因此通過系統(tǒng)日志,也能了解keepalived的運行情況。
2、 檢查負載均衡器的網(wǎng)絡(luò)連通狀況。這包括ip地址的設(shè)置是否正確,是否能遠程訪問(如ping 、tracert等)。
3、 檢查keepalived的運行情況。這包括進程是否處于運行中,ipvs模塊是否被加載到系統(tǒng)的內(nèi)核,vip是否被綁定到網(wǎng)絡(luò)接口,ipvsadm是否有輸出。
4、 檢查負載均衡器的系統(tǒng)負載。
5、 檢查keepalived的配置文件書寫是否正確。因為keepalived啟動過程不對配置文件做語法檢查,因此在運行前,必須按需求表逐項檢查配置文件keepalived.conf 的內(nèi)容。有時,就可能就是因為漏寫了一個"}"符號而導(dǎo)致意外的結(jié)果。配置文件的內(nèi)容檢查還包括主從優(yōu)先級priority、虛擬路由標(biāo)識virtual_router_id、路由標(biāo)識router_id等幾個部分,這些值有些是必須相同的、有些則必須不同。
6、 檢查負載均衡器是否啟用防火墻規(guī)則。
◆真實服務(wù)器發(fā)生故障的檢查點
1、 查看系統(tǒng)日志 /var/log/messages ,了解內(nèi)核是否有報錯信息。
2、 檢查服務(wù)器的網(wǎng)絡(luò)連通狀況。
3、 檢查服務(wù)是否正常運行。可以結(jié)合察看進程、模擬用戶訪問來確定。
4、 檢查服務(wù)器的負載情況,看哪些進程占用較高的資源。如果暫停占資源高的進程,情況會怎么樣?
5、 檢查vip是否被綁定。Linux只能通過ip add 指令察看,freebsd 用ifconfig就可以了。
6、 檢查主機防火墻是否被啟用。如果需要啟用主機防火墻,則應(yīng)設(shè)置好過濾規(guī)則。
7、 從客戶端直接訪問服務(wù)器的服務(wù),看是否能正常訪問。這是dr模式的一個優(yōu)點。
◆vip發(fā)生故障的檢查點
1、 檢查負載均衡器的vip是否被綁定。
2、 檢查負載均衡器ipvsadm的輸出,察看輸出的vip項是否與我們的設(shè)定相一致。
3、 檢查各真實服務(wù)器的vip是否被綁定。
4、 從客戶端測試一下vip的連通情況,如ping vip。
5、 檢查vip地址是否與其它服務(wù)器的地址相沖突。
◆服務(wù)發(fā)生故障檢查點
1、 檢查服務(wù)是否正常運行。如查進程、模擬用戶訪問等。
2、 檢查系統(tǒng)的負載情況。
3、 檢查是否啟用主機防火墻。
一旦知道問題的所在,解決Lvs負載均衡故障本身就不再是什么困難的事情了,因此這里不再一一列舉對應(yīng)的解決方法。