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)

posted @   littlevigra  阅读(2530)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 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错误(转)
点击右上角即可分享
微信分享提示