keepalived推荐使用单播方式进行 VRRP 通信
1. keepalived的原理
在传统的物理网络中,可以通过 keepalived 的 VRRP 协议协商主备状态,其原理是:主设备周期性发送免费 ARP 报文刷新上联交换机的 MAC 表或终端 ARP 表,触发 VIP 迁移到主设备上。
2. 开启组播功能 打开 VPC 组播开关;同时在 keepalived 配置文件中无需配置对端设备的 IP 地址,即不配置 “unicast_peer” 参数
#单播模式需要关闭vrrp_strict,严格遵守vrrp协议这个选项
单播需要在VIP实例配置段加入单播的源地址和目标地址
[root@node1 ~]# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } } vrrp_script checkhaproxy { #script "/etc/keepalived/do_sth.sh" # 检测业务进程是否运行正常。其中“do_sth.sh”文件为用户自定义的业务进程检测脚本,请根据业务需要来执行,执行时“do_sth.sh”更换为实际的脚本名称。 script "/usr/bin/curl -s http://10.0.22.16:8008/leader -v 2>&1|grep '200 OK' >/dev/null" interval 5 } vrrp_instance VI_1 { # 注意主备参数选择 state BACKUP # 设置初始状态均为“备“ interface eth0 # 设置绑定 VIP 的网卡 例如 eth0 virtual_router_id 51 # 配置集群 virtual_router_id 值 nopreempt # 设置非抢占模式, # preempt_delay 10 # 仅 state MASTER 时生效 priority 100 # 两设备是相同值的等权重节点 advert_int 5 authentication { auth_type PASS auth_pass 1111 } unicast_src_ip 10.0.22.16 # 设置本机内网IP地址 unicast_peer { 10.0.22.6 # 对端设备的 IP 地址 10.0.22.17 } virtual_ipaddress { 10.0.22.144 # 设置高可用虚拟 VIP } garp_master_delay 1 # 设置当切为主状态后多久更新 ARP 缓存 garp_master_refresh 5 # 设置主节点发送 ARP 报文的时间间隔 track_interface { eth0 # 使用绑定 VIP 的网卡 例如 eth0 } track_script { checkhaproxy } } [root@node1 ~]#
参考:keepalived 单播模式_Masuri的技术博客_51CTO博客
私有网络 用 HAVIP+Keepalived 搭建高可用主备集群 - 最佳实践 - 文档中心 - 腾讯云 (tencent.com)
用一个例子来演示会更加清晰
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2018-04-23 解决yum安装 openssl-devel时产生的Multilib version problems found错误(转)