keepalived實現雙機熱備


keepalived的作用是檢測后端TCP服務的狀態,如果有一台提供TCP服務的后端節點死機,或者工作出現故障,keepalived會及時檢測到,並將有故障的節點從系統中剔除,當提供TCP服務的節點恢復並且正常提供服務后keepalived會自動將TCP服務的節點加入到集群中。這些工作都是keepalived自動完成,不需要人工干涉,需要人工做的只是修復發生故障的服務器,以下通過示例來演示。

  前提:為了測試能順利進行,需先關閉selinux和firewalld。

  測試環境如下:

keepalived主機: 10.0.0.20

keepalived備機: 10.0.0.21
http服務器1:   10.0.0.22
http服務器2:   10.0.0.23
VIP :       10.0.0.100

一、兩台http服務器的安裝

  1、  兩台機均安裝httpd

$ sudo yum install -y httpd

2、  添加首頁

$ sudo -i
 
#http服務器1設置
# echo10.0.0.22” >/var/www/html/index.html
 
#http服務器2設置
# echo10.0.0.23” >/var/www/html/index.html

3、  啟動並設置開機啟動httpd

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

二、兩台keepalived主機的設置

  1、  兩台機均安裝keepalived

#安裝依賴文件與keepalive
 
$ sudo yum install -y openssl openssl-devel keepalived

  2、  keepalived主機配置

$ sudo vim /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
  }
}

3、   keepalived備機的keepalived.conf的配置,不同之處如下:

state BACKUP
priority 30
 
#其它配置跟keepalived主機相同

/etc/keepalived/keepalived.conf為keepalived的主配置文件。以上配置state表示主節點為10.0.0.20,副節點為10.0.0.21。虛擬為IP10.0.0.100。后端的真實服務器為10.0.0.22和10.0.0.23,當通過10.0.0.100訪問web服務器時,自動轉到后端真實服務器,后端節點的權重相同,類似輪詢的模式。

(檢查mysql服務器,估計需要寫一個腳本,定制執行檢查腳本)

 

三、keepalived的啟動與測試

1、  啟動keepalived

$ sudo systemctl start keepalived
$ sudo systemctl enable keepalived

2、  查看keepalived主機的IP

$ ip addr show

四、測試結果

  1、  測試前查看keepalived主機和備機的IP,結果如圖:

2、  重啟keepalived主機后,查看keepalived備機的IP顯示

以上測試結果說明,當keepalived備機在keepalived主機宕機的情況會自動接管了資源。但待keepalived主機恢復正常的時候,主機會重新接管資源。

 

技巧: 可以用tail 命令查看啟動日志的變化

 

轉 :  https://www.cnblogs.com/jefflee168/p/7442127.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM