Nginx + KeepAlived高可用负载均衡集群

目录

一、Keepealived脑裂现象

1.现象

2.原因

3.解决

4.预防

二、实验部署

1.两台nginx做初始化操作并安装nginx

2.四层反向代理配置

3.配置高可用

4.准备检查nginx运行状态脚本

5.开启keepalived服务并测试


一、Keepealived脑裂现象

1.现象

主服务器和备服务器都同时拥有相同的VIP

在"双机热备"高可用(HA)系统中,当联系两个节点的"心跳线"断开时(即两个节点断开联系时),本来为一个整体、动作协调的HA系统,就分裂成为两个独立的节点(即两个独立的个体)。由于相互失去了联系,都以为是对方出了故障,此时备用调度器会运转起来争做主调度器的工作,而主调度器依然保持着调度工作,两个调度的同时运转导致整个系统的紊乱。就会发生严重后果:共享资源被瓜分、两边"服务"都起不来或者两边"服务"都起来了,但同时读写"共享存储",导致数据损坏(常见如数据库轮询着的联机日志出错)

2.原因

因为主服务器和备服务器的通信中断,导致备服务器无法收到主服务器发送的VRRP报文,备服务器误认为主服务器已经故障了并通过ip命令生成VIP

硬件原因

高可用服务器各节点之间心跳线链路发生故障,导致无法正常通信
因心跳线坏了(包括断了,老化)
因网卡及相关驱动坏了,ip配置及冲突问题(网卡直连)
因心跳线间连接的设备故障(网卡及交换机)
因仲裁的机器出问题(采用仲裁的方案)

运用配置原因

高可用服务器上开启了iptables防火墙阻挡了心跳消息传输
高可用服务器上心跳网卡地址等信息配置不正确,导致发送心跳失败
其他服务配置不当等原因,如心跳方式不同,心跳广插冲突、软件Bug等
Keepalived配置里同一VRRP实例如果virtual_router_id两端参数配置不一致也会导致裂脑问题发生

3.解决

关闭主服务器或备服务器其中一个的keepalived服务

4.预防

方法1
如果是系统防火墙导致,则关闭防火墙或添加防火墙规则放通VRRP组播地址(224.0.0.18)的传输

方法2
如果是主备服务器之间的通信链路中断导致,则可以在主备服务器之间添加双链路通信

方法3
在主服务器使用脚本定时判断与备服务器通信链路是否中断,如果判断是主备服务器之间的链接中

断则自行关闭主服务器上的keepalived服务

方法4
利用第三方应用或监控系统检测是否发生了脑裂故障现象,如果确认发生了脑裂故障则通过第三方

应用或监控系统来关闭主服务器或备服务器其中一个的keepalived服务

二、实验部署

此实验基于以上 LVS+KeepAlived高可用负载均衡群集的部署实验为基础,将两台调度器改为

nginx服务器,其余不变

准备虚拟机

192.168.80.122(nginx服务器四层代理)

192.168.80.123(nginx服务器四层代理)

192.168.80.124(web1)

192.168.80.125(web2)

192.168.80.126(nfs共享存储)

1.两台nginx做初始化操作并安装nginx

2.四层反向代理配置

1)修改主调度器配置

stream {upstream backends {server 192.168.10.124:80;server 192.168.10.125:80;}server {listen 8080;proxy_pass backends;}
}

2)修改备调度器配置

将主调度器的nginx.conf复制过来

scp nginx.conf 192.168.10.122:'pwd'

3)浏览器测试两台nginx服务器

192.168.10.122/192.168.10.123

3.配置高可用

两台nginx服务器安装keepalived

yum install -y keepalived

4.准备检查nginx运行状态脚本

1)主服务器

#!/bin/bashif ! killall -0 nginx &> /dev/nullthensystemctl stop keepalived
fi

 修改配置文件 keepalived.conf

2)备服务器

先做备份

 将主里的复制到备里

修改配置文件 keepalived.conf

5.开启keepalived服务并测试

1)分别开启主备两台服务器keepalived

2)浏览器测试

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

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

相关文章

表面声波滤波器——叉指换能器(3)

叉指换能器(interdigital transducers,IDT) 是在压电基片表面激励和检测声表面波,从而实现电信号和声信号间的相互转换。 叉指换能器由在压电基片表面上沉积两组互相交错,周期分布的状金属条带(叉指电极)组成,每组电极和一个汇流…

【尚庭公寓SpringBoot + Vue 项目实战】后台岗位管理(十六)

【尚庭公寓SpringBoot Vue 项目实战】后台岗位管理(十六) 文章目录 【尚庭公寓SpringBoot Vue 项目实战】后台岗位管理(十六)1、业务说明2、逻辑模型介绍3、接口开发3.1、分页查询岗位信息3.2、保存或更新岗位信息3.3、根据ID删…

Unity2D游戏制作入门 | 14( 之人物实装攻击判定 )

上期链接:Unity2D游戏制作入门 | 13 ( 之人物三段攻击 )-CSDN博客 上期我们聊到给人物添加三段攻击的动画,通过建立新的图层动画当我们按下攻击按键就会自动切换进攻击的动画,如果我们连续按下攻击键,我们还可以进行好几段的攻击…

S32K3通过S32DS实现:S32K3如何将FLASH驱动放到RAM里面、RAM如何实现软件复位数据不丢失操作。

目录 1、概述 2、默认flash存放位置展示 3、通过默认的链接文件将flash放置到RAM 4、通过修改启动与链接文件将flash放在RAM 5、RAM热复位数据不丢失 1、概述 在通过RTD的SDK也好MCAL也好,始终存在一个问题,生成的代码除了看门狗模块,默认都是放在flash里面,按照正常逻…

自动统计一个学科领域中总共有多少研究者

问题:怎么知道一个学科领域中总共有多少研究者? 方法:学者的谷歌学术主页中会有对应的领域,以进化计算为例,进入一位进化计算学者的谷歌主页,然后进入标签“Evolutionary Computation”,只要知…

lombok不起作用排查

1.idea中lombok插件已安装并启用 2.idea中annotation processors已勾选 3.项目中gradle或maven已引入lombok依赖 但提示还是找不到get,set方法。 还需要启用annotationProcessor 重点是annotationProcessor的配置,没有配置这个才是问题出现的关键!&…

CSS-0_1 CSS和层叠(样式优先级、内联样式、选择器 用户代理样式)

CSS 的本质就是声明规则 ——《深入解析CSS》 文章目录 CSS层叠和优先级用户代理样式请和用户代理样式和谐相处 选择器单选择器的优先级选择器组的优先级关于选择器的其他源码顺序尽可能的选择优先级低的选择器 内联样式内联样式和JavaScript !important多个 !important 碎碎念…

【计算机毕业设计】230疫苗预约weixin小程序

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

【Linux】Jenkins Pipeline流水线详解及基于Jenkins流水线实现自动更新项目(实战)

👨‍🎓博主简介 🏅CSDN博客专家   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入&#xff01…

用这个神级提示词插件,能让你的AI绘画工具Stable diffusion提示词直接写中文!

大家好,我是设计师阿威 最近,有同学在使用AI绘画工具 Stable Diffusion的时候和我说:老师,我英文不好,能不能直接让我写中文提示词啊?最好可以直接在SD的输入框就能直接写中文,不用切换网页或者…

Git--Part4--多人协作

theme: nico 在之前的Git博客中,已经把Git本地相关的操作以及远程操作的介绍完了。如下: Git–Part1–基础操作 - 掘金 (juejin.cn)Git–Part2–分支管理 - 掘金 (juejin.cn)Git–Part3–远程操作 & 配置 & 标签管理 - 掘金 (juejin.cn) 这篇文…

vue大作业-端午节主题网站

vue大作业-端午节主题网站介绍 端午节,又称为龙舟节,是中国的传统节日之一,每年农历五月初五庆祝。这个节日不仅是纪念古代爱国诗人屈原的日子,也是家人团聚、共享美食的时刻。今天,我们非常高兴地分享一个以端午节为…

本地运行大语言模型(LLMs)

用例 像PrivateGPT、llama.cpp、Ollama、GPT4All、llamafile 等项目的流行度凸显了本地(在您自己的设备上)运行大型语言模型(LLMs)的需求。 这至少有两个重要的好处: 1.隐私:您的数据不会发送给第三方&a…

模拟 IQ 方法的知识

模拟 IQ 调制器(用于发射器)和 IQ 解调器(用于接收器)已经使用了数十年([1] 至 [3])。 近推出了新的A/D和D/A转换器,可以直接对1至4 GHz的IF进行采样;在第二、第三和第四奈奎斯特区…

1. zookeeper分布式协调者

zookeeper分布协调者 一、zookeeper介绍1、软件设计架构1.1 单体架构1.2 SOA架构/分布式1.3 微服务架构 二、zookeeper角色1、角色2、选举机制3、znode类型 三、zookeeper集群部署1、环境规划2、安装jdk3、安装配置zookeeper3.1 安装zookeeper3.2 编辑配置文件3.3 创建myid文件…

Navicat for MySQL 11软件下载及安装教程

软件简介: Navicat for SQL Server 是一套专为 SQL Server设计的全面的图形化数据库管理及开发工具,可进行创建、编辑和删除全部数据库对象,例如表、视图、函数、索引和触发器,或运行 SQL查询和脚本,查看或编辑 BLOBs…

彩色图像批处理实例

在数字图像处理过程中,经常需要对一批图像进行处理,下面以自然场景下花背景分割为例,给出其主要处理过程和处理结果。 处理的主要步骤:1. 六张彩色图像存放在flower文件夹中,图像文件名为1.jpg 2.jpg 3.jpg 4.jpg 5.j…

物联网技术-第4章物联网通信技术-4.1计算机网络

目录 1.1计算机网络拓扑与组成 (1)全连通式网络 (2)星型网 (3)环形网 (4)总线网 (5)不规则型网 1.2数据交换类型 (1)电路交换网 &…

supOS数据集成

为解决企业数据孤岛问题,supOS对外提供了天湖能力,APP应用集成到supOS后可以使用supOS的天湖,所有数据归集到天湖,利用supOS的ESB消息总线能力实现各个业务系统的服务注册,对外提供统一消息总线能力,从而解…

GD32调试篇:STLINK驱动下载安装

本文章基于兆易创新GD32 MCU所提供的2.2.4版本库函数开发 向上代码兼容GD32F450ZGT6中使用 后续项目主要在下面该专栏中发布: https://blog.csdn.net/qq_62316532/category_12608431.html?spm1001.2014.3001.5482 感兴趣的点个关注收藏一下吧! 电机驱动开发可以跳转…