keepalived是一個類似于layer3, 4 & 7交換機制的軟件,也就是我們平時說的第3層、第4層和第7層交換。
那么keepalived工作原理是什么?怎么保證高可用呢?
Arron
隨著系統(tǒng)架構(gòu)的逐漸演化,服務(wù)器的數(shù)量和結(jié)構(gòu)會越來越復(fù)雜,例如web服務(wù)器集群的搭建,提高了系統(tǒng)的性能,同時也提高了系統(tǒng)維護的復(fù)雜度,我們需要對集群中各臺服務(wù)器進行監(jiān)控,來保證為用戶提供服務(wù)的是正常運行的服務(wù)器,整體系統(tǒng)的可用性就至關(guān)重要
Keepalived提供了很好的高可用性保障服務(wù),它可以檢查服務(wù)器的狀態(tài),如果有服務(wù)器出現(xiàn)問題,Keepalived會將其從系統(tǒng)中移除,當這臺服務(wù)器可以正常工作后,Keepalived再將其放入服務(wù)器群中,這個過程是Keepalived自動完成的,不需要人工干涉,我們只需要修復(fù)出現(xiàn)問題的服務(wù)器
Keepalived是如何工作的?
以檢測web服務(wù)器為例,Keepalived從3個層次來檢測服務(wù)器的狀態(tài)
(1)IP層
看網(wǎng)絡(luò)是否正常
Keepalived定期ping目標服務(wù)器,如果此IP地址沒有激活,Keepalived便報告這臺服務(wù)器失效,進行移除
(2)TCP層
看web服務(wù)器端口是否正常
例如一般web服務(wù)的端口為80,Keepalived定期查看80端口,如果沒有啟動,報告失效
(3)應(yīng)用層
看應(yīng)用程序是否正常
Keepalived將根據(jù)用戶的設(shè)定,檢查服務(wù)器程序的運行是否正常,如果與用戶的設(shè)定不相符,則Keepalived將把服務(wù)器從服務(wù)器群中剔除