天天看點

KeepAlived 安裝部署-備節點

主節點安裝

環境
[root@test2 ~]# keepalived -v
Keepalived v1.3.5 (03/19,2017)
           
HostName IP DES
test1 192.168.180.46 master
test2 192.168.180.47 node-1
test3 192.168.180.48 node-2
test4 192.168.181.18 node-3

一、安裝部署

二、配置檔案

檢視目前要指定虛IP的網卡

[root@test2 ~]# ip add | grep ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 192.168.180.46/24 brd 192.168.180.255 scope global noprefixroute ens160
[root@test2 ~]#
           
[root@test2 ~]# vim /etc/keepalived/keepalived.conf


# 1 全局塊
global_defs {
   # 接收郵件的郵箱清單
   notification_email {
     [email protected]
   }
   notification_email_from [email protected]          # 發送郵件的人
   smtp_server smtp.exmail.qq.com               # smtp伺服器位址
   smtp_connect_timeout 30                      # smtp逾時時間
   router_id eric_keepalived_node_1             # 機器辨別
   vrrp_skip_check_adv_addr
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}

# 2 VRRP協定 執行個體塊
vrrp_instance ERIC_VI_1 {                       # 定義一個vrrp的執行個體塊,執行個體塊的名稱可以任意起,最好是字元串,這裡我們定義的是 ERIC_VI_1
    state BACKUP                                # 定義目前安裝keepalived軟體的伺服器是 主節點(MASTER) 還是 備份節點(BACKUP)。
    virtual_router_id 56                        # 虛拟路由ID,主備必須要一緻,負責相同虛拟IP的keepalived叢集,範圍是0-255
    priority 100                                # 優先級,誰的優先級高,誰更容易成為主節點
    nopreempt                                   # 設定 nopreempt 防止搶占資源
    advert_int 1                                # 主備伺服器之間的通信間隔,機關是秒。
    # 伺服器之間的認證方式
    authentication {
        auth_type PASS                          # 指定認證方式。PASS簡單密碼認證(推薦),AH:IPSEC認證(不推薦)。
        auth_pass 1111                          # 指定認證所使用的密碼。最多8位。
    }
    interface ens160                            # 指定虛拟IP定義在那個網卡上面(本機指定為 ens160 網卡)
    # 定義虛拟IP塊。客戶通過該ip通路伺服器
    virtual_ipaddress {
        192.168.180.168/24                      # 與指定的網卡是同一網段虛拟IP(使用ip add進行檢視ens160 網卡的網段)
    }
}

           

三、啟動

四、檢視是否建立成功

備節點與主節點不同,需要停掉主節點,備節點才可以查到虛拟IP;

由此可見,

KeepAlived 高可用是通過動态切換生成虛拟IP位址來達到的高可用!

[root@test2 ~]# ip add | grep ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 192.168.180.46/24 brd 192.168.180.255 scope global noprefixroute ens160
    # 發現多了一個虛拟IP就是成功了
    inet 192.168.180.168/24 scope global secondary ens160
[root@test2 ~]#

           

繼續閱讀