VRRP實例(instance)配置參數說明及示例
參數說明
state: state指定instance(Initial)的初始狀態,就是說在配置好后,這台服務器的初始狀態就是這里指定的,但這里指定的不算,還是得要通過競選通過優先級來確定,里如果這里設置為master,但如若他的優先級不及另外一台,那么這台在發送通告時,會發送自己的優先級,另外一台發現優先級不如自己的高,那么他會就回搶占為master
interface: 實例綁定的網卡,因為在配置虛擬IP的時候必須是在已有的網卡上添加的
dont track primary: 忽略VRRP的interface錯誤
track interface: 跟蹤接口,設置額外的監控,里面任意一塊網卡出現問題,都會進入故障(FAULT)狀態,例如,用nginx做均衡器的時候,內網必須正常工作,如果內網出問題了,這個均衡器也就無法運作了,所以必須對內外網同時做健康檢查
mcast src ip: 發送多播數據包時的源IP地址,這里注意了,這里實際上就是在那個地址上發送VRRP通告,這個非常重要,一定要選擇穩定的網卡端口來發送,這里相當於heartbeat的心跳端口,如果沒有設置那么就用默認的綁定的網卡的IP,也就是interface指定的IP地址
garp master delay: 在切換到master狀態后,延遲進行免費的ARP(gratuitous ARP)請求
virtual router id: 這里設置VRID,這里非常重要,相同的VRID為一個組,他將決定多播的MAC地址
priority 100: 設置本節點的優先級,優先級高的為master
advert int: 檢查間隔,默認為1秒
virtual ipaddress: 這里設置的就是VIP,也就是虛擬IP地址,他隨着state的變化而增加刪除,當state為master的時候就添加,當state為backup的時候刪除,這里主要是有優先級來決定的,和state設置的值沒有多大關系,這里可以設置多個IP地址
virtual routes: 原理和virtual ipaddress一樣,只不過這里是增加和刪除路由
lvs sync daemon interface:lvs syncd綁定的網卡
authentication: 這里設置認證
auth type: 認證方式,可以是PASS或AH兩種認證方式
auth pass: 認證密碼
nopreempt: 設置不搶占,這里只能設置在state為backup的節點上,而且這個節點的優先級必須別另外的高
preempt delay: 搶占延遲
debug: debug級別
notify master: 和sync group這里設置的含義一樣,可以單獨設置,例如不同的實例通知不同的管理人員,http實例發給網站管理員,mysql的就發郵件給DBA
配置示例
! Configuration File for keepalived
#全局配置
global_defs {
router_id haproxy_one #機器標識
}
#健康檢查VRRP腳本相關
vrrp_script chk_haproxy {
script "/etc/keepalived/haproxy_pid.sh" #健康檢查腳本
interval 2 #腳本執行間隔
weight 2 #腳本結果導致的優先級變更:10表示優先級+10;-10則表示優先級-10
}
#VRRPD子進程,VRRPD子進程就是來實現VRRP協議的
vrrp_instance neiwang {
state BACKUP #主備狀態
interface eth0 #監聽網卡
virtual_router_id 56 #虛擬路由id
priority 100 #權重
advert_int 1 #檢查間隔,默認為1秒
smtp_alert #表示切換時給global defs中定義的郵件地址發送郵件通知
preempt_delay 1 #搶占延遲
authentication { #認證配置
auth_type PASS #認證方式,可以是PASS或AH兩種認證方式
auth_pass 1111 #認證密碼
}
virtual_ipaddress { #虛擬IP
10.89.2.11
}
track_script { #引用健康檢查腳本函數
chk_haproxy
}
}
