如何部署LVS + keepalived 负载均衡高可用集群

2023-11-06

目录

一、LVS架构

概念

L4和L7负载均衡的区别

keepalive故障自动切换

抢占与非抢占

二、keepalived管理LVS负载均衡器

LVS集中节点的健康检查

三、部署LVS + keeplived 高可用集群

第一步 关闭防火墙和安全机制

         第二步 安装工具

第三步 手动配置模块

第四步 编辑策略配置文件

第五步 查看策略设置

第六步 创建虚拟网卡

第七步 修改虚拟网卡配置

第八步 重启网卡并启动虚拟网卡

第九步 添加路由

第十步 创建备份文件启动服务

第十一步 添加ipvsadm策略并启动

第十二步 配置备用LVS服务器

第十三步 配置Web节点服务器

第十四步 安装HTTP服务

         第十五步 启动服务

第十六步 添加网页执行文件

第十七步 创建虚拟地址

第十八步 重启服务并启动虚拟IP地址

第十九步 添加路由

第二十步 编辑策略配置文件

第二十一步 检查策略配置

第二十二步 部署第二台Web服务器

第二十三步 修改主设备的keepalive配置内容进行备份

 第二十四步 更改配置文件内容

第二十五步 开启服务器并查看虚拟网卡

第二十六步 修改备用机的配置文件

第二十七步 备用LVS启动服务

第二十八步 查看详细信息

第二十九步 测试漂移地址关闭主设备

第三十步 查看主设备日志文件

第三十一步 查看备用设备日志文件是否顶替

第三十二步 用浏览器进行测试


一、LVS架构

概念

① LVS是具有负载均衡功能的服务之一

② LVS作为后端真实服务器,提供负载均衡和跳转功能

③ 单台LVS作为四层负载均衡的服务TCP协议的负载均衡

LVS + keepalived 组成的HA高可用集群,可做为七层的负载均衡

L4和L7负载均衡的区别

L4通过TCP协议建立连接之后的IP:port接收请求和基于IP:port端口进行转发

L7通过TCP协议建立三次握手,通过HTTP协议传输数据,七层负载均衡器,需要根据HTTP协议传输过来的请求,进行对应的跳转,这个跳转是先基于TCP协议的传输(IP:port)+ HTTP的传输

如果是四层,协议只有TCP就是IP:port的转发

如果是七层,TCP和三次握手,长连接 + HTTP规范的传输数据

keepalive故障自动切换

① 两台同时安装好keepalived并且启动服务

当启动的时候master主机获得所有资源并且对用户提供服务(请求)当角色Backup的主机作为master热备,当master出现故障,Backup主机自动接管master主机所有工作

② 当master主机故障修复后,就会自动接管回它原来的所有工作,同时Backup主机则释放原master主机的所有工作,此时两台主机恢复到初始角色以及工作状态

抢占与非抢占

抢占:master恢复后,将VIP从Backup节点中抢占过来,回复自己master工作

非抢占:master恢复后,不抢占Backup目前的状态,Backup升级为master继续工作

二、keepalived管理LVS负载均衡器

keepalive可以通过读取自身的配置文件,实现通过更底层的接口直接管理,LVS配置以及服务的启动、停止功能,这会使LVS应用更加简便

LVS集中节点的健康检查

Keeplived.conf文件配置LVS的节点IP和相关参数来实现对LVS直接管理,如果几个节点服务器同时发生故障无法提供服务,Keeplived服务会自动把那个失效节点服务器从LVS正常转发列中清除出去,并且将请求调度到别的正常节点服务器上,从而保证最终用户的访问不受影响,当故障的节点服务器修复以后,Keepalived服务又会自动把他们加入到转发列中,对外面客户提供服务

三、部署LVS + keeplived 高可用集群

第一步 关闭防火墙和安全机制

命令:systemctl stop firewalld

setenforce 0

第二步 安装工具

命令:yum -y install ipvsadm keepalived

第三步 手动配置模块

命令:modprobe ip_vs

第四步 编辑策略配置文件

命令:vim /etc/sysctl.conf

第五步 查看策略设置

命令:sysctl -p

第六步 创建虚拟网卡

命令:cp ifcfg-ens33 ifcfg-ens33:0

第七步 修改虚拟网卡配置

第八步 重启网卡并启动虚拟网卡

命令:systemctl restart network

ifup ens33:0

ifconfig ens33:0

第九步 添加路由

命令:route add -host 192.168.8.188 dev ens33:0

第十步 创建备份文件启动服务

命令:ipvsadm-save

systemctl start ipvsadm

第十一步 添加ipvsadm策略并启动

命令:ipvsadm -C

ipvsadm -A -t 192.168.8.188:80 -s rr

ipvsadm -a -t 192.168.8.188:80 -r 192.168.8.130:80 -g

ipvsadm -a -t 192.168.8.188:80 -r 192.168.8.200:80 -g

第十二步 配置备用LVS服务器

第十三步 配置Web节点服务器

命令:systemctl stop firewalld

setenforce 0

第十四步 安装HTTP服务

命令:yum -y install httpd

第十五步 启动服务

命令:systemctl start httpd

lsof -i:80

第十六步 添加网页执行文件

命令:echo "this is liu" > /var/www/html/index.html

第十七步 创建虚拟地址

命令:cp ifcfg-lo ifcfg-lo:0

vim ifcfg-lo:0

第十八步 重启服务并启动虚拟IP地址

命令:systemctl restart network

ifup lo:0

第十九步 添加路由

命令:route add -host 192.168.8.188 dev lo:0

第二十步 编辑策略配置文件

命令:vim /etc/sysctl.conf

第二十一步 检查策略配置

命令:sysctl -p

第二十二步 部署第二台Web服务器

第二十三步 修改主设备的keepalive配置内容进行备份

命令:cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak

 第二十四步 更改配置文件内容

第二十五步 开启服务器并查看虚拟网卡

命令:systemctl start keepalived

第二十六步 修改备用机的配置文件

vim /etc/keepalived/keepalived.conf

第二十七步 备用LVS启动服务

命令:systemctl start keepalived

第二十八步 查看详细信息

命令:ip addr

第二十九步 测试漂移地址关闭主设备

命令:ifdown ens33:0

如果没有用就直接关闭服务

命令:systemctl stop keepalived

第三十步 查看主设备日志文件

命令:tail -f /var/log/message

第三十一步 查看备用设备日志文件是否顶替

命令:tail -f /vat/log/message

第三十二步 用浏览器进行测试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何部署LVS + keepalived 负载均衡高可用集群 的相关文章

  • 博睿数据参与支持2023年度证券期货业标准研究课题获评“优秀”

    近期 全国金融标准化技术委员会证券分技术委员会发布 关于公布2023年度证券期货业标准研究课题结题评审结果的通知 由西南证券独立申报 博睿数据提供系统支持的课题 证券期货业移动互联网应用程序性能指标及检测模型研究 在2023年度证券期货业标
  • 服务器硬件系统之维护拆装教程

    服务器硬件系统之维护拆装教程 在进行电缆连接 插拔 时 通过该电缆连接 或将要连接 的设备应当是没有加电的 即应当先将设备的电源关掉 然后再进行电缆连接 插拔 操作 否则 如果带电进行电缆连接 有可能会对设备造成无法预料的损坏 1 在增加服
  • 干货!什么是财务业务化和业务财务化?

    此回答摘录自 自价值财务 以业务与财务的双向奔赴 成就合规与增长双赢 原文近7000字 作者 纷享销客CFO郭保彬先生 更多业财一体化内容详见纷享销客最新专刊 上市公司如何打好合规与增长双赢之战 如今 财务管理已经不再仅限于传统的会计和财务
  • Potplayer播放器远程访问群晖WebDav本地资源【内网穿透】

    文章目录 本教程解决的问题是 按照本教程方法操作后 达到的效果是 1 使用环境要求 2 配置webdav 3 测试局域网使用potplayer访问webdav 3 内网穿透 映射至公网 4 使用固定地址在potplayer
  • Centos8破解Root密码

    注 Centos7同理 1 重启Centos8系统后 在启动页面中选中第一行 按 e 键进入界面 2 找到linux开头所在行的找到 ro 改为上 rw init sysroot bin bash 同时按下 Ctrl X 跳转到紧急模式 3
  • 网工我劝你,这11种协议报文格式要烂熟于心!

    你们好 我的网工朋友 你最熟悉的报文是啥 TCP UDP 在网络世界里 就如同道路系统让车辆畅通无阻一样 网络协议是确保信息顺畅传输的关键 作为网络工程师 理解网络协议的种类与结构至关重要 今天就和你一起探索一下11种关键协议报文格式啊 包
  • 使用匿名binder实现client向server端的死亡通知

    一 引言 因为binder是跨进程通信 难免会遇到服务端出现异常挂死的情况 这个时候需要通知到客户端进行相应的处理 在网络通信中是非常常见的机制 当然 在binder中 Android也为我们写好了相关的框架 但通过binder源码分析 你
  • 性能分析与调优: Linux 内存观测工具

    目录 一 实验 1 环境 2 vmstat 3 PSI 4 swapon 5 sar 6 slabtop 7 numstat 8 ps 9 top 10 pmap 11 perf 12 bpftrace 二 问题 1 接口读写报错 2 sl
  • AIDL通信过程中设置死亡代理

    概述 在进行进程间通信的过程中 如何服务端进程由于某种原因异常终止 我们的远程调用就会失败 影响我们的功能 那么怎么样能够知道服务端进程是否终止了呢 那就是给Binder设置死亡代理 下面看看如何设置 Override public voi
  • Linux ls命令

    目录 一 配置项 1 1 ls l 1 2 ls a 1 3 ls lrt 1 4 ls ld 二 案例 2 1 查看指定文件夹下文件的数量
  • 双系统安装win7出现grub怎么解决

    我们在重装系统时 特别苹果装双系统时 会出现安装过程或者安装后的问题 发现系统开机显示grub 导致不能正常进入系统 让人很是着急 其实出现这种情况是因为系统找不到主引记录所导致 只要重建主引记录mbr即可解决 下面小编就教教大家win7系
  • 6类典型场景的无线AP选型和部署方案

    你们好 我的网工朋友 前段时间刚给你们来了篇解决无线频繁断网的技术文 解决无线频繁断网 这个办法值得收藏 不少朋友私聊 说想再聊聊无线AP的选型和部署方案 这不就安排上了 无线网络覆盖项目中 无线AP的合理选型和部署非常重要 在设计施工中
  • 盘点那些年我们一起玩过的网络安全工具

    大家好 我是IT共享者 这篇文章给大家盘点那些年 我们一起玩过的网络安全工具 一 反恶意代码软件 1 Malwarebytes 这是一个检测和删除恶意的软件 包括蠕虫 后门 流氓 拨号器 间谍软件等等 快如闪电的扫描速度 具有隔离功能 并让
  • 服务器集群是如何提高计算性能的?

    服务器集群是一种将多台服务器连接起来协同工作的技术 通过集群配置 可以提高计算性能 可靠性和可扩展性 以下是服务器集群如何提高计算性能的详细解释 一 并行处理能力 服务器集群的核心优势在于其并行处理能力 通过将多个服务器组成一个集群 可以将
  • 自定义编写zabbix_agent脚本

    vi usr lib systemd system zabbix agent servicce Unit Description Zabbix Agent After syslog target After network target S
  • Kubernetes (十二) 存储——Volumes配置管理

    一 卷的概念 官方地址 卷 Kubernetes https v1 24 docs kubernetes io zh cn docs concepts storage volumes 二 卷的类型及使用 emptyDir卷 1 创建编辑文件
  • ssh:connect to host github.com port 22: Connection timed out

    解决流程 1 将github的端口由22改为443 ssh T p 443 git ssh github com 2 接着输入yes进行确认 The authenticity of host ssh github com 443 192 1
  • GitLab CI 实现项目A更新代码自动触发项目B更新错误码文档

    一 CI CD简介 CI CD 是持续集成 Continuous Integration 和持续交付 持续部署 Continuous Delivery Continuous Deployment 的缩写 是一种软件开发和交付的最佳实践 这两
  • 服务器中E5和I9的区别是什么,如何选择合适的配置

    随着科技的进步 服务器处理器的性能在不断攀升 其中 Intel的E5和I9系列处理器在业界具有广泛的影响力 而当我们在选择服务器的时候会有各种各样的配置让我们眼花缭乱不知道该怎么去选择 下面我跟大家分享一下E5跟I9有什么区别 方便我们在选
  • 网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

    01 同程旅行 招聘岗位 网络工程师 职责描述 1 负责职场 门店网络规划 建设 维护 2 负责网络安全及访问控制 上网行为管理和VPN设备的日常运维 3 负责内部相关网络自动化和系统化建设 4 优化与提升网络运行质量 制定应急预案 人员培

随机推荐

  • LeetCode - 区间合并类问题

    合并区间 给出一个区间的集合 请合并所有重叠的区间 示例 1 输入 1 3 2 6 8 10 15 18 输出 1 6 8 10 15 18 解释 区间 1 3 和 2 6 重叠 将它们合并为 1 6 分析 C 排序 根据区间左边界排序 如
  • Effective C++ - Inheritance and Object-Oriented Design

    Effective C Inheritance and Object Oriented Design 前言 OOP面向对象编程 继承 单一继承 多重继承 public protected private virtual non virtua
  • Redis简明教程

    Redis是啥 用Redis官方的话来说就是 Redis is an open source BSD licensed in memory data structure store used as a database cache and
  • [ROS] roscore启动失败

    版本描述 Ubuntu18 04 ROS melodic 问题描述 ROS安装完成后 出现如下错误 具体原因是因为ROS1支持的是Python2 7 而我之前将Ubuntu自带的Python升级到了3 6 所以导致了相关的错误 nnboy
  • 伺服电机与编码器

    编码器的结构域工作原理 1 透射式旋转光电编码器 2 编码器的分辨率 3 编码器的分类和特点 按照工作原理 可以分为增量式和绝对式 4 伺服电机与编码器的工作 控制器驱动电机运转 电机带着编码器旋转 编码器的反馈信号输送到控制器 可以知道
  • 大数据毕设 深度学习 大数据 股票预测系统 - python lstm

    文章目录 0 前言 1 课题意义 1 1 股票预测主流方法 2 什么是LSTM 2 1 循环神经网络 2 1 LSTM诞生 2 如何用LSTM做股票预测 2 1 算法构建流程 2 2 部分代码 3 实现效果 3 1 数据 3 2 预测结果
  • ICLR2023《Crossformer: Transformer Utilizing Cross-Dimension Dependency for Multivariate Time Series》

    这是一篇ICLR2023 top 5 论文 论文链接 https openreview net pdf id vSVLM2j9eie 代码 https github com Thinklab SJTU Crossformer 1 Multi
  • dedecms--图片的轮播

    1 直接在php加代码 引入js css文件
  • shell脚本调用另一个脚本

    两种实现方式 shell脚本直接调用另一个脚本 shell脚本新建终端并执行另一个脚本 1 shell脚本直接调用另一个脚本 shellPath sh main shell script call other shell script ec
  • mysql 字符串分割函数substring_index用法

    实现和python split 函数一样的功能 mysql用函数substring index 用法 substring index str 分隔符 第n个分隔符之前的所有字符or倒数第n个分隔符之后的所有字符 例子 select subs
  • Qt4_深入信号和槽

    信号和槽 信号和槽是Qt 编程的一个重要部分 这个机制可以在对象之间彼此并不了解的情况下将它们的行为联系起来 在前几个例程中 我们已经连接了信号和槽 声明了控件自己的信号和槽 并实现了槽函数 发送了信号 现在来更深入了解这个机制 槽和普通的
  • 【Java】【字符串】IP地址与整数的相互转换

    package itheima2 import java util Scanner public class Main public static void main String args Scanner scanner new Scan
  • MFC程序的诞生与死亡

    MFC程序的诞生与死亡 程序的诞生 Application object产生 内存于是获得配置 初值亦设立了 Afx WinMain执行AfxWinInit 后者又调用AfxInitThread 把消息队列尽量加大到96 AfxWinMai
  • django 国际化

    一 开启国际化 1 setting中默认语言改为 LANGUAGE CODE es es 2 添加中间件 django middleware locale LocaleMiddleware MIDDLEWARE CLASSES django
  • 「数字货币监管」听证会重磅来袭,无形之笼悄然降临?

    美国的国会老爷们要认真讨论数字货币的监管问题了 一个全方位的数字货币监管框架正在成型 作者 唐晗 编辑 秦晋 出品 碳链价值 ID cc value 美国国会对数字货币上瘾了 7月30日 美国参议院银行 住房和城市事务委员会将于华盛顿时间上
  • 配置wsl外网访问(实操步骤)

    介绍 wsl存在一个ip1 window存在一个ip2 ip1无法ping通与ip2处于同一网段下的ip 此种情况下 涉及到网络通信相关的开发就比较困难 本文介绍配置wsl外网的访问 操作步骤 获取wsl的ip 管理员身份在powershe
  • Jenkins安装部署与自动化部署网站实战

    1 CICD与Jenkins概述 互联网软件的开发和发布 已经形成了一套标准流程 假如把开发工作流程分为以下几个阶段 编码 构建 集成 测试 交付 部署 在上图中看到 持续集成 Continuous Integration 持续交付 Con
  • 数据结构-1

    1 2 线性结构树状结构网状结构 表 数 图 数据 数值型 非数值型 1 2 3数据类型和抽象数据类型 1 3抽象数据类型 概念小结 线性表 如果在独立函数实现的 c 文件中需要包含 stdlib h 头文件 而主函数也需要包含 stdli
  • 服务器部署Java项目详述

    前言 记录一下自己从0到1部署Java前后端项目到服务器上的过程 过程梗概 首先要先买一个服务器 一般用CentOS7 然后大概步骤是再配置一下所买的服务器环境 再安装下对应我们的Java项目所需要的一些应用程序即可 其中 Nginx是用来
  • 如何部署LVS + keepalived 负载均衡高可用集群

    目录 一 LVS架构 概念 L4和L7负载均衡的区别 keepalive故障自动切换 抢占与非抢占 二 keepalived管理LVS负载均衡器 LVS集中节点的健康检查 三 部署LVS keeplived 高可用集群 第一步 关闭防火墙和