keepalived vrrp 模式
feat
- 維護 vip 的高可用,可以根據特定的條件來在多個主機之間切換 vip
- 節點之間運行 vrrp 協議
- vrrp 中的事件,可以在配置文件中指定腳本來執行相應的操作
- 比如 當前節點成為 master;當前節點降為master;當前節點狀態為 FAULT 等
- keepalived 中 vrrp 可選讓節點之間的 vrrp 報文通過單播傳輸,通過以下參數控制
- global.vrrp_strict
- vrrp_instance.strict_mode
單播模式
- 相關參數
- global_defs.vrrp_strict 要求使用嚴格的 vrrp 協議,使用單播模式時,不能設置該參數
- vrrp_instance.strict_mode 啟用或者關閉 vrrp_strict;如果vrrp_strict未設置,則默認 strict_mode 為 off
- vrrp_instance.unicast_src_ip 指定 vrrp 報文的源地址
- vrrp_instance.unicast_peer 指定 vrrp 實例其他節點的目的地址,本節點將發送 vrrp 報文給這些節點
- vrrp_instance.unicast_ttl 本節點發送的 vrrp 報文的 TTL
- 單播模式下,vrrp_instance.virtual_router_id 可以配置任意1-255的值,因為其他 vrrp 實例之外的節點不會收到節點發出去的 vrrp 報文
多播模式
- 相關參數
- global_defs.vrrp_mcast_group4 設置 vrrp 實例之間通信的多播組
- global_defs.vrrp_mcast_group6 同上,ipv6版本的多播組
- 必須使用global_defs.vrrp_version=3
- vrrp_instance.interface 設置 vip 的默認網卡,如果不指定,則需要在 vrrp_instance.vitrual_ipaddress 中明確配置 vip 綁定的網卡
- vrr
- 多播模式下,vrrp_instance.virtual_router_id (取值1-255)必須在同一個二層網絡中唯一,因為 vrrp 消息會發到同一個多播組,不同的 vrrp 實例是通過 virtual_router_id (即 vrrp_id)來區分的