LVS-DR+Keepalived 高可用群集部署
LVS-DR+Keepalived 高可用群集部署
- Keepalived 的工作原理
- LVS+Keepalived 高可用群集部署
- 配置负载调度器(主、备相同)
- 关闭防火墙和核心防护及准备IPVS模块
- 配置keeplived(主、备DR 服务器上都要设置)
- 启动 ipvsadm 服务
- 调整 proc 响应参数,关闭Linux 内核的重定向参数响应
- 配置节点服务器
- 测试验证
Keepalived 的工作原理
Keepalived 是一个基于 VRRP 协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。
在一个LVS服务集群中通常有两种角色的负载调度器,主负载调度器(MASTER)和备份负载调度器(BACKUP),但是对外表现为一个虚拟 IP(VIP)。
主负载调度器会发送VRRP通告信息给备份负载调度器,当主负载调度器异常时,备份负载调度器收不到主负载调度器发送的 VRRP 消息,即认定主负载调度器异常,备份负载调度器就会接管虚拟IP,继续提供服务,从而保证了服务的高可用性。
Keepalived 体系主要模块及其功能:
keepalived 体系架构中主要有三个模块,分别是 core、check 和 vrrp 。
| 模块 | 功能 |
|---|---|
| core模块 | 为keepalived的核心,负责主进程的启动、维护及全局配置文件的加载和解析。 |
| vrrp模块 | 是用来实现VRRP协议的。(调度器之间的健康检查和主备切换) |
| check模块 | 负责健康检查,常见的方式有端口检查及URL 检查。(节点服务器的健康检查) |
keepalived的工作模式:
抢占模式:keepalived 的默认模式,MASTER节点从故障中恢复后,会将 VIP 从 BACKUP 节点中抢占过来
非抢占模式:MASTER 节点恢复后不抢占VIP。(主备节点的 state 都配置为 BACKUP ,且都要添加 nopreempt 配置)
LVS+Keepalived 高可用群集部署
| 服务器 | IP |
|---|---|
| 主DR 服务器 | 192.168.110.70 |
| 备DR 服务器 | 192.168.110.20 |
| Web 服务器1 | 192.168.110.50 |
| Web 服务器2 | 192.168.110.60 |
| vip | 192.168.110.88 |

配置负载调度器(主、备相同)
关闭防火墙和核心防护及准备IPVS模块
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
#加载IP虚拟服务器(IPVS)模块
modprobe ip_vs
#检查IPVS的状态
cat /proc/net/ip_vs
#安装IPVS管理工具
yum -y install ipvsadm
配置keeplived(主、备DR 服务器上都要设置)
#下载
yum -y install keepalived
cd /etc/keepalived/
#备份
cp keepalived.conf keepalived.conf.bakvim keepalived.conf
global_defs { #定义全局参数
#10行,修改邮件服务指向本地smtp_server 127.0.0.1
#12行,修改指定服务器(路由器)的名称,主备服务器名称须不同,主为LVS_01,备为LVS_02router_id LVS_01
#14行,注释掉,取消严格遵守VRRP协议功能,否则VIP无法被连接#vrrp_strict
}vrrp_instance VI_1 { #定义VRRP热备实例参数
#20行,修改指定热备状态,主为MASTER,备为BACKUPstate MASTER
#21行,修改指定承载vip地址的物理接口interface ens33
#22行,修改指定虚拟路由器的ID号,每个热备组保持一致 virtual_router_id 10#nopreempt #如果设置非抢占模式,两个节点state必须为BACKUP,并加上配置 nopreempt
#23行,修改指定优先级,数值越大优先级越高,这里设置主为100,备为90priority 100
#通告间隔秒数(心跳频率)advert_int 1 authentication { #定义认证信息,每个热备组保持一致
#认证类型 auth_type PASS
#27行,修改指定验证密码,主备服务器保持一致auth_pass abc123}virtual_ipaddress { #指定群集vip地址192.168.110.88}
}
#36行(注意删减,行数为原文件行数),修改指定虚拟服务器地址(VIP)、端口,定义虚拟服务器和Web服务器池参数
virtual_server 192.168.110.88 80 {
#健康检查的间隔时间(秒)delay_loop 6
#指定调度算法,轮询(rr) lb_algo rr
#39行,修改指定群集工作模式,直接路由(DR)lb_kind DR
#连接保持时间(秒)persistence_timeout 0
#应用服务采用的是 TCP协议protocol TCP
#43行,修改指定第一个Web节点的地址、端口real_server 192.168.110.50 80 {
#节点的权重weight 1
#45行,删除,添加以下健康检查方式 TCP_CHECK {
#添加检查的目标端口connect_port 80
#添加连接超时(秒) connect_timeout 3
#添加重试次数nb_get_retry 3
#添加重试间隔delay_before_retry 3 }}real_server 192.168.110.60 80 { #添加第二个 Web节点的地址、端口weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}
##删除后面多余的配置##
}#启动keepalived
systemctl start keepalived
#查看IP
ip a show ens33


启动 ipvsadm 服务
192.168.110.70
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadmipvsadm -C
ipvsadm -A -t 192.168.110.88:80 -s rr
ipvsadm -a -t 192.168.110.88:80 -r 192.168.110.50:80 -g
ipvsadm -a -t 192.168.110.88:80 -r 192.168.110.60:80 -g
ipvsadmipvsadm -ln
#如没有VIP 的分发策略,则重启 keepalived 服务
systemctl restart keepalived192.168.110.80
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadmipvsadm -C
ipvsadm -A -t 192.168.110.88:80 -s rr
ipvsadm -a -t 192.168.110.88:80 -r 192.168.110.50:80 -g
ipvsadm -a -t 192.168.110.88:80 -r 192.168.110.60:80 -g
ipvsadmipvsadm -ln


调整 proc 响应参数,关闭Linux 内核的重定向参数响应
vim /etc/sysctl.confnet.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.ens33.send_redirects = 0#加载配置
sysctl -p
配置节点服务器
参考
https://blog.csdn.net/m0_67475830/article/details/142751772?fromshare=blogdetail&sharetype=blogdetail&sharerId=142751772&sharerefer=PC&sharesource=m0_67475830&sharefrom=from_link
测试验证
curl 192.168.110.88

关闭主负载均衡器的Keepalived
systemctl stop keepalived
#客户机
curl 192.168.110.88
#主负载均衡器
ip a show ens33
#备负载均衡器
ip a show ens33



相关文章:
LVS-DR+Keepalived 高可用群集部署
LVS-DRKeepalived 高可用群集部署 Keepalived 的工作原理LVSKeepalived 高可用群集部署配置负载调度器(主、备相同)关闭防火墙和核心防护及准备IPVS模块配置keeplived(主、备DR 服务器上都要设置)启动 ipvsadm 服务调整 proc 响应…...
【elasticsearch】安装和启动
启动 Elasticsearch 并验证其是否成功运行通常涉及以下步骤: 下载和安装 Elasticsearch: 访问 Elasticsearch 官方网站下载页面:https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html根据你的操作系…...
Golang 逃逸分析(Escape Analysis)理解与实践篇
Golang 逃逸分析(Escape Analysis)理解与实践篇 文章目录 1.逃逸分析2.相关知识(栈、堆、GC分析)3.逃逸分析综合-实践 demo 逃逸分析(Escape Analysis)是编译器在编译期进行的一项优化技术,是Gl…...
React入门 9:React Router
1. 什么是路由 路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。 以上是中文维基百科对路由的解释。通俗的来讲,把一个地方的信息传输到他想去的目的地的过程,就叫路由。 2. 用代码解释路由 需求:…...
MATLAB基础应用精讲-【数模应用】Bland-Altman图(附python和R语言代码实现)
目录 前言 几个高频面试题目 Bland-altman图:如何改变y轴 算法原理 Bland-Altman一致性分析 一致性界限 1. 背景介绍 2. Bland-Altman 法 3. batplot 命令介绍 4. 应用实例 Prism GraphPad实现Bland-Altman图 1.输入数据 2.从数据表中选择Bland-Altman分析 3.检…...
ARM/Linux嵌入式面经(四一):中兴面经
1. 请介绍一下您在嵌入式系统开发中的项目经验。 在嵌入式系统开发领域,我积累了丰富的项目经验,这些经验不仅锻炼了我的技术能力,也让我对嵌入式系统的设计和实现有了更深入的理解。以下是我参与的一个具有代表性的嵌入式系统开发项目的详细介绍: 项目背景 该项目是为一…...
鸿蒙虚拟运行环境
加一个环境变量:%SystemRoot%\System32\Wbem pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt for /f %%i in (findstr /i . hyper-v.txt 2^>nul) do dism /online /norestart /add-package:"%SystemRoot%…...
SpringCloud-Consul
为什么引入 Consul 简介以及安装 控制台 localhost:8500 服务注册与发现 服务端 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId><exclusions><exclusio…...
nginx搭建负载均衡
准备工作 两台虚拟机,或者本地启动两个相同应用,在不同的端口上安装好的nginx,在linux上两个版本的hexo,或者其他应用,方便观察是否进行了负载均衡 启动服务 在两台虚拟机上启动项目,这里以hexo为例 服务器…...
灵当CRM data/pdf.php 任意文件读取漏洞复现
0x01 产品简介 灵当CRM是一款专为中小企业打造的智能客户关系管理工具,由上海灵当信息科技有限公司开发并运营。广泛应用于金融、教育、医疗、IT服务、房地产等多个行业领域,帮助企业实现客户个性化管理需求,提升企业竞争力。无论是新客户开拓、老客户维护,还是销售过程管…...
Python 批量转换 Shapefile 为 GeoJSON
批量转换 Shapefile (.shp) 为 GeoJSON 文件的脚本详解 🗺️🔄 在地理信息系统(GIS)和遥感领域,Shapefile(.shp)格式与GeoJSON格式是两种常用的数据格式。Shapefile 作为矢量数据的标准格式之一…...
软考《信息系统运行管理员》- 4.1信息系统软件运维概述
4.1信息系统软件运维概述 文章目录 4.1信息系统软件运维概述信息系统软件运维的概念信息系统软件的可维护性及维护类型对软件可维护性的度量可以从以下几个方面进行:软件维护分类: 信息系统软件运维的体系1.**需求驱动**2.**运维流程**3.**运维过程**4.*…...
Leetcode 3319. K-th Largest Perfect Subtree Size in Binary Tree
Leetcode 3319. K-th Largest Perfect Subtree Size in Binary Tree 1. 解题思路2. 代码实现 题目链接:3319. K-th Largest Perfect Subtree Size in Binary Tree 1. 解题思路 这一题其实就是一个很常见的树的遍历,我们自底向上遍历每一个子树&#x…...
从秒级到小时级:TikTok等发布首篇面向长视频理解的多模态大语言模型全面综述
文章链接:https://arxiv.org/pdf/2409.18938 亮点直击 追踪并总结从图像理解到长视频理解的MM-LLMs的进展;回顾了各种视觉理解任务之间的差异,并强调了长视频理解中的挑战,包括更细粒度的时空细节、动态事件和长期依赖性;详细总结了MM-LLMs在…...
【CTF】敏感信息泄露 GIT SVN VIM
在CTF(Capture The Flag)比赛中,信息泄露是常见的考察方向之一。这类题目通过模拟开发人员的疏忽或系统配置的失误,导致敏感文件或数据被泄露。信息泄露题目通常相对简单,但能帮助参赛者掌握如何从公开的信息中获取潜在…...
EMQX服务器的搭建,实现本地机和虚拟机之间的MQTT通信(详细教程)
前言 MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。 MQTT协议中有三种身份:发布者(Publish)、代理(Broker)(…...
cordova的使用
环境 Cordova 是一个跨平台的开发框架,它允许开发者使用 HTML、CSS 和 JavaScript 创建移动应用。Cordova 的不同版本可能会有不同的环境要求。以下是 Cordova 10 和 Cordova 12 在开发 Android 和 iOS 应用时的环境要求的对比总结。 1. Cordova 10 环境要求 And…...
三种Transformer模型中的注意力机制介绍及Pytorch实现:从自注意力到因果自注意力
本文深入探讨Transformer模型中三种关键的注意力机制:自注意力、交叉注意力和因果自注意力。这些机制是GPT-4、Llama等大型语言模型(LLMs)的核心组件。通过理解这些注意力机制,我们可以更好地把握这些模型的工作原理和应用潜力。 …...
《使用Gin框架构建分布式应用》阅读笔记:p20-p31
《用Gin框架构建分布式应用》学习第2天,p20-p31总结,总计12页。 一、技术总结 1.第一个gin程序 // main.go package mainimport "github.com/gin-gonic/gin"func main() {r : gin.Default()r.GET("/", func(c *gin.Context) {c.J…...
如何修改MacOS的终端的配色和linux一样
目录 一、配色方案 二、修改配色 一、配色方案 一键更改MacOS的终端配色文件,目的就是为了让他从原本的样子变成XShell里面显示的配色样式。文件夹为蓝色,链接文件为青色,可执行文件为绿色之类的。 linux默认配色方案是"exfxcxdxbxege…...
string字符串基础相关知识
课程要求1.string的三种创建方式2.string常用方法空格处理,空值判断,替换操作,字符串截取,字符串拆分,字符索引访问拼接与性能,删除操作3.理解 string 不可变性,能在循环拼接场景中使用 StringB…...
不换硬件,速度翻倍:本地 LLM 推理加速实战
同一块 RTX 3090,同一个 70B 模型,推理速度从 30 t/s 提升到 160 t/s,并且不花一分钱。作者 Amar Chetri 博士在这篇文章中介绍了三种纯软件优化技术:speculative decoding、multi-token prediction 和自动化超参数调优࿰…...
C#频谱图振动传感器温度传感器数据采集绘制频谱图和时域图,并存储数据库存储时间200ms左右
C#频谱图振动传感器温度传感器数据采集绘制频谱图和时域图,并存储数据库存储时间200ms左右,可以进行历史频谱图和时域图回放,可以求的最大值并设置阈值报警可以导出报警最近在搞工业设备监控系统的时候,需要实时采集振动和温度数据…...
重构直播互动体验:BLiveChat的跨平台弹幕解决方案
重构直播互动体验:BLiveChat的跨平台弹幕解决方案 【免费下载链接】blivechat 用于OBS的仿YouTube风格的bilibili直播评论栏 项目地址: https://gitcode.com/gh_mirrors/bl/blivechat BLiveChat作为一款开源的B站直播弹幕工具,通过仿YouTube风格的…...
CloudScraper 配置优化:如何提升采集效率与稳定性
在合规采集场景中,不少用户在使用CloudScraper时,频繁出现请求卡顿、采集中断等问题。 本篇文章,LokiProxy将为您系统梳理影响CloudScraper运行效率的关键环节,并结合实际场景提出可行的优化思路,助力用户在合规框架内…...
用过才敢说 AI论文平台测评:2026年最值得尝试的几款工具
2026年真正好用的AI论文平台,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…...
VOOHU沃虎xJLSemi景略:智造时代通信基石-以太网接口PHY芯片
随着智能制造和工业物联网的高速发展,工业通信正朝着高速化、智能化的方向迈进。工业自动化设备需要实时、高效地传输大量数据,以实现精准控制和协同作业。 工业以太网现场总线凭借其高速率、高可靠性、兼容性强等优势成为工业通信的主流选择࿰…...
利用快马平台快速构建免费节点测试工具原型,十分钟完成开发
今天想和大家分享一个快速验证免费节点可用性的小工具开发过程。作为一个经常需要测试代理节点的开发者,手动一个个验证实在太费时间,于是我用InsCode(快马)平台快速搭建了一个原型工具,整个过程比想象中简单很多。 需求分析 免费节点测试工具…...
隐私保护方案:OpenClaw+GLM-4.7-Flash本地化处理敏感数据
隐私保护方案:OpenClawGLM-4.7-Flash本地化处理敏感数据 1. 为什么需要本地化处理敏感数据? 去年我帮一位做财务咨询的朋友处理季度报表时,遇到了一个棘手问题。他需要分析上百份包含客户银行流水、身份证号等信息的Excel文件,但…...
Windows任务栏透明化技术解析:TranslucentTB架构设计与优化实践
Windows任务栏透明化技术解析:TranslucentTB架构设计与优化实践 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB TranslucentT…...
