Keepalived使用和配置

2021-10-23 18:50:47 字數 3525 閱讀 6779

bfd配置

vrrpd configuration

lvs configuration

配置舉例

資料鏈結

編譯安裝最新版本

yum -y install openssl-devel gcc

cd keepalived-2.0.20

./configure --prefix=/usr/local/keepalived

make && make install

mkdir /etc/keepalived

cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

cp keepalived/etc/init.d/keepalived /etc/init.d/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig

chmod +x /etc/init.d/keepalived

chkconfig --add keepalived

systemctl enable keepalived

global_defs 

notification_email_from keepalived@localhost # 發郵件的位址

smtp_server 127.0.0.1

smtp_connect_timeout 30

vrrp_mcast_group4 224.1.1.93 # 組播位址,預設為224.0.0.18

# vrrp_mcast_group6 ff02::93 # v6組播位址,預設為ff02::12

# vrrp_strict # 嚴格遵守vrrp協議 沒有vip 單播鄰居 vrrp2有ipv6位址 引起vip不通,注釋掉

vrrp_skip_check_adv_addr # 預設是不跳過檢查。檢查收到的vrrp通告中的所有位址可能會比較耗時,設定此命令的意思是,如果通告與接收的上乙個通告來自相同的master路由器,則不執行檢查(跳過檢查)。 建議跳過

vrrp_garp_master_delay 10 # 當轉換為master狀態時,延遲多少秒傳送第二組的免費arp。預設為5s,0表示不傳送第二組免的免費arp。 抓包可見,作用待分析

vrrp_garp_master_repeat 1 # 當轉換為master狀態時,在一組中一次傳送的免費arp數量。預設是5.

vrrp_garp_lower_prio_delay 10 # 當master收到更低優先順序的通告時,延遲多少秒傳送第二組的免費arp。抓包可見,作用待分析

vrrp_garp_lower_prio_repeat 1 # 當master收到更低優先順序的通告時,在一組中一次傳送的免費arp數量

vrrp_garp_interval 0 #適用於上游交換機無法處理被arp/na淹沒的情況,網橋應該沒用

vrrp_gna_interval 0 # 介面上主動傳送的na訊息之間的延遲時間

# script_user # 執行指令碼的使用者,預設為keepalived_script, 沒有的話是root。

# preempt or nopreempt 預設是非搶占模式, # 需要分析

}

該指令碼週期性執行,退出碼記錄在所有vrrp instances中,注意:至少有乙個vrrp例項呼叫它並且優先順序不能為0.優先順序範圍是1-254.

vrrp_script 

script :指定要執行的指令碼的路徑。

interval :指定兩次指令碼執行的間隔。單位是秒。預設為1s。

timeout :指定在多少秒後,指令碼被認為執行失敗。

weight <-254 --- 254>:調整優先順序。預設為2.

rise :執行成功多少次才認為是成功。

fall :執行失敗多少次才認為失敗。

user [groupname]:執行指令碼的使用者和組。

init_fail:假設指令碼初始狀態是失敗狀態。

所有相關的vrrp例項定義在一起,作為乙個vrrp group,如果組內的任意乙個例項出現問題,都可以實現failover。

vrrp_sync_group vg_1 

...}

vrrp_instance 

state: master|backup # 指定該keepalived節點的初始狀態。

inte***ce # vrrp例項繫結的介面,用於傳送vrrp包。

virtual_router_id # 1-255 用於區分vrrpd多個例項

priority # 優先順序,優先順序高的為master

advert_int # vrrp通告間隔,預設1s

authentication

virtual_ipaddress

nopreempt # 設定為不搶占。預設是搶占的,當高優先順序的機器恢復後,會搶占低優先順序的機器成為master,而不搶占,則允許低優先順序的機器繼續成為master,即使高優先順序的機器已經上線。如果要使用這個功能,則初始化狀態必須為backup。

preempt_delay # 設定搶占延遲。單位是秒,範圍是0---1000,預設是0.發現低優先順序的master後多少秒開始搶占。

通知指令碼:

notify_master "/etc/keepalived/master.sh" # 當成為主模式時候,執行的指令碼

notify_backup "/etc/keepalived/backup.sh" # 當成為備模式時候,執行指令碼

notify_fault "/etc/keepalived/fault.sh" # 當成為 fault模式,執行指令碼

notify_stop "/etc/keepalived/stop.sh" # 當停止vrrp時執行的指令碼。

暫時用不到,為日後積累

virtual_server ip port 

# 其中定義好的get

url

}}

! configuration file for keepalived

global_defs

notification_email_from keepalived@localhost

smtp_server 127.0.0.1

smtp_connect_timeout 30

enable_script_security

script_user root

vrrp_mcast_group4 224.1.1.93

vrrp_skip_check_adv_addr

}vrrp_script test

vrrp_instance vi_1

virtual_ipaddress

track_script

}

參考

Keepalived配置與使用

keepalived是乙個基於vrrp協議來實現的web服務高可用方案,可以利用其來避免單點故障。乙個web服務至少會有2臺伺服器執行keepalived,一台為主伺服器 master 一台為備份伺服器 backup 但是對外表現為乙個虛擬ip,主伺服器會傳送特定的訊息給備份伺服器,當備份伺服器收不...

keepalived工作原理和配置

keepalived是集群管理中保證集群高可用的乙個服務軟體,用來防止單點故障。keepalived是以vrrp協議為實現基礎的,keepalive類似於ylayer3,4 5交換機制的軟體,vrrp全稱virtual router redundancy protocol,即虛擬路由冗餘協議。虛擬路...

keepalived 安裝和簡要配置

2 tar xvzf keepalived 2.1.5.tar.gz 3 進入對應目錄,configure prefix usr local keepalived 4 顯示缺少openssl 安裝openssl yum install openssl 5 重新編譯並安裝 make make inst...