快速掌握keepalived

香吧香發表於2023-10-13

轉載請註明出處:

  Keepalived是一個基於VRRP(虛擬路由冗餘協議)的開源軟體,用於在Linux系統上實現高可用性和負載均衡。它的主要功能是透過多臺伺服器之間的協作,確保在其中一臺伺服器發生故障時,另一臺伺服器可以接管其功能,並繼續提供服務,從而實現系統的高可用性。

常用功能:

  1. 虛擬IP(Virtual IP): Keepalived透過配置一個虛擬IP地址,將其繫結到多個伺服器上,使得這些伺服器可以共享一個IP地址。當主伺服器發生故障時,備份伺服器會接管該虛擬IP地址並繼續提供服務。

  2. VRRP:Keepalived使用VRRP協議來實現伺服器之間的冗餘備份。VRRP協議定義了伺服器之間的選舉機制,主伺服器傳送心跳包以表明自己的存活狀態,備份伺服器監聽主伺服器的心跳包,一旦主伺服器失去響應,備份伺服器會接管其角色。

  3. 健康檢查(Health Checks): Keepalived可以週期性地對伺服器進行健康檢查,例如檢查伺服器上的某個埠是否正常執行,以確定伺服器的狀態。如果檢測到故障,Keepalived可以自動觸發故障轉移。

配置示例說明:

  以下是一個簡單的Keepalived配置示例,假設有兩臺伺服器:Server A(IP地址為192.168.1.10)和Server B(IP地址為192.168.1.11),要實現故障轉移和負載均衡。

  在Server A上的配置檔案keepalived.conf

global_defs {
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {
    state MASTER  # 主伺服器設定為MASTER
    interface eth0  # 使用的網路介面
    virtual_router_id 51  # 虛擬路由ID,用於標識VRRP組
    priority 100  # 主伺服器的優先順序較高
    advert_int 1  # 傳送心跳包的時間間隔
    authentication {
        auth_type PASS
        auth_pass password  # 驗證密碼
    }
    virtual_ipaddress {
        192.168.1.100  # 虛擬IP地址
    }
}

virtual_server 192.168.1.100 80 {  # 定義虛擬伺服器
    delay_loop 6  # 檢查伺服器的時間間隔
    lb_algo rr  # 負載均衡演算法,此處使用輪詢演算法
    lb_kind NAT  # 負載均衡方式,此處使用NAT模式
    persistence_timeout 50  # 連線保持時間
    protocol TCP  # 使用TCP協議
}

  在Server B上的配置檔案keepalived.conf與Server A相似,只需修改以下幾行:

vrrp_instance VI_1 {
    state BACKUP  # 備份伺服器設定為BACKUP
    priority 90  # 備份伺服器的優先順序較低
}

  引數說明:

  • auth_type: 這個配置項指定了身份驗證的型別。在示例中,PASS表示使用基於密碼的身份驗證。還可以選擇其他選項,如AH(基於身份驗證頭)或PASSAH(同時使用密碼和身份驗證頭)等。
  • auth_pass: 這個配置項指定了用於身份驗證的密碼。在示例中,將password替換為您要使用的實際密碼。

  使用這個配置,當兩個執行keepalived的主機之間建立VRRP通訊時,它們將相互驗證提供的身份驗證資訊是否匹配。如果身份驗證資訊不匹配,通訊將被拒絕,並且無法建立故障轉移。

  在以上配置中,Server A被配置為主伺服器(MASTER)並具有較高的優先順序,Server B被配置為備份伺服器(BACKUP)並具有較低的優先順序。另外,虛擬IP地址被定義為192.168.1.100,並且將請求分發到兩臺伺服器上的埠80。且虛擬ip 也可以透過

  當主伺服器(Server A)失去響應時,備份伺服器(Server B)會自動接管虛擬IP地址,從而實現故障轉移和高可用性。同時,請求會透過負載均衡演算法分發到兩臺伺服器上,實現了負載均衡。

   

 

 

 

相關文章