keepalived基礎原理
keepalived介紹
設置初衷是為了高可用ipvs 通過腳本可以實現高可用nginx或者haproxy調度器, 基於vrrp協議完成一個固定的IP可以在集群中不同的節點進行流動.為ipvs集群的各RS做健康狀態檢測
工作模式:
主/備: 單虛擬路徑器;
主/主:主/備(虛擬路徑器1) 備/主(虛擬路徑器2)
keepalived會根據配置文件優先級最高的主機會不斷向同一個組播域中的所有主機發送組播信息當前的虛擬ip地址就會被分配給那臺主機一旦最高優先級的主機不再發送組播信息,第二優先級的主機將會獲取虛擬IP地址,並向組播域內發送組播信息
配置文件介紹
global_defs {} 全局默認配置段
vrrp_instance VI_1 {} 虛擬路由器同一組服務器上可以配置多個虛擬路由
virtual_server 192.168.20.10 443{} ipvs的相關配置
vrrp_script { script a.sh} 高可用nignx或者haproxy等配置
keepalived 虛擬IP默認設置的netmask為32位
virtual_ipaddress {
172.20.103.99/16
}
默認會自動生成iptables規則 可以通過修改配置文件取消自動生成drop規則
腳本類型:
1. vrrp_script 根據執行腳本的狀態結果,來決定是否對當前節點的權重進行降級
2.notify_master notify_backup notify_fault
HA集群配置前提
1.各節點時間必須同步ntp, chrony
2.確保iptables及selinux不會成為阻礙
3.各節點之間可通過主機名互相通信,建議使用/etc/hosts文件實現
4.確保各節點的用於集群服務的接口支持MULTICAST通信 D類: 224-239
系統架構設計
keepalived基礎原理