Keepalived入門學習

Keepalived簡介

Keepalived 是使用C語言編寫的路由熱備軟件,該項目軟件起初是專門爲LVS負載均衡設計的,用來管理並監控LVS集羣系統中各個服務節點的狀態,後來又加入了能夠實現高可用的VRRP功能。
所以,Keepalived除了可以管理LVS軟件外,還能夠做爲其餘服務(例如:NginxHaproxyMySQL等)的高可用解決方案軟件。php

Keepalived 主要是經過VRRP協議實現高可用功能的。VRRP是Virtual Router Redundancy Protocol(虛擬路由器冗餘協議)的縮寫,VRRP出現的目的就是爲了解決靜態路由單點故障問題的,它可以保證當個別節點宕機時,整個網絡能夠不間斷地運行。nginx

因此,Keepalived一方面具備配置管理LVS的功能,同時還具備對LVS下面節點進行健康檢查的功能,另外一方面也可實現系統網絡服務的高可用功能。web

Keepalived工做原理

咱們以一次面試爲例,解答Keepalived的工做原理。如下爲對面試官的表述:面試

Keepalived入門學習

Keepalived 高可用之間是經過VRRP通訊的,所以我從VRRP開始給您講起:apache

(1)VRRP,也就是虛擬路由冗餘協議,它的出現就是爲了解決靜態路由的單點故障。編程

(2)VRRP是經過一種競選協議機制將路由任務交給某臺VRRP路由器。服務器

(3)VRRP用 IP多播的方式(默認多播地址(224.0_0.18))實現高可用對 之間通訊。微信

(4)工做時主節點發包,備節點接包,當備節點接收不到主節點發的數據包時,就啓動接管程序接管主節點的資源。備節點能夠有多個,經過優先級競選,但通常Keepalived系統工做中都是一對。網絡

(5)VRRP使用了加密協議加密數據,但Keepalived官方目前仍是推薦用明文的方式配置認證類型和密碼。架構

介紹完 VRRP,接下來介紹一下 Keepalived服務的工做原理:

(1)Keepalived高可用之間是經過VRRP進行通訊的,VRRP是經過競選機制來肯定主備的,主的優先級高於備,所以,工做時主會優先得到全部的資源,備節點處於等待狀態,當主掛了的時候,備節點就會接管主節點的資源,而後頂替主節點對外提供服務。

(2)在Keepalived服務之間,只有做爲主的服務器會一直髮送VRRP廣播包,告訴備它還活着,此時備不會搶佔主,當主不可用時,即備監聽不到主發送的廣播包時,就會啓動相關服務接管資源,保證業務的連續性。接管速度最快能夠小於1秒。

Keepalived服務做用

(1)管理 VIP

VIP即對外提供服務的浮動IP, 會在 LVS 之間漂移

(2)監控 LVS分發器

運行在主分發器的 Keepalived 會以組播的形式向網絡中宣告本身,即主分發器還活着,備用節點能收到。當備用節點,在一個時間單位中收不到組播,備用節點會認爲主 LVS 掛了,開始接手主分發器工做,把 VIP 分配給本身。

(3)管理RS

RS,RealServer。即真正爲用戶提供服務的服務器。好比:web、mail、FTP服務等。

Keepalived 會每隔一個時間段去作一次相似於訪問的操做如:

探針: elinks http://192.168.1.251 –dump

經典高可用web架構: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可選)

結語

歡迎關注微信公衆號『開源Linux』,專一於分享Linux/Unix相關內容,包括Linux運維、Linux系統開發、網絡編程、以及虛擬化和雲計算等技術乾貨。後臺回覆『學習』,送你一套學習Linux的系列書籍,期待與你相遇。

Keepalived入門學習

相關文章
相關標籤/搜索