Keepalived 高可用群集

news2025/2/4 4:51:25

目录

一、Keepalived概述

二、一个台格的集群应该具备的特性

三、Keepalived实现原理剖析

四、LVS+Keepalived高可用部署

1、配置负载调度器

2、配置节点服务器

3、浏览器测试

五、keepalived的抢占与非抢占模式

六、keepalived的脑裂故障

七、Nginx+Keepalived高可用部署

1、配置nginx负载调度器

2、准备Keepalived


一、Keepalived概述

企业应用中,单台服务器承担应用存在单点故障的危险,单点故障一旦发生,企业服务将发生中断,造成极大的危害。

Keepalived工具是专为LVS和HA设计的一款健康检查工具(通用性很广,可以不止对lvs进行高可用,还能支持nginx、HAProXY等应用程序)。

Keepalived支持:

  • 支持故障自动切换
  • 支持节点健康状态检查(判断 LVS 负载调度器、节点服务器的可用性,当 master 主机出现故障及时切换到backup 节点保证业务正常,当 master故障主机恢复后将其重新加入群集并且业务重新切换回 master 节点。)

二、一个台格的集群应该具备的特性

  • 负载均衡:提高系统响应效率,处理更多的访问请求,减少响应延迟,实现高并发、高负载的能力(LVS 、Nginx 、HAProxy 、F5)
  • 健康检查(探针):1、发送心跳消息ping/pong          2、TCP端口检查(向目标主机的IP:port发起tcp连接请求,如果tcp的三次握手成功则认为健康检查探测成功,否则认为健康检查探测失败)        3、HTTP URL检查(向目标主机的http://IP:PORT/URL路劲发送HTTP GET请求,如果响应返回状态码是2XX 3XX则健康检查探测成功,如果响应返回状态码是4XX 5XX则健康检查探测失败)
  •  故障转移:通过VIP漂移实现主备切换

三、Keepalived实现原理剖析

Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能,VRRP(虚拟路由元余协议) 是针对路由器的一种备份解决方案。

  • 由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务
  • 每个热备组内同时只有一台主路由器提供服务,其他路由器处于几余状态
  • 若当前在线的路由器失效,则其他路由器会根据设置的优先级自动接替虚拟IP地址,继续提供服务

四、LVS+Keepalived高可用部署

环境:

负载调度器1:192.168.130.20

负载调度器2:192.168.130.30

节点服务器1:192.168.130.40

节点服务器2:192.168.130.50

1、配置负载调度器

①关闭防火墙和安全机制

②使用本地yum安装keepalived程序

 yum -y install keepalived

③备份配置文件,并修改原配置文件

cd  /etc/keepalived/

cp  keepalived.conf keepalived.conf.bak        #备份配置文件

vim  keepalived.conf

主服务器:

备服务器:

systemctl restart keepalived

④配置ipvsadm

yum -y install ipvsadm

ipvsadm-save > /etc/sysconfig/ipvsadm

systemctl enable --now ipvsadm

systemctl  start keepalived

ipvsadm -ln    #此时便会自动生成策略

2、配置节点服务器

①关闭防火墙和安全机制

②安装nginx

③前往nginx网页文件路径下,准备两个节点服务器的网页文件vim

systemctl start nginx

④准备内核参数

vim /etc/sysctl.conf

sysctl -p

⑤设置lo网卡

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-lo:0

vim ifcfg-lo:0

⑥添加路由(将访问VIP的数据报文限制在本地,避免通信紊乱)

3、浏览器测试

五、keepalived的抢占与非抢占模式

抢占模式即MASTER从故障中恢复后,会将VIP从BACKUP节点中抢占过来。非抢占模式即MASTER恢复后不抢占BACKUP升级为MASTER后的VIP。

非抢占式俩节点state必须为bakcup,且必须配置nopreempt。

注意:这样配置后,我们要注意启动服务的顺序,优先启动的获取master权限,与优先级没有关系了。

①systemctl stop keepalived.service  

② vim /etc/keepalived/keepalived.conf

③启动keepalived时要注意,两台负载调度器先启动keepalived的就是主,后启动keepalived就成为备。

六、keepalived的脑裂故障

现象:主服务器和备服务器同时拥有VIP地址,主和备都认为自己是MASTER,都会通过ip 命令生成VIP地址。

原因:因为主服务器和备服务器之间的通信链路中断,导致备服务器无法收到主服务器发送的VRRP通告消息,备服务器误认为主服务器故障了并通过命令生成VIP

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

预防:(1)主服务器和备服务器之间添加双链路通信

           (2)在主服务器上添加脚本进行判断与备服务器通信链路是否中断,如果确实是链路中断则自行关闭keepalived服务

           (3)利用第三方应用或监控系统检测是否发生脑裂故障,如果发生脑裂故障则通过第三方应用或监控系统来关闭主服务器或备服务器上的keepalived服务

脚本:

chmod +x keepalived.sh 

七、Nginx+Keepalived高可用部署

1、配置nginx负载调度器

①关闭防火墙和安全机制

②安装nginx和keepalived

③准备nginx配置文件做反向代理(四层)

vim  /etc/nginx/nginx.conf

systemctl enable --now nginx

2、准备Keepalived

①准备脚本

cd /etc/keepalived/

vim check_nginx.sh

 chmod +x check_nginx.sh

②准备Keepalived配置文件

cp keepalived.conf keepalived.conf.bak

vim keepalived.conf

scp keepalived.conf 192.168.130.30:`pwd`

scp check_nginx.sh 192.168.130.30:`pwd`

systemctl enable --now keepalived
3、浏览器检测

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

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

相关文章

FCIS 2023网络安全创新大会-核心PPT资料下载

一、峰会简介 本次会议的主题是“AI大模型、人工智能与智能制造安全、攻击面管理与供应链安全”。 1、AI大模型 会议首先探讨了AI大模型在网络安全领域的应用。AI大模型是一种基于深度学习的模型,具有强大的特征提取和分类能力,可以用于检测和防御各种…

自媒体人福音,正版实用的视频素材网站~

大家平时在创作视频的时候,有没有苦恼过找不到合适的素材呢?网上能找到的大部分素材都是有版权的,不能随便乱用。今天我就来给大家推荐一些用于视频创作的正版素材网站,快快收藏吧! 1.制片帮素材 链接:stock.zhipianb…

Kubernetes 学习总结(40)—— Kubernetes 之 自动伸缩 HPA、VPA、CA和CPA详解

前言 Kubernetes 提供了多种自动伸缩机制,例如 HPA(Horizontal Pod Autoscaling),可以根据不同情况动态调整 Pod 副本数量。此功能使 Pod 能够有效地处理当前流量,而无需管理员不断干预来调整副本数量。除了 HPA 之外…

esp32-s3训练自己的数据进行目标检测、图像分类

esp32-s3训练自己的数据进行目标检测、图像分类 一、下载项目二、环境三、训练和导出模型四、部署模型五、存在的问题 esp-idf的安装参考我前面的文章: esp32cam和esp32-s3烧录human_face_detect实现人脸识别 一、下载项目 训练、转换模型:ModelAssist…

sql-labs服务器结构

双层服务器结构 一个是tomcat的jsp服务器,一个是apache的php服务器,提供服务的是php服务器,只是tomcat向php服务器请求数据,php服务器返回数据给tomcat。 此处的29-32关都是这个结构,不是用docker拉取的镜像要搭建一下…

为什么越来越多公司开始用低代码开发?

时代洪流的走向,我们无法左右,能够把握的,只有做好自己。如何在寒冬来之不易的机会中,生存并且壮大。 不知道大家有没有发现,今年的低代码赛道异常火热,但火热的背后才值得思考,市场需求持续被挖…

国图公考:专业选岗指南,哪些专业考公考编有优势?

在公务员考试和编制招聘中,选择合适的专业是非常重要的。以下这些专业的毕业生在考公考编时会具有一些优势: 一、法律类专业 首先,法律专业的知识体系严谨,对法律法规有深入的理解和掌握,这对于公务员工作中处理各类…

k8s中Helm工具实践

k8s中Helm工具实践 1)安装redis-cluster 先搭建一个NFS的SC(只需要SC,不需要pvc),具体步骤此文档不再提供,请参考前面相关章节。 下载redis-cluster的chart包 helm pull bitnami/redis-cluster --untar…

虾皮广告怎么做:如何在虾皮平台上进行广告投放

在虾皮(Shopee)平台上进行广告投放可以帮助您提高产品的曝光度和销量。通过有针对性的广告,您可以在虾皮平台上吸引更多的潜在买家,提高产品的可见度并增加销售机会。本文将为您介绍在虾皮平台上创建和管理广告的一些建议&#xf…

22 3GPP在SHF频段基于中继的5G高速列车场景中的标准化

文章目录 信道模型实验μ参考信号初始接入方法波形比较 RRH:remote radio head 远程无线头 HTS:high speed train 高速移动列车 信道模型 考虑搭配RRH和车载中继站之间的LOS路径以及各种环境(开放或峡谷),在本次实验场…

Peter算法小课堂—贪心与二分

太戈编程655题 题目描述: 有n辆车大甩卖,第i辆车售价a[i]元。有m个人带着现金来申请购买,第i个到现场的人带的现金为b[i]元,只能买价格不超过其现金额的车子。你是大卖场总经理,希望将车和买家尽量多地进行一对一配对…

20 Vue3中使用v-for遍历普通数组

概述 使用v-for遍历普通数组在真实开发中还是比较常见的。 基本用法 我们创建src/components/Demo20.vue&#xff0c;代码如下&#xff1a; <script setup> const tags ["JavaScript", "Vue3", "前端"] </script> <template…

图片转文字怎么做?这三个图片提取文字简单好用

图片转文字怎么做&#xff1f;在数字时代&#xff0c;我们每天都与大量的图片、文本信息打交道。当我们需要从图片中提取文字时&#xff0c;传统的方式可能是手动输入或者借助某些付费工具。但其实&#xff0c;现在有许多免费且高效的方法可以让我们在短短一秒钟内&#xff0c;…

具有超低功耗性能的R7F102GAC3CSP、R7F102GAC2DSP、R7F102G6C3CSP RL78/G22微控制器 16-bit MCU

RL78/G22 简介&#xff1a; 除了具有低电流消耗&#xff08;CPU工作时&#xff1a;37.5μA/MHz&#xff1b;STOP时&#xff1a;200nA&#xff09;外&#xff0c;RL78/G22微控制器还配备了丰富的电容触摸通道。完备的16-48引脚封装和32KB-64KB闪存&#xff0c;扩充了新一代RL78…

自动评估作业,支持订正最终得分、查看关联代码|ModelWhale 版本更新

冬至时节&#xff0c;2023 已进入尾声&#xff0c;ModelWhale 于今日迎来新一轮的版本更新&#xff0c;与大家一起静候新年的到来。 本次更新中&#xff0c;ModelWhale 主要进行了以下功能迭代&#xff1a; 自动评估作业 新增 提交代码&#xff08;团队版✓ &#xff09;新增…

3. BlazorSignalRApp 结合使用 ASP.NET Core SignalR 和 Blazor

参考&#xff1a;https://learn.microsoft.com/zh-cn/aspnet/core/blazor/tutorials/signalr-blazor?viewaspnetcore-8.0&tabsvisual-studio 1.创建新项目 BlazorSignalRApp 2.添加项目依赖项 依赖项&#xff1a;Microsoft.AspNetCore.SignalR.Client 方式1 管理解决方案…

Moonbeam生态项目分析 — — 游戏项目The Great Escape

概览 The Great Escape是一款2D的Play and Earn平台游戏&#xff0c;曾入选MoonbeamMoonbeam Accelerator&#xff0c;并经此培训孵化后于2023年7月正式发表。 玩家必须在给定时间内在充满敌人和陷阱的关卡中收集尽可能多的水果。游戏结束后&#xff0c;游戏主要根据收集的水…

蓝牙协议简介

文章目录 前言一、蓝牙版本介绍第一代蓝牙&#xff08;1999~2003 年&#xff09;共包括三个版本。第二代蓝牙&#xff08;2004~2007年&#xff09;共包括两个版本。第三代蓝牙&#xff08;2009年&#xff09;主要引入了几个关键技术。第四代蓝牙&#xff08;2010到2014年&#…

基于springboot +vue +element-ui 技术开发的SaaS智慧校园云平台源码

SaaS智慧校园云平台源码&#xff0c;智慧班牌系统&#xff0c;原生小程序 集智慧教学、智慧教务、智慧校务、智慧办公于一体的校园管理平台源码。集成智能硬件及第三方服务&#xff0c;面向学校、教师、家长、学生&#xff0c;将校内外管理、教学等信息资源进行整合&#xff0c…