keepalived是乙個linux下乙個輕量級的高可用集群方案,keepalived主要虛擬路由冗餘來實現高可用功能,keepalived部署和使用非常簡單,所有的配置只需乙個配置檔案即可。
keepalived起初是為lvs設計的,專門用來監控伺服器集群中各個服務節點的狀態,它參考tcp/ip模型的第三層、第四層和第五層交換機制來檢測每個節點的狀態。
keepalived加入了vrrp的功能,虛擬路由器冗餘協議,解決靜態路由出現的單點故障問題
keepalived一方面具有伺服器狀態監測和故障隔離功能,一方面具有ha cluster功能
主機之間通訊的是通過配置靜態路由來完成的,在這種通訊模式下,路由器成為了乙個單點瓶頸,為了解決這個問題,就引入了vrrp協議
vrrp協議,是一種主備模式的協議,可以在網路發生故障時進行透明裝置的交換而不影響通訊,兩個概念:物理路由器和虛擬路由器
vrrp可以將多台伺服器裝置虛擬成乙個虛擬路由器,虛擬路由器通過虛擬ip對外提供服務,同一時間只有一物理路由器對外提供服務,這台路由器是主路由器(master角色),master由選舉演算法產生,對外提供虛擬服務的ip,提供各種網路功能,如arp請求,icmp,資料**等。
其他物理路由器(backup路由器)不對外提供網路服務,僅僅接受master的vrrp狀態通知資訊,當master路由器失效時,backup角色的路由器就會重新進行選舉,產生乙個新的主路由器進入master角色對外提供服務,整個切換過程對使用者來說是透明的
vrid 虛擬路由器標識
乙個ip位址和乙個vrid構成了乙個虛擬路由器
vrrp協議中,所有的報文都是通過ip多播的形式進行傳送的,。
網路層(第三層):執行4個重要的協議 icmp協議(網際網路控制報文)、rap協議(位址轉換協議),rap協議(反向位址轉換協議)、網際網路協議ip.常見的工作方式,通過icmp協議向各個集群節點傳送乙個icmp資料報,如果某個節點沒有返回資料報,則認為該節點發生了故障,keepalived報告此節點失效
傳輸層 tcp協議 udp協議 獲得tcp服務需要傳送機的乙個埠和接收機的乙個埠建立tcp連線
利用tcp的協議埠連線和掃瞄技術來判斷集群節點是否正常
應用層,keepalived通過根據使用者設定的檢測服務是否執行正常
整體兩層
使用者空間層 核心空間層
核心空間層 ipvs netlink兩個模組
keepalived借助於ipvs就可以實現負載均衡
使用者空間層分為4個部分
scheduler i/o mutiplexer
i/o復用分配排程器,用來負責安排keepalived的內部請求
memory management
記憶體管理機制,提供用來訪問記憶體的一些通用方法
control plane
控制面板,可以對配置檔案進行編譯和解析
高效能集群軟體keepalived
keepalived主要是通過虛擬路由冗餘來實現高可用功能 部署和使用簡單,所有配置只需要乙個配置檔案 1,keepalived 起初為lvs設計 伺服器章台檢測和故障隔離功能 專門用來監控集群幾桶中各個服務節點的狀態 根據tcp ip參考模型的第 三 第四和第五層交換機制檢測每個服務節點的狀態 自...
高效能集群軟體Keepalived之安裝配置篇
一 keepalived的安裝過程 root keepalived master keepalived 1.2.12 configure sysconf etc with kernel dir usr src kernels 2.6.32 431.5.1.el6.x86 64 root keepal...
高效能集群軟體Keepalived之安裝配置篇
一 keepalived的安裝過程 root keepalived master keepalived 1.2.12 configure sysconf etc with kernel dir usr src kernels 2.6.32 431.5.1.el6.x86 64 root keepal...