keepalived脑裂和haproxy

1.用keepalived管理nginx服务

在这里插入图片描述

7-1和7-2配置

#安装nginx
systemctl stop firewalld
setenforce 0
yum install  epel-release.noarch -y 
yum install  -y  nginx
systemctl start nginxvim   /etc/nginx/nginx.confupstream web  {server 192.168.91.102;server 192.168.91.103;}location /  {proxy_pass  http://web;}scp   /etc/nginx/nginx.conf    192.168.91.101:/etc/nginx/nginx.confsystemctl stop firewalld
setenforce 0
yum install  epel-release.noarch -y 
yum install  -y   nginx
systemctl start nginx#7-1和7-2安装keepalived
yum install keepalived   -y7-1
vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1      # 修改邮箱地址smtp_connect_timeout 30  router_id LVS01            # 修改名称vrrp_skip_check_adv_addr  #vrrp_strict              #关闭严格模式vrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_script check_down {script  "/etc/keepalived/ng.sh"   interval 1weight -30fall  3rise 2timeout 2
}vrrp_script check_down {script  "/etc/keepalived/ng.sh"   #指明脚本的位置   interval 1            #每隔1s 执行一次检测weight -30             #如果 脚本执行失败自动减少优先级30fall  3                # 3次不成功才标注为失败 rise 2                 #nginx  重新起来后检测两次成功 才真的成功  timeout 2               #超时时间  2s 
}vrrp_instance VI_1 {state MASTERinterface ens33    #修改网卡的名称virtual_router_id 51priority 100advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {192.168.91.188   #修改vip }track_script {check_down}}vim    /etc/keepalived/ng.sh
killall   -0    nginx
chmod +x    /etc/keepalived/ng.sh
scp  /etc/keepalived/keepalived.conf   192.168.91.101://etc/keepalived/7-2  上操作
从节点做修改   192.168.91.101/etc/keepalived/keepalived.confglobal_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1     smtp_connect_timeout 30  router_id LVS01          vrrp_skip_check_adv_addr  #vrrp_strict             vrrp_garp_interval 0vrrp_gna_interval 0
}
实验效果

在这里插入图片描述
使用tcpdump命令抓包可以看到ip地址来源与主的那台keeplived管理nginx的服务器
在这里插入图片描述
当主的那台nginx服务下线后不会影响7-3和7-4继续提供web服务
在这里插入图片描述
可以通过抓包看到看到当keepalived判断主的nginx停止服务了以后,将服务转交给了从的nginx
在这里插入图片描述

用keepalived管理haproxy提供web服务

#在haproxy的配置文件中配置代理真实服务器
listen  ky26_port_80bind 192.168.91.100:80mode httplog global server rs1  192.168.10.20:80  checkserver rs2  192.168.10.1:80  check#需要开启优化使haproxy可以监听虚拟ip
sysctl -a |grep bind
#net.ipv4.ip_nonlocal_bind = 1vim /etc/sysctl.confnet.ipv4.ip_nonlocal_bind = 1sysctl -p#修改脚本检测
vim    /etc/keepalived/ng.sh
killall   -0   haproxy
#tcpdump  -i  ens33 -nn port 80 

keepalived脑裂现象

什么是脑裂?
在高可用(HA)系统中,当联系2个节点的“心跳线”断开时,本来为一整体、动作协调的HA系统,就分裂成为2个独立的个体。

由于相互失去了联系,都以为是对方出了故障。两个节点上的HA软件像“裂脑人”一样,争抢“共享资源”、争起“应用服务”,就会发生严重后果。共享资源被瓜分、两边“服务”都起不来了或者两边“服务”都起来了,但同时读写“共享存储”,导致数据损坏

都有哪些原因导致脑裂?
1.高可用服务器对之间心跳线链路发生故障,导致无法正常通信。
2.因心跳线坏了(包括断了,老化)。
3.因网卡及相关驱动坏了,ip配置及冲突问题(网卡直连)
4.因心跳线间连接的设备故障(网卡及交换机)高可用服务器上开启了 iptables防火墙阻挡了心跳消息传输。
5.高可用服务器上心跳网卡地址等信息配置不正确,导致发送心跳失败
6.其他服务配置不当等原因,如心跳方式不同,心跳广插冲突、软件Bug等。

如何解决keepalived脑裂问题?
在实际生产环境中,我们从以下方面防止脑裂:
1.同时使用串行电缆和以太网电缆连接、同时使用两条心跳线路,这样一条线路断了,另外一条还是好的,依然能传送心跳消息

2.当检查脑裂时强行关闭一个心跳节点(这个功能需要特殊设备支持,如stonith、fence)相当于备节点接收不到心跳消息,通过单独的线路发送关机命令关闭主节点的电源

3.做好对脑裂的监控报警解决常见方案:
(1)如果开启防火墙,一定要让心跳消息通过,一般通过允许IP段的形式解决
(2)可以拉一条以太网网线或者串口线作为主被节点心跳线路的冗余
(3)开发检测程序通过监控软件检测脑裂

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

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

相关文章

笔记本电脑升级实战手册[1]:开始之前的准备与清单

文章目录 前言:一、升级流程1. 备份2. 清灰换硅脂3. 扩展内存与硬盘4. 硬盘设置5. 系统重装6. 升级后性能测试 二、升级清单1. 工具清单2. 升级清单 总结: 前言: 将要毕业之际,发现我的笔记本电脑已经陪我“征战沙场”快有四年之…

揭秘教学新利器:SmartEDA电路仿真软件,让电子学习更生动!

在数字化教育浪潮中,一款名为SmartEDA的电路仿真软件逐渐崭露头角,以其直观、易操作的特点,为电子学习领域带来了革命性的变化。今天,就让我们一起探讨如何使用SmartEDA进行教学,让电子学习变得更加生动有趣&#xff0…

Android源码——Handler机制(一)

Android源码——Handler机制(一) Handler机制概述介绍Handler机制模型Handler机制架构 Handler机制源码解析ActivityThreadLooperHandler Handler机制概述 介绍 Handler是Android消息机制的上层接口。Handler可以将一个任务切换到Handler所在的线程中去…

网络物理隔离后 可以用保密U盘进行数据安全交换吗?

企业用的保密U盘通常被设计用于存储和传输敏感信息,以确保数据的安全和保密性。 在网络之间实现了物理隔离后,使用保密U盘进行数据安全交换是一种常见的做法。物理隔离确保了两个网络之间的完全分离,因此使用保密U盘可以作为一种安全的手段来…

第1章 物联网模式简介---物联网概述

物联网模式简介 物联网(IoT)在最近几年获得了巨大的吸引力,该领域在未来几年将呈指数级增长。这一增长将跨越所有主要领域/垂直行业,包括消费者、家庭、制造业、健康、旅游和运输。这本书将为那些想了解基本物联网模式以及如何混…

【大模型】大模型微调方法总结(四)

1. P-Tuning v1 1.背景 大模型的Prompt构造方式严重影响下游任务的效果。比如:GPT-3采用人工构造的模版来做上下文学习(in context learning),但人工设计的模版的变化特别敏感,加一个词或者少一个词,或者变…

用英文介绍美国总统Trump: Donald J. Trump Twice Impeached (2017 – 2021)

Donald J. Trump: Twice Impeached (2017 – 2021) Link: https://www.youtube.com/watch?vJ7RC2DKf6rs&listPLybg94GvOJ9E-ZM1U6PAjgPUmz-V4-Yja&index45 Summary Summary of Donald Trump’s Rise and Presidency Donald John Trump, originally from Queens, Ne…

网页中如何接入高德地图【静态地图篇】

接入高德地图 登录高德开放平台创建应用添加key创建静态地图文档说明markers 网页应用总结 登录高德开放平台 高德开放平台 创建应用 点击我的应用 -> 创建应用 添加key 调相关接口都需要用到这个key! 创建静态地图 静态地图API文档 文档说明 服务地址…

ArmSoM-Sige7/5/1 和树莓派5规格比较

引言 在当今快速发展的嵌入式系统领域,选择一款性能强大、功能丰富的开发板对于项目的成功至关重要。本文将介绍并比较 Sige7、Sige5、Raspberry Pi 5 和 Sige1 这四款开发板的关键规格和特性,帮助开发者和爱好者选择最适合其需求的平台。 ArmSoM-Sige…

使用模板方法设计模式封装 socket 套接字并实现Tcp服务器和客户端 简单工厂模式设计

文章目录 使用模板方法设计模式封装套接字使用封装后的套接字实现Tcp服务器和客户端实现Tcp服务器实现Tcp客户端 工厂模式 使用模板方法设计模式封装套接字 可以使用模块方法设计模式来设计套接字 socket 的封装 模板方法(Template Method)设计模式是一…

【深度学习】深度学习基础

李宏毅深度学习笔记 局部极小值与鞍点 鞍点其实就是梯度是零且区别于局部极小值和局部极大值的点。 鞍点的叫法是因为其形状像马鞍。鞍点的梯度为零,但它不是局部极小值。我们把梯度为零的点统称为临界点(critical point)。损失没有办法再下…

Docker Desktop 简易操作指南 (Windows, macOS, Linux)

1. 下载最新版本 Docker Desktop https://www.docker.com/products/docker-desktop/ 2.启动 Docker Desktop 3.常用命令(在 cmd 或 Terminal 中执行) #列出所有镜像(Images) docker images #列出所有容器(Containers&…

CSS 核心知识点 - grid

思维导图 参考网址: https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_grid_layout 一、什么是 grid? CSS Grid布局是在CSS3规范中引入的一种新的布局方式,旨在解决传统布局方法(如浮动、定位、表格布局)存在的许多问题。C…

DataWhale-吃瓜教程学习笔记(四)

学习视频:第3章-二分类线性判别分析_哔哩哔哩_bilibili 西瓜书对应章节: 3.4 文章目录 - 算法原理- 损失函数推导-- 异类样本中心尽可能远-- 同类样本方差尽可能小-- 综合 知识点补充 - 二范数二范数(2-norm)详解定义几何意义性质…

OpenHarmony开发实战:HDF驱动开发流程

概述 HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路,让驱动开发和部署更加规范,旨在…

四川赤橙宏海商务信息咨询有限公司抖音开店靠谱吗?

在数字化浪潮席卷全球的今天,电商行业正以前所未有的速度发展。而在这个大潮中,四川赤橙宏海商务信息咨询有限公司凭借其专业的团队和前瞻性的战略眼光,专注于抖音电商服务,为广大商家提供了一站式解决方案,成为了行业…

Ubuntu20.04安装LibTorch并完成高斯溅射环境搭建

0. 简介 最近受到优刻得的使用邀请,正好解决了我在大模型和自动驾驶行业对GPU的使用需求。UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时,并附带200G的免费…

接口自动化测试-项目实战

什么是接口自动化测试:使用工具或代码代替人对接口进行测试 测试项目结构(python包) 1、接口api包 2、script:业务脚本 3、data:数据 4、config.py :配置文件 5、reporter:报告 错误问题: 1、未打印任何东西。添加pip ins…

C语言 指针——缓冲区溢出与缓冲区溢出攻击

目录 缓冲区溢出攻击 缓冲区溢出攻击实例 字符串的安全输入方法​编辑 防止缓冲区溢出的两个要点 缓冲区溢出攻击 网络黑客常针对系统和程序自身存在的漏洞,编写相应的攻击程序  对缓冲区溢出漏洞的攻击 —— 最常见  几乎占到了网络攻击次数的一半以上…

Android (已解决)Gradle 编译失败 Unsupported class file major version 61

文章目录 一、报错原因二、解决方法 一、报错原因 新版本的 Android Studio 默认使用的是 Java 17 LTS,而这个历史项目的 Gradle 版本很低,不支持高版本的 Java。 具体原因:Java 17 (major version 61) 编译的 class 文件,如果在…