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)来区分的