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 @ 2022-04-23 11:03  littlevigra  阅读(1985)  评论(0编辑  收藏  举报