keepalived雙機熱備

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

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

  測試環境以下:web

1
2
3
4
5
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

 

1、兩臺http服務器的安裝算法

  一、  兩臺機均安裝httpdvim

1
$ sudo yum install -y httpd

 

  二、  添加首頁後端

1
2
3
4
5
6
7
$ sudo -i
 
#http服務器1設置
# echo 「10.0.0.22」 >/var/www/html/index.html
 
#http服務器2設置
# echo 「10.0.0.23」 >/var/www/html/index.html

 

  三、  啓動並設置開機啓動httpd服務器

1
2
$ sudo systemctl start httpd
$ sudo systemctl enable httpd

 

2、兩臺keepalived主機的設置網絡

  一、  兩臺機均安裝keepalivedoop

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

 

  二、  keepalived主機配置測試

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
$ 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
   }
}

 

  三、   keepalived備機的keepalived.conf的配置,不一樣之處以下:

1
2
3
4
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服務器時,自動轉到後端真實服務器,後端節點的權重相同,相似輪詢的模式。

 

3、keepalived的啓動與測試

  一、  啓動keepalived

1
2
$ sudo systemctl start keepalived
$ sudo systemctl enable keepalived

 

  二、  查看keepalived主機的IP

1
$ ip addr show

 

 

4、測試結果

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

 

 

  二、  重啓keepalived主機後,查看keepalived備機的IP顯示

 

 

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

相關文章
相關標籤/搜索