LVS-keepalived实现高可用

概念:

本章核心:

Keepalived为LVS应运而生的高可用服务。LVS的调度无法做高可用,预算keepalived这个软件,实现了调度器的高可用。

但是:Keeplived不是专门为LVS集群服务的,也可以做其他服务器的高可用

LVS的高可用集群:主调度器和备调度器(可以有多个)一般都是一主两备,一主一备

主调度器能够正常运行时,由主调度器进行后端真实服务器的分配处理,其余的备用调度器处在冗余状态,不参与集群的运转,主调度器挂了无法运行,此时备用调度器才会承担主调度器的工作,一旦主调度器恢复工作,继续由主调度器进行处理,备调度器用成了冗余。

VRRP:keepalived时基于vrrp协议实现LVS服务的高可用,解决了调度器单节点的故障问题

复习一下VRRP:

复习一下vrrp协议:提高网络路由器的可靠性开发的一种协议。

选举出主和备:预先设定好主和备的优先级,住的优先级较高,备的优先级低,一旦开启服务器,优先级高的,会自定抢占主的位置

VRRP组播通信:224.0.0.18  VRRP协议当中的主备服务器通过组播地址进行通信,交换主备服务器的之间的运行状态,主服务器会周期性的发送VRRP的报文消息,已告知其他备服务器,主服务器形现在的状态

主备切换:主服务器发生故障或者不可达,VRRP协议会把请求转义到备服务器,通过组播地址,VRRP可以迅速通知其他服务器发生了主备切换,确保新的主服务器可以正常的处理客户端的请求

故障恢复:一旦服务器恢复通信,由组播地址进行通信,发现在恢复的主服务器优先级更高,会抢占原主服务器的位置,成为主服务器,调度和接受请求。

LVS—DR模式结合keepalived

主的故障恢复之后,VIP地址转移

实验配置:

Test1:主调度器

Test2:备调度器

后端真实服务器1

后端真实服务器2

VIP地址

客户端

需要的工具

Keepalived的体系和模块

全局模块:core模块,负责整个keepalived启动加载和维护

VRRP模块:实现VRRP协议,包括主备切换

Check模块:负责健康检查,检查节点服务器,检查后端真实服务器的健康检查。配置在真实服务器的模块当中

关闭主调度服务器的转发功能

配置备服务器

备调度器远程复制

配置后端真实服务器

配置虚拟网卡

开一台客户机验证

验证keepalived机制是否工作正常

主调度器

备调度器

主调度器恢复工作之后

脑裂概念:

主和备同时拥有VIP地址,在高可用系统当中,联系两个系统的心跳线,本来是一体的,他是一个动作协调的高可用系统。

心跳线断开之后,分裂成两个独立的个体,主和备之间失去了联系,两个调度器,就像脑裂人一样开始抢占主的位置,抢占VIP,主也有VIP,备也有VIP,导致整个集群失败。

怎么解决脑裂问题:

软件层面:

  1. 配置文件问题
  2. Tcpdump抓包分析
  3. 先重启主,再重启备

网络层面:

  1. 高可用服务器之间他们的心跳线检测失败,主备之间无法进行通信

硬件层面:

  1. 连接主备之间的心跳线老化
  2. 网卡或者网卡驱动失败,IP地址配置冲突
  3. 防火墙导致的,防火墙没有配置心跳消息的传输通道,导致检测失败
  4. 后端服务器的配置问题,心跳方式不同,心跳广播冲突,软件bug

如何解决keepalived脑裂的问题:

  1. 硬件:准备两条心跳线,这样断了一条也无所谓,依然能够传送心跳消息
  2. 设置防火墙一定要让心跳的消息通过
  3. 依靠监控软件实时检测

生产当中常见的环境:

Dev 开发环境 开发人员专用

Sit 测试环境,测试人员使用(开发运维)

pre  预生产环境,运维和开发(和最终的生产环境保持一致)

Prd 生产环境(面向用户的环境)

Keepalived用于Nginx高可用:

核心图:

实验配置:

Nginx1:192.168.233.61主

Nginx2:192.168.233.62 备

Nginx3:配置VIP

实验前提:

关闭防火墙和安全机制

三台Nginx安装keepalived

Nginx1:

配置文件后面的全部删除

随后添加内容

配置文件最后

Nginx2配置:

另一台nginx直接复制配置文件

改一下优先级,和主备 

写一个脚本文件:

把脚本复制到51主当中

赋权777

配置全部完成,停掉主服务

查看VIP地址是否转移

实现高可用

重启nginx服务,再重启keepalived,记得先后顺序,检测是否出现脑裂问题

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

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

相关文章

STM32F103的中断

文章目录 STM32F103的NVICSTM32F103 的中断优先级分组 STM32F103的NVIC CM3 内核支持 256 个中断,其中包含了 16 个内核中断和 240 个外部中断,并且具有 256级的可编程中断设置。 CM3中每个中断通道都具备自己的8位中断优先级控制字节, 但ST…

【ROS入门】雷达、摄像头及kinect信息仿真以及显示

文章结构 雷达信息仿真以及显示Gazebo仿真雷达配置雷达传感器信息xacro文件集成启动仿真环境 Rviz显示雷达数据 摄像头信息仿真以及显示Gazebo仿真摄像头新建xacro文件,配置摄像头传感器信息xacro文件集成启动仿真环境 Rviz显示摄像头数据 kinect信息仿真以及显示Ga…

不做学习的奴隶,更要注重生活

下面是国外社交软件 i n s ins ins上近 40 40 40万点赞的帖子。 “睡8小时,而不是6小时。 锻炼1小时,而不是4小时。 学习3小时,而不是10小时。 读书2小时,而不是5小时。 深度工作3小时,而不是12小时。 你是人&#xff…

arch linux 安装 vsftpd 配置虚拟用户

后面操作会直接基于 yay 操作 自行查找如何安装 yay 公司经常会用到 ftp 服务 不想用 apache 的 ftp server 所以自己在小机器上撞了 arch linux 用来安装软件 跑程序等。 1. 安装 vsftpd yay vsftpd --noconfirm选择 1 安装 输入密码 2. 安装 pam_pwdfile 安装 pam_pwdf…

【软件安装】Windows系统中使用miniserve搭建一个文件服务器

这篇文章,主要介绍如何在Windows系统中使用miniserve搭建一个文件服务器。 目录 一、搭建文件服务器 1.1、下载miniserve 1.2、启动miniserve服务 1.3、指定根目录 1.4、开启访问日志 1.5、指定启动端口 1.6、设置用户认证 1.7、设置界面主题 (…

华为终端智能家居应用方案

PLC-IoT概述 华为智能PLC-IoT工业物联网系列通信模块是基于电力线宽带载波技术的产品,实现数据在电力线上双向、高速、稳定的传输,广泛适用于电力、交通、工业制造、智能家居等领域,PLC-IoT通信模块包含头端和尾端两种类型,头端配…

el-table(vue2中)滚动条被固定列盖住

一、项目场景: vue2 el-table 二、问题描述 1、现场图片: 2、全局css环境配置了滚动条高度为6px /* 全局滚动条配置 */ ::-webkit-scrollbar {width: 6px;height: 6px; }::-webkit-scrollbar-track {background-color: #f1f1f1; }::-webkit-scrollbar-…

Java 工具类 列表动态维护

原本需求:一个二级 list 更新功能。 常规实现:先删除原来的全部数据,再重新插入,这样就很耗时了,所以这里写一个工具类出来。 1. 如果有新增的数据:仅对这些数据新增 2. 如果有删除的数据:仅…

STM32F4VGT6-DISCOVERY:uart1驱动

对于这款板子&#xff0c;官方并没有提供串口例程&#xff0c;只能自行添加。 一、PA9/PA10复用成串口1功能不可用 驱动测试代码如下&#xff1a; main.c: #include "main.h" #include <stdio.h>void usart1_init(void) {GPIO_InitTypeDef GPIO_InitStruct…

汇编语言-div指令溢出问题

汇编语言-div指令溢出问题 8086CPU中被除数保存在ax(16位)或ax和dx&#xff08;32位&#xff09;中&#xff0c;如果被除数为16位&#xff0c;进行除法运算时al保存商&#xff0c;ah保存余数。如果被除数为32位时&#xff0c;进行除法运算时&#xff0c;ax保存商&#xff0c;d…

从最简单基本开始 or 把问题复杂化还自诩为“设计了一个可扩展的系统”?

文章目录 Intro程序员“把问题复杂化”的职业病如何抉择 Intro 刚才看了一段关于在苹果系统中使用numbers表格软件制作记账本的视频教程&#xff1a;当 Excel 交给苹果来设计会变成…&#xff1f;#Numbers 新手教学&#xff0c;以下为最终界面效果&#xff1a; 有些触动&…

Spring中简单的获取Bean对象(对象装配)

获取Bean对象也叫做对象装配&#xff0c;是把对象取出来放到某个类中&#xff0c;有时候也叫对象注入&#xff01; 对象装配&#xff08;对象注入&#xff09;更加简单的读取Bean&#xff08;是从Spring容器中读取某个对象放到当前类里面&#xff09;的实现方法有以下3种&…

【iOS】——知乎日报第二周总结

文章目录 一、自定义cell内容乱序问题二、WKWebView加载网页三、通过cell的协议函数进入指定网页四、滚动视图左滑加载新的网页五、隐藏导航栏 一、自定义cell内容乱序问题 当我下拉刷新的时候一开始我自定义的cell的内容顺序没有问题&#xff0c;当我一直下拉刷新或者上滑看以…

mac电脑视频处理推荐:达芬奇DaVinci Resolve Studio 18 中文最新

DaVinci Resolve Studio 18是一款专业的视频编辑、调色和后期制作软件&#xff0c;由Blackmagic Design开发。它被广泛应用于电影、电视和广告等行业&#xff0c;提供了全面的工具和功能&#xff0c;使用户能够进行高质量的影片制作和后期处理。 以下是DaVinci Resolve Studio…

【QML】vscode安装QML格式化插件方法

1. 安装插件 拓展 > 搜索qml > 找到QML Format >点击安装 2. 配置 打开settings.json文件 ctl shift p&#xff0c;然后搜索settings 修改settings.js内容 {...//添加以下内容// 根据自己电脑安装路径来填写qmlformat.exe的路径&#xff0c;注意转义符"\…

数字孪生与智慧城市:开启未来智慧生活

在数字时代的浪潮中&#xff0c;数字孪生技术和智慧城市的理念相互交织&#xff0c;共同塑造了一个更智能、更可持续、更宜居的未来。数字孪生是一项前沿技术&#xff0c;将虚拟世界与现实世界相融合&#xff0c;为城市管理者和市民带来了前所未有的机遇和便捷。 数字孪生模型是…

【数据结构练习题】删除有序数组中的重复项

✨博客主页&#xff1a;小钱编程成长记 &#x1f388;博客专栏&#xff1a;数据结构练习题 &#x1f388;相关博文&#xff1a;消失的数字 — 三种解法超详解 删除有序数组中的重复项 1.&#x1f388;题目2. &#x1f388;解题思路3. &#x1f388;具体代码&#x1f387;总结 1…

【机器学习】决策树与分类案例分析

决策树与分类案例分析 文章目录 决策树与分类案例分析1. 认识决策树2. 分类3. 决策树的划分依据4. 决策树API5. 案例&#xff1a;鸢尾花分类6. 决策树可视化7. 总结 1. 认识决策树 决策树思想的来源非常朴素&#xff0c;程序设计中的条件分支结构就是if-else结构&#xff0c;最…

手写IOC

本篇博客我们来手写一个IOC&#xff0c;就是模拟出IOC里边的实现过程。这过程怎么做呢&#xff1f; 咱们主要基于java中的反射&#xff0c;再加注解&#xff0c;来实现spring框架中IOC的这个效果。 下面我们来具体看看这个过程。首先因为这里边要用到反射&#xff0c;咱们把反…

实在没货,简历(软件测试)咋写?

简历咋写&#xff0c;这是很多没有【软件测试实际工作经验】的同学们非常头疼的事情。 简历咋写&#xff1f;首先你要知道简历的作用。 简历的作用是啥呢&#xff1f;一句话就是&#xff1a;让HR小姐姐约你。 如何让HR看你一眼&#xff0c;便相中你的简历&#xff0c;实现在众…