溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Keepalived原理

發(fā)布時間:2020-07-15 17:03:24 來源:網(wǎng)絡(luò) 閱讀:764 作者:idisme 欄目:安全技術(shù)

Keepalived簡介:

    keepalived,保持存活,在網(wǎng)絡(luò)中就是保持在線,也就是HA,用來防止單點故障的發(fā)生,在keepalived中最重要的就是VRRP協(xié)議,它是keepalived實現(xiàn)高可用的基礎(chǔ),。

一、VRRP協(xié)議

    網(wǎng)絡(luò)在設(shè)計的時候必須考慮冗余容災(zāi),線路容災(zāi),設(shè)備容災(zāi),從而防止單點故障的發(fā)生,所以在路由器或三層交換機也要實現(xiàn)冗余,這里就要用到vrrp協(xié)議,即vrrp就是一種容錯協(xié)議,為消除在靜態(tài)缺省路由環(huán)境下的缺省路由器單點故障引起的網(wǎng)絡(luò)失效而設(shè)計的主備模式的協(xié)議,使得在發(fā)生故障而進行設(shè)備功能切換時可以不影響內(nèi)外數(shù)據(jù)通信,不需要修改內(nèi)部網(wǎng)絡(luò)的網(wǎng)絡(luò)參數(shù)。

    VRRP協(xié)議將兩臺或多臺路由器設(shè)備虛擬成一個設(shè)備,對外提供虛擬路由器IP(一個或多個),而在虛擬路由器內(nèi)部,對虛擬路由器有操作權(quán)限的就是Master,或者通過算法選舉產(chǎn)生,master實現(xiàn)針對虛擬路由器ip的各種網(wǎng)絡(luò)功能,如ARP請求,ICMP以及數(shù)據(jù)的轉(zhuǎn)發(fā)等;其他設(shè)備不擁有該ip,狀態(tài)是BACKUP,除了接收Master的VRRP狀態(tài)通告信息外,不執(zhí)行對外的網(wǎng)絡(luò)功能。當主機失效時,Backup將接管原先的master網(wǎng)絡(luò)功能。

    配置VRRP協(xié)議時需要配置每個路由器的虛擬路由器id也就是VRID和優(yōu)先權(quán)值,使用VRID將路由器進行分組,具有相同的VRID值的路由器為同一組,VRID是一個0-255的正整數(shù),同一組中的路由器通過使用優(yōu)先級權(quán)值來選舉Master,優(yōu)先級權(quán)值大的為Master,權(quán)值小的為backup,優(yōu)先級權(quán)值也是0-255的正整數(shù)。

    VRRP協(xié)議使用多播數(shù)據(jù)來傳輸VRRP數(shù)據(jù),VRRP數(shù)據(jù)使用特殊的虛擬源MAC地址發(fā)送數(shù)據(jù)而不是自身網(wǎng)卡的MAC地址,vrrp運行時只有Master路由器定時發(fā)送vrrp通告信息,表示Master正常工作,Backup只負責接收Vrrp數(shù)據(jù),不發(fā)送數(shù)據(jù),如果一定時間內(nèi)沒有收到Master的通告信息,各Backup將宣告自己成為Master,發(fā)送通告信息,重新進行Master選舉狀態(tài)。

    相關(guān)術(shù)語:

    虛擬路由器:由一個Master路由器和多個Backup路由器組成,主機將虛擬路由器當做默認網(wǎng)關(guān);

    虛擬IP地址:虛擬路由器的ip地址,一個虛擬路由器可以擁有一個或多個ip地址;

    VRID:標識虛擬路由器,有相同VRID的一組路由器為一個虛擬路由器;

    Master路由器:在虛擬路由器中承擔轉(zhuǎn)發(fā)任務(wù)的路由器;

    Backup路由器:在虛擬路由器中只負責接收數(shù)據(jù),當Master路由器出現(xiàn)故障時,能夠代替Master路由器工作:

    VRRP在根據(jù)優(yōu)先級權(quán)值選擇虛擬路由器中的每臺路由器的地位時有兩種方式:

    1)非搶占式:如果Backup路由器工作在非搶占式方式下,則只要Master路由器沒有出現(xiàn)故障,即使Backup路由器之后被配置了更高的優(yōu)先級也不會成為Master路由器;

    2)搶占方式:如果Backup路由器工作在搶占方式下,當它收到VRRP報文后,會將自己的優(yōu)先級與通告中的優(yōu)先級進行比較,如果自己的優(yōu)先級比當前的Master優(yōu)先級高,就會主動搶占成為Master路由器;否則,將保持Backup狀態(tài)。

二.keepalived原理

    1.keepalived組件:

    keepalived是模塊化設(shè)計,不同的模塊負責不同的功能;

    keepalived的組件:core、check、vrrp、libipfwc、libipvs-2.4、libipvs-2.6

    core:是keepalived的核心,負責主進程的啟動和維護,全局配置文件的加載解析等;

    check:負責healthchecker(健康檢查),包括了各種健康檢查的方式以及對應(yīng)配置的解析;

    vrrp:vrrpd子進程,vrrpd子進程就是用來實現(xiàn)vrrp協(xié)議的;

    libipfwc:iptables庫,在配置LVS時會用到;

    libipvs*:配置LVS;

    2.keepalived進程

    keepalived啟動后會有三個進程:

    父進程:內(nèi)存管理,子進程管理;

    子進程:VRRP子進程;

    子進程:healthchecker子進程;

    兩個子進程都被系統(tǒng)WatchDog看管,兩個子進程都各自負責自己的事,healthchecker子進程負責檢查各個服務(wù)器的健康狀態(tài),如果healthchecker子進程檢查到Master服務(wù)器不可用了,就會通知本機上的兄弟vrrpd子進程,讓它刪除通告,并且去掉虛擬ip,轉(zhuǎn)換為Backup狀態(tài)。

    

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI