您好,登錄后才能下訂單哦!
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)。
免責聲明:本站發(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)容。