- 相關(guān)推薦
Keepalived的基礎(chǔ)知識(shí)
知識(shí)是符合文明方向的,人類對(duì)物質(zhì)世界以及精神世界探索的結(jié)果總和。知識(shí),也沒(méi)有一個(gè)統(tǒng)一而明確的界定。下面是小編為大家整理的Keepalived的基礎(chǔ)知識(shí)作文,歡迎大家借鑒與參考,希望對(duì)大家有所幫助。
Keepalived的基礎(chǔ)知識(shí) 篇1
一、Keepalived介紹
Keepalived是Linux下一個(gè)輕量級(jí)的高可用解決方案,它與HeartBeat、RoseHA實(shí)現(xiàn)的功能類似,都可以實(shí)現(xiàn)服務(wù)或者網(wǎng)絡(luò)的高可用,但是又有差別:HeartBeat是一個(gè)專業(yè)的、功能完善的高可用軟件,它提供了HA軟件所需的基本功能,比如心跳檢測(cè)和資源接管,監(jiān)測(cè)集群中的系統(tǒng)服務(wù),在群集節(jié)點(diǎn)間轉(zhuǎn)移共享IP地址的所有者等,HeartBeat功能強(qiáng)大,但是部署和使用相對(duì)比較麻煩;與HeartBeat相比,Keepalived主要是通過(guò)虛擬路由冗余來(lái)實(shí)現(xiàn)高可用功能,雖然它沒(méi)有HeartBeat功能強(qiáng)大,但Keepalived部署和使用非常簡(jiǎn)單,所有配置只需一個(gè)配置文件即可完成。這也是本章重點(diǎn)介紹Keepalived的原因。
二、Keepalived是什么
Keepalived起初是為L(zhǎng)VS設(shè)計(jì)的,專門用來(lái)監(jiān)控集群系統(tǒng)中各個(gè)服務(wù)節(jié)點(diǎn)的狀態(tài)。它根據(jù)layer3、4、5交換機(jī)制檢測(cè)每個(gè)服務(wù)節(jié)點(diǎn)的狀態(tài),如果某個(gè)服務(wù)節(jié)點(diǎn)出現(xiàn)異常,或工作出現(xiàn)故障,Keepalived將檢測(cè)到,并將出現(xiàn)故障的服務(wù)節(jié)點(diǎn)從集群系統(tǒng)中剔除,而在故障節(jié)點(diǎn)恢復(fù)正常后,Keepalived又可以自動(dòng)將此服務(wù)節(jié)點(diǎn)重新加入到服務(wù)器集群中,這些工作全部自動(dòng)完成,不需要人工干涉,需要人工完成的只是修復(fù)出現(xiàn)故障的服務(wù)節(jié)點(diǎn)。
Keepalived后來(lái)又加入了VRRP的功能,VRRP是Virtual Router Redundancy Protocol(虛擬路由器冗余協(xié)議)的縮寫,它出現(xiàn)的目的是為了解決靜態(tài)路由出現(xiàn)的單點(diǎn)故障問(wèn)題,通過(guò)VRRP可以實(shí)現(xiàn)網(wǎng)絡(luò)不間斷地、穩(wěn)定地運(yùn)行。因此,Keepalived一方面具有服務(wù)器狀態(tài)檢測(cè)和故障隔離功能,另一方面也具有HA cluster功能.下面詳細(xì)介紹下VRRP協(xié)議的實(shí)現(xiàn)過(guò)程。
三、 VRRP協(xié)議與工作原理
在現(xiàn)實(shí)的網(wǎng)絡(luò)環(huán)境中,主機(jī)之間的通信都是通過(guò)配置靜態(tài)路由(默認(rèn)網(wǎng)關(guān))完成的,而主機(jī)之間的路由器一旦出現(xiàn)故障,通信就會(huì)失敗,因此,在這種通信模式中,路由器就成了一個(gè)單點(diǎn)瓶頸,為了解決這個(gè)問(wèn)題,就引入了VRRP協(xié)議。
熟悉網(wǎng)絡(luò)的讀者對(duì)VRRP協(xié)議應(yīng)該并不陌生。它是一種主備模式的協(xié)議,通過(guò)VRRP可以在網(wǎng)絡(luò)發(fā)生故障時(shí)透明地進(jìn)行設(shè)備切換而不影響主機(jī)間的數(shù)據(jù)通信,這其中涉及兩個(gè)概念:物理路由器和虛擬路由器。
VRRP可以將兩臺(tái)或多臺(tái)物理路由器設(shè)備虛擬成一個(gè)虛擬路由器,這個(gè)虛擬路由器通過(guò)虛擬IP(一個(gè)或多個(gè))對(duì)外提供服務(wù),而在虛擬路由器內(nèi)部,是多個(gè)物理路由器協(xié)同工作,同一時(shí)間只有一臺(tái)物理路由器對(duì)外提供服務(wù),這臺(tái)物理路由器被稱為主路由器(處于MASTER角色)。一般情況下MASTER由選舉算法產(chǎn)生,它擁有對(duì)外服務(wù)的虛擬IP,提供各種網(wǎng)絡(luò)功能,如ARP請(qǐng)求、ICMP、數(shù)據(jù)轉(zhuǎn)發(fā)等。而其他物理路由器不擁有對(duì)外的虛擬IP,也不提供對(duì)外網(wǎng)絡(luò)功能,僅僅接收MASTER的VRRP狀態(tài)通告信息,這些路由器被統(tǒng)稱為備份路由器(處于BACKUP角色)。當(dāng)主路由器失效時(shí),處于BACKUP角色的備份路由器將重新進(jìn)行選舉,產(chǎn)生一個(gè)新的主路由器進(jìn)入MASTER角色繼續(xù)提供對(duì)外服務(wù),整個(gè)切換過(guò)程對(duì)用戶來(lái)說(shuō)完全透明。
每個(gè)虛擬路由器都有一個(gè)唯一標(biāo)識(shí),稱為VRID,一個(gè)VRID與一組IP地址構(gòu)成了一個(gè)虛擬路由器。在VRRP協(xié)議中,所有的報(bào)文都是通過(guò)IP多播形式發(fā)送的,而在一個(gè)虛擬路由器中,只有處于MASTER角色的路由器會(huì)一直發(fā)送VRRP數(shù)據(jù)包,處于BACKUP角色的路由器只接收MASTER發(fā)過(guò)來(lái)的報(bào)文信息,用來(lái)監(jiān)控MASTER運(yùn)行狀態(tài),因此,不會(huì)發(fā)生BACKUP搶占的現(xiàn)象,除非它的優(yōu)先級(jí)更高。而當(dāng)MASTER不可用時(shí),BACKUP也就無(wú)法收到MASTER發(fā)過(guò)來(lái)的`報(bào)文信息,于是就認(rèn)定MASTER出現(xiàn)故障,接著多臺(tái)BACKUP就會(huì)進(jìn)行選舉,優(yōu)先級(jí)最高的BACKUP將成為新的MASTER,這種選舉并進(jìn)行角色切換的過(guò)程非?,因而也就保證了服務(wù)的持續(xù)可用性。
四、Keepalived工作原理
上節(jié)簡(jiǎn)單介紹了Keepalived通過(guò)VRRP實(shí)現(xiàn)高可用功能的工作原理,而Keepalived作為一個(gè)高性能集群軟件,它還能實(shí)現(xiàn)對(duì)集群中服務(wù)器運(yùn)行狀態(tài)的監(jiān)控及故障隔離。下面繼續(xù)介紹下Keepalived對(duì)服務(wù)器運(yùn)行狀態(tài)監(jiān)控和檢測(cè)的工作原理。
Keepalived工作在TCP/IP參考模型的第三、第四和第五層,也就是網(wǎng)絡(luò)層、傳輸層和應(yīng)用層。根據(jù)TCP/IP參考模型各層所能實(shí)現(xiàn)的功能,Keepalived運(yùn)行機(jī)制如下。
在網(wǎng)絡(luò)層,運(yùn)行著四個(gè)重要的協(xié)議:互連網(wǎng)協(xié)議IP、互連網(wǎng)控制報(bào)文協(xié)議ICMP、地址轉(zhuǎn)換協(xié)議ARP以及反向地址轉(zhuǎn)換協(xié)議RARP。Keepalived在網(wǎng)絡(luò)層采用的最常見的工作方式是通過(guò)ICMP協(xié)議向服務(wù)器集群中的每個(gè)節(jié)點(diǎn)發(fā)送一個(gè)ICMP的數(shù)據(jù)包(類似于ping實(shí)現(xiàn)的功能),如果某個(gè)節(jié)點(diǎn)沒(méi)有返回響應(yīng)數(shù)據(jù)包,那么就認(rèn)為此節(jié)點(diǎn)發(fā)生了故障,Keepalived將報(bào)告此節(jié)點(diǎn)失效,并從服務(wù)器集群中剔除故障節(jié)點(diǎn)。
在傳輸層,提供了兩個(gè)主要的協(xié)議:傳輸控制協(xié)議TCP和用戶數(shù)據(jù)協(xié)議UDP。傳輸控制協(xié)議TCP可以提供可靠的數(shù)據(jù)傳輸服務(wù),IP地址和端口,代表一個(gè)TCP連接的一個(gè)連接端。要獲得TCP服務(wù),須在發(fā)送機(jī)的一個(gè)端口上和接收機(jī)的一個(gè)端口上建立連接,而Keepalived在傳輸層就是利用TCP協(xié)議的端口連接和掃描技術(shù)來(lái)判斷集群節(jié)點(diǎn)是否正常的。比如,對(duì)于常見的Web服務(wù)默認(rèn)的80端口、SSH服務(wù)默認(rèn)的22端口等,Keepalived一旦在傳輸層探測(cè)到這些端口沒(méi)有響應(yīng)數(shù)據(jù)返回,就認(rèn)為這些端口發(fā)生異常,然后強(qiáng)制將此端口對(duì)應(yīng)的節(jié)點(diǎn)從服務(wù)器集群組中移除。
在應(yīng)用層,可以運(yùn)行FTP、TELNET、SMTP、DNS等各種不同類型的高層協(xié)議,Keepalived的運(yùn)行方式也更加全面化和復(fù)雜化,用戶可以通過(guò)自定義Keepalived的工作方式,例如用戶可以通過(guò)編寫程序來(lái)運(yùn)行Keepalived,而Keepalived將根據(jù)用戶的設(shè)定檢測(cè)各種程序或服務(wù)是否允許正常,如果Keepalived的檢測(cè)結(jié)果與用戶設(shè)定不一致時(shí),Keepalived將把對(duì)應(yīng)的服務(wù)從服務(wù)器中移除。
Keepalived的基礎(chǔ)知識(shí) 篇2
Keepalived介紹:
Keepalived是VRRP協(xié)議的實(shí)現(xiàn),原生設(shè)計(jì)目的是高可用IPVS服務(wù)。此外,Keepalived能夠根據(jù)配置文件的規(guī)則生成IPVS規(guī)則,并能夠?qū)Ω鱎ealServer的健康狀態(tài)進(jìn)行檢測(cè)。
Keepalived的高可用功能是通過(guò)VRRP協(xié)議實(shí)現(xiàn)的,VRRP是Virtual Router Redundancy Protocol(虛擬路由器冗余協(xié)議)的縮寫。VRRP的出現(xiàn)是為了解決靜態(tài)路由單點(diǎn)故障的問(wèn)題,當(dāng)某一節(jié)點(diǎn)出現(xiàn)故障時(shí),可以防止導(dǎo)致整個(gè)網(wǎng)絡(luò)不可用。Keepalived除了可以高可用LVS之外,還可以作為其他系統(tǒng)網(wǎng)絡(luò)服務(wù)(Nginx、Haproxy等)的高可用解決方案(Keepalived可通過(guò)調(diào)用vrrp_script來(lái)高可用其它服務(wù),并通過(guò)調(diào)用vrrp_track來(lái)追蹤每一個(gè)服務(wù))。
Keepalived有三個(gè)重要功能,如下:
(1) 高可用系統(tǒng)網(wǎng)絡(luò)服務(wù)。
Keepalived可以實(shí)現(xiàn)在兩臺(tái)或多臺(tái)主機(jī)之間的'故障切換轉(zhuǎn)移。如果在兩臺(tái)主機(jī)中都安裝了Keepalived,當(dāng)正常工作時(shí),有一臺(tái)主機(jī)工作為Master角色,另一臺(tái)主機(jī)工作為Backup角色。角色為Master的主機(jī)獲得所有資源(VIP資源、服務(wù)資源)并向用戶提供服務(wù),角色為Backup的主機(jī)不提供服務(wù)而僅作為Master主機(jī)的熱備。當(dāng)角色為Master的主機(jī)出現(xiàn)故障時(shí),角色為Backup的主機(jī)將自動(dòng)接管Master主機(jī)的所有資源(VIP資源、服務(wù)資源)并開始工作。當(dāng)Master主機(jī)故障修復(fù)完成時(shí),將重新接管原來(lái)的資源和工作,而Backup主機(jī)則釋放Master主機(jī)故障時(shí)它接管的資源和工作,各自恢復(fù)原來(lái)的角色。
(2) 實(shí)現(xiàn)對(duì)LVS集群中各RealServer的健康狀態(tài)進(jìn)行檢測(cè)。
Keepalived可以通過(guò)在自身配置文件keepalived.conf中配置LVS集群服務(wù)中各臺(tái)RealServer的IP地址和相關(guān)參數(shù),并可以通過(guò)網(wǎng)絡(luò)層、傳輸層和應(yīng)用層這三層進(jìn)行探測(cè)各RealServer的健康狀態(tài)。當(dāng)有一臺(tái)或多臺(tái)RealServer出現(xiàn)故障而無(wú)法提供服務(wù)時(shí),Keepalived服務(wù)可以把出現(xiàn)故障的RealServer從LVS的正常轉(zhuǎn)發(fā)隊(duì)列中移除,保證不影響用戶的訪問(wèn)。而當(dāng)有RealServer故障修復(fù)完成時(shí),Keepalived服務(wù)可以將其重新加入LVS的正常轉(zhuǎn)發(fā)隊(duì)列中,向用戶提供服務(wù)。
(3) 管理LVS負(fù)載均衡軟件。
Keepalived可以讀取配置文件,并通過(guò)一個(gè)更為底層的接口來(lái)管理IPVS并生成IPVS規(guī)則,這使得LVS的使用更為方便。
【Keepalived的基礎(chǔ)知識(shí)】相關(guān)文章:
滑雪的基礎(chǔ)知識(shí)03-20
顯卡基礎(chǔ)知識(shí)03-12
化妝基礎(chǔ)知識(shí)03-12
面料的基礎(chǔ)知識(shí)03-15
插花的基礎(chǔ)知識(shí)03-18
文秘基礎(chǔ)知識(shí)03-24
聲樂(lè)基礎(chǔ)知識(shí)04-23