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