centos 7 防止及解决keepalive脑裂现象(主备均有vip)

背景

最近在两台centos7机器上部署了keepalived主备,但两台机器都有同一个VIP。

|--------|-------------|----------|-------------|
| 角色 | IP | 操作系统 | VIP |
| MASTER | 10.16.25.22 | centos7 | 10.16.25.20 |
| BACKUP | 10.16.25.24 | centos7 | 10.16.25.20 |

关于ARP信息介绍:

ARP表是一个动态表,存储在计算机当中,目的是做一个ip地址与mac地址的对应。

假设在同一子网段,计算机A与计算机B通信

计算机A的ip地址: 192.168.0.11 MAC地址AA-AA-AA-AA-AA-AA

计算机B的ip地址: 已知192.168.0.12 MAC地址未知

那么计算机A就要发起一个ARP查询,"谁能告诉我,192.168.0.12的MAC地址是多少?"

很显然通过交换机的时候,交换机并不能看懂ip地址,所以要广播这个信息,就把这个查询信息发到除发送端的其它所有端口。(当然,交换机还要记住192.168.0.11主机的mac地址)

其它所有的计算机看到这个广播发现目的ip不是自己,就把这个数据丢弃,只有192..168.0.12的计算机B会响应,并发送回执,告诉计算机A,"我是192.168.0.12,我的MAC地址是AA-AA-AA-AA-AA-AB"当通过交换机,交换机记住从计算机B端口过来的MAC地址,并通过已知的A计算机MAC地址,发动到连接计算机A的端口。(此时不再广播)计算机A与计算机B都知道对方的ip和MAC地址,开始通信。

服务器网络环境中,因为路由交换层禁用了ARP的广播限制,造成KEEPALIVE主备协议无法通过广播的方式进行通信,造成主备两台服务器都强占HAVIP地址,出现同时两台服务器都有VIP地址的情况出现,必须通过配置来指定IP的两台服务器间进行通讯。

解决方案

一 防火墙设置:

a) firewalld 开启vrrp 协议(2台机器都执行)

bash 复制代码
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface ens192 --destination 10.16.25.20 --protocol vrrp -j ACCEPT

firewall-cmd --reload

b)iptables

bash 复制代码
#MASTER
iptables -A INPUT -i ens192 -p vrrp -s 10.16.25.24  -j ACCEPT 
#BACKUP
iptables -A INPUT -i ens192 -p vrrp -s 10.16.25.22 -j ACCEPT

二 keepalived 来指定IP的两台服务器间进行通讯

MASTER添加配置如下:

bash 复制代码
priority 100
unicast_src_ip  10.16.25.22
unicast_peer {
  10.16.25.24
  }

BACKUP添加配置如下:

bash 复制代码
priority 90
unicast_src_ip  10.16.25.24
unicast_peer {
  10.16.25.22
  }
相关推荐
大耳朵-小飞象3 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技3 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
二宝哥5 小时前
CentOS 7.9 系统下 Redis 5.0.4 单机安装与源码编译安装指南
redis·centos
生活爱好者!6 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
尽兴-8 小时前
企业业务系统架构选型与渐进式演进
运维·系统架构·devops
通信小小昕8 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
壮哥_icon8 小时前
【Android 系统开发】使用 BAT 脚本高效自动化管理 /system/priv-app/ 系统应用(安装与卸载)
android·运维·自动化
RD_daoyi9 小时前
外链权重暴跌至13%,品牌提及反超传统链接——2026年不做Digital PR,你的独立站等于隐形
运维·网络·学习·机器学习·搜索引擎
电商API_180079052479 小时前
企业ERP进销存场景|京东商品详情接口自动同步方案|凭证鉴权批量调用技术实操
大数据·运维·人工智能·爬虫·数据挖掘·网络爬虫
张小姐的猫9 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式