Keepalived功能及配置介紹

定義:Keepalived是基於vrrp協議的一款應用高可用開源軟件,包括“虛擬路由冗餘”和“狀態檢測故障剔除”兩個功能子模塊;啓動後有3個進程core(主進程的啓動、維護以及全局配置文件的加載和解析)、vrrp(虛擬路由冗餘)、check(狀態檢測故障剔除)


相關命令:
keepalived -h

keepalived.conf詳解
Keepalived的配置文件可以分爲三塊:
1.全局定義塊:對整個 Keepalive 配置生效的,不管是否使用 LVS;
2.VRRP 實例定義塊:是 Keepalived 的核心;
3.虛擬服務器(LVS)定義塊:LVS 配置只在使用 Keepalived 來配置和管理 LVS 時才需要使用,如果僅僅使用 Keepalived做 HA,LVS 的配置完全是不需要的。

global_defs {          #全局參數
   router_id test1     #物理服務器的主機名,字定義,keepalived集羣中唯一
   vrrp_mcast_group4   #表示的ipv4協議下的組播地址,組播方式發送心跳帶寬小,集羣擴展無需修改配置
}

vrrp_script chk_network {  #檢測腳本
    script "/path/check.sh"  #5秒執行一次該腳本(判斷應用程序進程是否存在),返回0時權重=priority,返回1時權重=priority-10
    interval 5  
    weight -10


vrrp_sync_group VG_1{                #分組監控及切換,若VI_1主節點故障切換,VI_2也會切換
    group {
        VI_1                #實例名
        VI_2
    }
    notify_master /path/xx.sh        #指定當切換到master時,執行的腳本,一般爲啓動應用程序
    netify_backup /path/xx.sh        #指定當切換到backup時,執行的腳本,一般爲關閉應用程序
    notify_fault "path/xx.sh VG_1"     #故障時執行的腳本
    notify /path/xx.sh  #切換到master、切換到backup、故障時都會執行,且在最後執行
    smtp_alert                         #使用global_defs中提供的郵件地址和smtp服務器發送郵件通知
}

vrrp_instance VI_1 {
    state MASTER #啓動時爲主節點,啓動後還是會根據priority weight切換,所以該狀態意義不大
    nopreempt #非搶佔模式,backup檢測不到master心跳時,才搶佔(master需保證keepalive和應用狀態一致或keepalived檢測到應用掛掉時pkill keepalived);不配該項,則根據priority weight值動態判斷誰主誰備;
    interface eth0 #網卡名稱
    virtual_router_id 51 #虛擬路由ID,主備服務器該值需保持一致
    priority 100  #初始權重,根據權重決定主從
    advert_int 1 #心跳檢測間隔1秒,若檢測到marster無心跳,切換
    authentication { #校驗方式,必須跟備保持一致
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress { #虛擬ip地址,客戶通過該ip訪問服務器
        192.168.200.16
    }
    mcast_src_ip  #組播發送心跳源IP地址。默認是綁定VRRP實例的接口的主IP地址
    unicast_src_ip  192.168.2.213 #單播發送心跳的原ip,默認是綁定VRRP實例的接口的主IP地址
    unicast_peer {
        192.168.2.211 #單播發送心跳的目標ip
    }
    track_script { #狀態追蹤腳本
        chk_network
    }
    track_interface { #監控以下網卡,如果任何一個不通就會切換到FALT狀態
        eno16777736
    }
}
vrrp_instance VI_2 {
    ...
}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章