首先簡單介紹一下vrrp協議
用來實現路由器冗餘的協議:
vrrp協議是為了消除在靜態預設路由環境下路由器單點故障引起的網路失效而設計的主備模式的協議,使得發生故障而進行設計裝置功能切換時可以不影響內外資料通訊,不需要再修改內部網路的網路引數。vrrp協議需要具有ip備份,優先路由選擇,減少不必要的路由器通訊等功能,
vrrp協議將兩台或多台路由器裝置虛擬成乙個裝置,對外提供虛擬路由器ip(乙個或多個)。而在路由器組內部,如果實際擁有這個對外ip的路由器如果工作正常的話,就是master,或者是通過演算法選舉產生的,master實現針對虛擬路由器ip的各種網路功能,如arp請求,icmp,以及資料的**等,其他裝置不具有該ip,狀態是backup。除了接收master的vrrp狀態通告資訊外,不執行對外的網路功能,當主級失效時,backup將接管原先master的網路功能。
配置vrrp協議時需要配置每個路由器的虛擬路由id(vrid)和優先權值,使用vrid將路由器進行分組,具有相同vrid值的路由器為同乙個組,vrid是乙個0-255的整整數,;同乙個組中的路由器通過使用優先權值來選舉master。,優先權大者為master,優先權也是乙個0-255的正整數。
keepalived是基於vrrp協議實現的。
keepalived是模組化的設計,不同模組負責實現不同的功能,keepalived的元件
core, check,vrrp,libipfwc,libipvs-2.4 libipvs-2.6
core:是keepalived的核心,複雜主程序的啟動和維護,全域性配置檔案的載入解析等
check:負責healthcheck(健康檢查),包括了各種檢查方式,以及對應的配置解析包括lvs的配置解析,
vrrp:vrrpd子程序,vrrpd子程序就是用來實現vrrp協議的,
libipfwc:iptables庫,配置lvs會用到
keepalived正常啟動的時候,共啟動3個程序,乙個是父程序,負責監控其子程序,乙個是vrrp子程序,另外乙個是checkers子程序
兩個子程序都被系統watchlog看管,兩個子程序各自負責複雜自己的事。healthcheck子程序檢查各自伺服器的健康狀況,,例如http,lvs。如果healthchecks程序檢查到master上服務不可用了,就會通知本機上的vrrp子程序,讓他刪除通告,並且去掉虛擬ip,轉換為backup狀態。
layer3,4,&5工作早ip/tcp協議棧的ip層,tcp層,及應用層
原理:layer3:keepalived使用layer3的方式工作時,keepalived會定期向伺服器群中傳送乙個icmp的資料報(即我們平時用的ping程式),如果發現某台伺服器的ip位址沒有啟用,keepalived便會報告這台伺服器是小,並將他從伺服器群中剔除。layer3的方式是以伺服器的ip第孩子是否有效作為伺服器工作正常與否的標準。
layer4:主要以tcp埠的狀態來決定伺服器工作正常與否。如web sercer的服務埠一般是80.如果keepalived檢測到80埠沒有啟動,則keepalived將這台伺服器從服務群中刪除。
layer5:layer5就是工作載具體的應用層,比layer3,4要複雜一點,載網路上占用的寬頻也要打一些。keepalived將根據使用者的設定檢查伺服器的執行是否正常。如果設定不相符,則keepalived將把伺服器從群中踢除。
Keepalived工作原理
keepalived是以vrrp協議為實現基礎的,vrrp全稱virtual router redundancy protocol,即虛擬路由冗餘協議。虛擬路由冗餘協議,可以認為是實現路由器高可用的協議,即將n臺提供相同功能的路由器組成乙個路由器組,這個組裡面有乙個master和多個backup,m...
Keepalived工作原理
keepalived是以vrrp協議為實現基礎的 vrrp virtual router redundancy protocol 虛擬路由冗餘協議 可以認為是實現路由器高可用的協議,即將n臺提供相同功能的路由器組成乙個路由器組,這個組裡面有乙個master和多個backup,master上面有乙個對...
keepalived 工作原理
keepalived工作原理 keepalived是集群管理中保證集群高可用的乙個服務軟體,其功能類似於heartbeat,用來防止單點故障。keepalived是以vrrp協議為實現基礎的,vrrp全稱virtual router redundancy protocol,即虛擬路由冗餘協議。虛擬路...