1. 程式人生 > >Keepalived實現lvs雙機熱備

Keepalived實現lvs雙機熱備

Keepalived簡介

Keepalived的作用是檢測伺服器的狀態,如果有一臺web伺服器宕機,或工作出現故障,Keepalived將檢測到,並將有故障的伺服器從系統中剔除,同時使用其他伺服器代替該伺服器的工作,當伺服器工作正常後Keepalived自動將伺服器加入到伺服器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的伺服器。

Keepalived主要是通過 VRRP 協議實現故障切換。

VRRP 協議全稱 Virtual Router Redundancy Protocol ,中文名為虛擬路由冗餘協議 ,VRRP的出現就是為了解決靜態踣甶的單點故障問題,VRRP是通過一種競選機制來將路由的任務交給某臺VRRP路由器的。

Keepalived實現雙機熱備結構圖

圖片來源網路,侵刪

通過以上圖片我們能夠了解使用keepalived使用雙機熱備的基本結構,兩個負載均衡器同時安裝keepalived,其中一臺做master,另一臺做backup,客戶端請求master節點,master會發送資料包給backup節點,backup接收不到master傳送的資料包時就表示master掛了,此時就有backup接管master節點,由此實現雙機熱備。

keepalived 具體安裝配置

# 使用yum安裝,預設配置
yum install -y keepalived

# 預設配置所在目錄
/etc/keepalived
/etc/keepalived/keepalived.conf     #keepalived服務主配置檔案
/etc/rc.d/init.d/keepalived         #服務啟動指令碼
/etc/sysconfig/keepalived
/usr/bin/genhash
/usr/libexec/keepalived
/usr/sbin/keepalived

# 修改master配置檔案/etc/keepalived/keepalived.conf
  vrrp_instance VI_1 {
    #指定該節點為主節點,備用節點設定為BACKUP
    state MASTER
 
    #繫結虛擬IP的網路介面
    interface eno16777736
 
    #VRRP組名,兩個節點設定一樣,以指明各個節點同屬一VRRP組
    virtual_router_id 51
 
    #主節點的優先順序,數值在1~254,注意從節點必須比主節點的優先級別低
    priority 50
 
    ##組播資訊傳送間隔,兩個節點需一致
    advert_int 1
 
    #設定驗證資訊,兩個節點需一致
    authentication{
      auth_type PASS
      auth_pass 1111
    }
 
    #指定虛擬IP,兩個節點需設定一樣
    virtual_ipaddress{
      10.0.0.100
    }
 }
#虛擬IP服務
virtual_server 10.0.0.100 80 {
    #設定檢查間隔
    delay_loop 6
 
   #指定LVS演算法
    lb_algo rr
 
   #指定LVS模式
    lb_kind NAT
    nat_mask 255.255.255.0
 
   #持久連線設定,會話保持時間
   persistence_timeout 50
 
   #轉發協議為TCP
   protocol TCP
 
  #後端實際TCP服務配置
  real_server 10.0.0.22 80 {
     weight 1
  }
 
  real_server 10.0.0.23 80 {
     weight 1
  }
}

# 啟動keepalived,先啟動master,然後啟動backup
systemctl start keepalived

基於此配置我們就完成了keepalived雙機熱備的簡單實現,下一章我們將結合例項來說明lvs + keepalived 的完整案例。