Keepalived时主备负载均衡器都有VIP的问题:VRRP协议问题

文章目录

          • 一、企业案例背景
          • 二、异常现象
          • 三、分析结论+解决思路
            • 3.1. 分析结论
            • 3.2. 解决思路
          • 四、SElinux 处理
            • 4.1. 查看SElinux的状态:
            • 4.2. 关闭SElinux
          • 五、Firewalld防火墙配置
            • 5.1. 开启vrrp 协议
            • 5.2. 重新启动防火墙
            • 5.3. 查看启动日志
            • 5.4. 虚拟ip验证
            • 5.5. 停止master节点的keepalived
          • 六、Iptables防火墙配置
            • 6.1. 配置增加一条防火墙规则
            • 6.2. 防火墙规则注意事项

一、企业案例背景

搭建了keepalived 主备集群,master节点权重100,slave节点权重是80,按照评测的话,master和slave节点都启动keepalived服务后,虚拟vip正常应该在master节点,slave节点不显示虚拟vip;当master节点的keepalived服务宕机后,虚拟vip会漂移到slave节点上,继续提供keepalived服务后服务。

二、异常现象

但是master和slave节点都出现了虚拟vip,这种现象和咱们预估的结果不一样。但是关闭防火墙后和咱们预估的结果一样,说明和防火墙有关。

三、分析结论+解决思路
3.1. 分析结论

通过不停的查找问题,我发现,只需要关闭备用负载均衡器的防火墙,那么主备服务器都有VIP的情况就会得以解决。由此可以肯定,问题就是出现在了防火墙这里。
首先用tcpdump查看一下vrrp的组播情况,这个随便在同网络的任意一台服务器抓包即可:

tcpdump -i ens33 vrrp -n 

查看下抓包的结果:
在这里插入图片描述

由上图可以看到,192.168.0.114和192.168.0.112两个IP在轮流发送组播信号。而正常的应该是由MASTER服务器发送组播,如果BACKUP收不到MASTER的组播信号了,那么判定MASTER宕机了,BACKUP就会接手VIP。

3.2. 解决思路

如果关闭防火墙,keepalived问题解决了,那么问题就简单了,我们只需要让VRRP组播其通过防火墙即可。

四、SElinux 处理
4.1. 查看SElinux的状态:
getenforce

可能的结果有三个:

Enforcing         #强制开启Permissive        #宽容模式Disabled          #关闭
4.2. 关闭SElinux
#编辑config
sudo vim /etc/selinux/config
#2.把下面2行注释掉
#SELINUX=enforcing 
#SELINUXTYPE=targeted
#3.添加一行配置
SELINUX=disabled 
:wq!  #保存退出
setenforce 0 #使配置立即生效
五、Firewalld防火墙配置

centos 防火墙有两种管理方式firewall, iptables两者不能同时开启
适用于centos7.x系统

5.1. 开启vrrp 协议

主备都运行下面的命令

sudo firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0  --protocol vrrp -j ACCEPT
5.2. 重新启动防火墙
firewall-cmd --reload
5.3. 查看启动日志

master节点
在这里插入图片描述
slave节点
在这里插入图片描述
从上面截图中可以看出,由于 with higher priority 100, ours 80很明显114权重比112的权重大,虚拟vip在192.168.0.114上。

5.4. 虚拟ip验证

master节点
在这里插入图片描述
slave节点
在这里插入图片描述

5.5. 停止master节点的keepalived

master节点
在这里插入图片描述
slave节点
在这里插入图片描述

六、Iptables防火墙配置

适用于centos6.x系统
我们只需要在防火墙中增加一条规则即可:

6.1. 配置增加一条防火墙规则
-A INPUT -p vrrp -j ACCEPT
6.2. 防火墙规则注意事项

但是这里有个坑,默认的防火墙中基本是如下配置:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

添加规则一定不要在

-A INPUT -j REJECT --reject-with icmp-host-prohibited

之后,一定要加在其前面。
在这里插入图片描述
这时候重启防火墙后查看BACKUP的ip,就会发现VIP已经不在了。
再关闭一下MASTER的keepalived,并打开BACKUP的日志,就可以看到正确的内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/520243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据不足,如何进行迁移学习?

现在,人工智能的发展处于跳跃式阶段,我们也对AI在大型数据集的应用进展感到吃惊。更重要的是,那些我们没有跟踪的数十亿张照片或餐厅的评论并没有被遗漏掉:迁移学习技术让收集数据变得更加“容易”。另外,得益于PyTorc…

MongoDB+阿里云 最新数据库独家上线!

近日,开源数据库厂商MongoDB与阿里云在北京达成战略合作,作为合作的第一步,最新版MongoDB 4.2数据库产品正式上线阿里云平台。 目前阿里云成为全球唯一可提供最新版MongoDB服务的云厂商,双方合作打通了企业在云上使用最新版开源数…

一天超2000次,阿里如何打响音视频超时空战役?

在阿里,音视频会议已经成为跨地区沟通、开会以及招聘的首选方式。据悉,目前阿里巴巴的办公网络与音视频会议已经覆盖全球33个国家和地区,其中,音视频会议在过去3个月平均每天召开超过2000余场。在使用如此频繁、覆盖面如此之广的音…

java pppoe_PPPoE拨号流程

PPP会话的建立,需要两端的设备都发送LCP数据包来配置和测试数据通信链路。用户主机与接入集中器根据在发现阶段所协商的PPP会话连接参数进行PPP会话。一旦PPPoE会话开始,PPP数据就可以以任何其他的PPP封装形式发送。所有的以太网帧都是单播的。PPPoE会话…

Flutter路由管理代码这么长长长长长,阿里工程师怎么高效解决?(实用)

背景: 在flutter的业务开发过程中,flutter侧会逐渐丰富自己的路由管理。一个轻量的路由管理本质上是页面标识(或页面路径)与页面实例的映射。本文基于dart注解提供了一个轻量路由管理方案。 不论是在native与flutter的混合工程&…

用PyTorch创建一个图像分类器?So easy!(Part 1)

经过了几个月的学习和实践,我完成了优达学城网站上《Python Programming with Python Nanodegree》课程的学习,该课程的终极项目就是使用Pytorch为102种不同类型的花创建一个图像分类器。 在完成这个项目的过程中,我和其他学员一样&#xff…

阿里上市,四大洲8个国家的十位代表敲锣;全球首款支持5G双卡双待的芯片发布;撕裂者3990X:桌面史上第一次64核128线程……...

关注并标星星CSDN云计算速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周两次,打卡即read更快、更全了解泛云圈精彩newsgo go govivo X30新细节曝光:搭载潜望式超远摄支…

支付宝客户端架构分析:自动化日志收集及分析

小蚂蚁说: 《支付宝客户端架构解析》系列将从支付宝客户端的架构设计方案入手,细分拆解客户端在“容器化框架设计”、“网络优化”、“性能启动优化”、“自动化日志收集”、“RPC 组件设计”、“移动应用监控、诊断、定位”等具体实现,带领…

在Kubernetes上运行区块链服务(BaaS)

本文是在2018年11月15日由Linux基金会CNCF主办的KubeCon & CloudNativeCon China 2018大会的“Running Blockchain as a Service (BaaS) on Kubernetes”演讲内容基础上整理而成,从技术上介绍了阿里云如何将基于区块链Hyperledger Fabric的BaaS和容器集群技术Ku…

RabbitMQ 镜像集群之同步策略_专栏讲解

文章目录一、 基础知识汲取1.1. 镜像集群简述1.2. 策略参数说明1.3. 策略案例二、HA mode 同步方式2.1. 参数说明2.2. 案例2.3. 命令终端形式2.4. MQ管控台设置2.5. 队列同步2.5. 优缺点三、Ha async mode 同步方式(推荐使用)3.1. 参数说明3.2. 案例3.3.…

bug要改一天?

大家应该都听过下面的一个段子~女生:亲爱的,我来亲戚了男生:多喝热水......女生:我好像要感冒了,亲爱的~男生:多喝热水......女生:我现在好难受哦,快撑不下去了男生:多喝…

新手也能看懂,消息队列其实很简单

本文内容思维导图: 消息队列其实很简单 “RabbitMQ?”“Kafka?”“RocketMQ?”...在日常学习与开发过程中,我们常常听到消息队列这个关键词。我也在我的多篇文章中提到了这个概念。可能你是熟练使用消息队列的老手&am…

如何去设计前端框架能力?星巴克消息开放项目从0到1,从点到面的思考

本文由淘宝前端工程师罗嗣分享,主要讲述了作者在星巴克消息开放项目中的总结和思考,希望对大家有帮助,让业务分享更加有价值。 从满足星巴克项目需求单点出发,发散到从点到面的思考。从而总结了自己思考的基本流程(方法…

如何在springboot中使用PageHelper分页插件

文章目录1. pom依赖2. yml3. 实体类4. mapper映射文件4. mapper接口5. service接口6. 实现类7. controller8. 浏览器验证使用思路: 1.引入myabtis和pagehelper依赖 2.yml中配置mybatis扫描和实体类 3. 这2行代码 pageNum:当前第几页 pageNum:…

6.6折票仅剩3天 | BDTC 2019全日程公布,哪些是你感兴趣的话题?

2019年12月5-7日,由中国计算机学会主办,CCF 大数据专家委员会承办,CSDN、中科天玑数据科技股份有限公司协办的中国大数据技术大会(BDTC 2019)将于北京长城饭店隆重举行。届时,超过百位顶尖技术专家将齐聚于…

java线程条件变量_使用条件变量(多线程笔记)

条件变量属性:使用条件变量可以以原子方式阻塞线程,知道某个特定条件为真为止。条件变量始终与互斥锁一起使用。使用条件变量,线程可以以原子方式阻塞,知道满足某个条件为止。对掉件的测试时在互斥锁的保护下进行的。如果条件为假…

用PyTorch创建一个图像分类器?So easy!(Part 2)

在第一部分中,我们知道了为什么以及如何加载预先训练好的神经网络,我们可以用自己的分类器代替已有神经网络的分类器。那么,在这篇文章中,我们将学习如何训练分类器。 训练分类器 首先,我们需要为分类器提供待分类的…

涨姿势,一个通信项目从开始到结束,原来还包括这些工作

戳蓝字“CSDN云计算”关注我们哦!作者 | 小枣君责编 | 阿秃本月12日,中国移动31个省的通信工程设计与可行性研究集采正式启动。这次集采规模庞大,涵盖了无线网(5G、FDD、NB等)、核心网、承载网、支撑网等专业方向,预估基本规模超4…

听说支付宝有一个“疯起来连自己都打”的项目

小蚂蚁说: 自古红蓝出CP,在蚂蚁金服就有这样两支“相爱相杀”的队伍——红军和蓝军。蓝军是进攻方,主要职责是挖掘系统的弱点并发起“真实”的攻击,俗称“找茬”;红军则是防守方,其防控体系建设中的实时核…

蚂蚁金服红蓝军技术攻防演练究竟有多“狠”

如果一个技术团队不干别的,专门“搞破坏”,这是一种怎样的存在?这真的不是“天方夜谭”,在支付宝确实有这么一支队伍——技术蓝军。蓝军的任务就是不断地攻击和进攻,而防守方则是技术红军。在支付宝,蓝军从…