1介紹Keepalived是linux下一個輕量級的高可用解決方案,與HeartBeat,RoseHA實現(xiàn)的功能類似,但是還是有差別。HeartBeat是一個專業(yè)的功能完善的高可用軟件,它提供了HA軟件所需的基本功能,比如心跳檢測,資源接管,檢測集群系統(tǒng)服務(wù),功能很強大,但是部署和使用比較麻煩。Keepalived主要通過虛擬路由冗余來實現(xiàn)高可用,部署配置比較簡單。 2 Keepalived是什么1. Keepalived起初是為lvs設(shè)計的,專門用來檢測集群系統(tǒng)中各個系統(tǒng)服務(wù)節(jié)點中的狀態(tài)。 Keepalived檢測節(jié)點,當(dāng)檢測到異常節(jié)點的時候,將有問題的節(jié)點從服務(wù)器中剔除,當(dāng)故障節(jié)點恢復(fù)后,Keepalived又可以將服務(wù)節(jié)點重新加入到服務(wù)器集群中。 2. Keepalived加入VRRP功能,VRRP(虛擬路由器冗余協(xié)議)可以解決靜態(tài)路由出現(xiàn)的單點故障。可以實現(xiàn)網(wǎng)絡(luò)不間斷運行。 3 VRRP協(xié)議與工作原理(keepalived的高可用原理)解決單點瓶頸~~~~~~VRRP他是一種主備模式的協(xié)議,它可以在網(wǎng)絡(luò)發(fā)生故障的時候透明的進(jìn)行設(shè)備切換而不會影響主機之間的通信,涉及物理路由器和虛擬路由器的概念。 VRRP可以將兩臺或者多臺物理路由器設(shè)備虛擬成一個虛擬路由器,這個虛擬路由器可以通過虛擬一個或者多個ip來對外提供服務(wù),而在虛擬路由器內(nèi)部是多個物理路由器協(xié)調(diào)工作, 但同一時間只有一臺物理路由器對外服務(wù),這臺物理路由器稱為主路由,master角色。其他物理路由器不提供對外網(wǎng)絡(luò)功能,只是僅僅接受master的VRRP狀態(tài)信息,他們被稱為備份路由器,backuo角色。 一般情況master由選舉產(chǎn)生,當(dāng)主路由失敗時,備份路由將重新選舉,產(chǎn)生一個新的主路由進(jìn)入master角色來繼續(xù)對外提供服務(wù),整個過程對用戶完全透明。 每個虛擬路由器有一個唯一標(biāo)識,叫做VRID,一個VRID和一組IP地址構(gòu)成一個虛擬路由器。處于backup角色的路由器只接收來自master發(fā)來的報文信息,來監(jiān)控master的運行狀態(tài),當(dāng)master不可以時,backup無法接收到master發(fā)來的報文信息, 就認(rèn)定master出現(xiàn)故障,接著就會選舉產(chǎn)生master,這樣保證服務(wù)持續(xù)可用。 4 keepalived對服務(wù)器運行狀態(tài)檢測和監(jiān)控的工作原理Keepalived工作在tcp/ip模型的第三第四第五層,也就是,網(wǎng)絡(luò)層,傳輸層,應(yīng)用層。 1網(wǎng)絡(luò)層中 有4個重要協(xié)議,互聯(lián)網(wǎng)協(xié)議IP,控制報文協(xié)議icmp,地址轉(zhuǎn)換協(xié)議ARP,以及反向地址轉(zhuǎn)換協(xié)議RARP.,在網(wǎng)絡(luò)層,它采用ICMP協(xié)議像服務(wù)器集群中的每個節(jié)點發(fā)送一個icmp包,如果某個接地單沒有返回響應(yīng)的包,就認(rèn)為節(jié)點除了故障,,報告節(jié)點,并且將節(jié)點從集群中剔除。 2傳輸層: 有兩個重要協(xié)議,傳輸控制協(xié)議tcp和用戶數(shù)據(jù)協(xié)議udp。 tcp提供可靠的數(shù)據(jù)傳輸服務(wù),keepalived在傳輸層就是利用tcp協(xié)議的端口連接,和掃描技術(shù)來判斷集群節(jié)點是否正常。比如web的80,ssh的22端口,keepalived一旦在傳輸層探測到這些端口沒有數(shù)據(jù)包返回,就認(rèn)為這些端口發(fā)生異常,強制將這些端口對應(yīng)的節(jié)點從集群中剔除。 3應(yīng)用層 可以在應(yīng)用層運行ftp,telnet,Smtp,DNS等不同類型的高級協(xié)議,用戶可以自定義Keepalived的工作方式,如:用戶通過自定義腳本程序來運行Keepalived,而Keeplived將根據(jù)用戶的設(shè)定來檢查各種程序或者服務(wù)是否正常,如果檢測異常,將對應(yīng)的節(jié)點從集群中剔除。 5Keepalived的體系結(jié)構(gòu)Keepalived體系結(jié)構(gòu)圖 Checkers,實現(xiàn)對服務(wù)器狀態(tài)的檢測和故障隔離。 VRRP Stack,可以實現(xiàn)HA(高可用)集群中失敗的切換功能。通過此功能然后結(jié)合LVS可以構(gòu)建高性能的負(fù)載均衡集群系統(tǒng)。 IPVS wrapper,可以將設(shè)置好的IPVS規(guī)則發(fā)送到內(nèi)核空間并且提交給IPVS模塊,最終實現(xiàn)負(fù)載均衡的功能。 結(jié)構(gòu)圖:
|
|
來自: 昵稱25533110 > 《待分類1》