LVS+keepalived整合负载均衡配置

news2024/9/30 11:54:57

准备三台服务器;负载均衡服务器192.168.45.136,后端机器1,92.168.45.135,后端机器2,192.168.45.138

在两台后端机器上安装nginx服务,yum install -y nginx,并且启动nginx服务,systemctl start nginx,并且在两台后端机器上配置回环地址192.168.45.188

ifconfig lo:0 192.168.45.188 netmask 255.255.255.255

配置完成后通过本机访问192.168.45.188即可访问到两台后端机器的nginx

通过命令:arp -a显示ping通的物理地址138

我们需要抑制回环地址的直接响应,防止用户直接访问两台后端机器

首先在136负载均衡机器上配置物理网卡

ifconfig ens33:1 192.168.45.188 netmask 255.255.255.255

 前台访问vip地址188时,三台服务其都可响应,我们要抑制后端两台机器的vip访问

通过命令echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore抑制两台后端机器的arp广播

echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore

抑制后通过主机访问188ip,只有LVS均衡服务器上的物理网卡响应

 此时再访问188服务器,显示失败

在负载均衡机器上配置LVS均衡池,与net模式不同,需要将-m改为-g

添加物理网卡:ifconfig ens33:1 192.168.45.188 netmask 255.255.255.255

LVSarrp配置:ipvsadm -A -t 192.168.45.188:80 -s wrr

ipvsadm -a -t 192.168.45.188:80 -r 192.168.45.138 -g -w 100

ipvsadm -a -t 192.168.45.188:80 -r 192.168.45.135 -g -w 100

此时再访问188即为LVS均衡服务器转发给后端请求,返回访问信息

当任意一台nginx宕机时,用户仍可访问网页,只有当两台都宕机时才访问失败

访问后显示连接次数

 当想要删除配置的LVS时,删除wrr188命令为

ipvsadm -D -t 192.168.45.188:80

当想删除后端机器时:ipvsadm -d -t 192.168.45.188:80 -r 192.168.45.135

ipvsadm -d -t 192.168.45.188:80 -r 192.168.45.138

[root@localhost ~]# ipvsadm -d -t 192.168.45.188:80 -r 192.168.45.135
[root@localhost ~]# ipvsadm -d -t 192.168.45.188:80 -r 192.168.45.138
[root@localhost ~]# ipvsadm -D -t 192.168.45.188:80
[root@localhost ~]# ipvsadm -L -n

卸载配置的ens33:1网卡

 LVS+NGINX无缝整合,自动配置LVS,在136机器上安装keepalived服务,配置文件如下

cd /etc/keepalived

! Configuration File for keepalived
#全局配置,配置指定通知邮件发送邮箱
global_defs {
  notification_email {
#指定发送的邮箱
      support@xin.linux
 }
#指定由哪个服务器地址发送邮件
    notification_email_from wgkgood@163.com
#连接的服务器地址
    smtp_server 127.0.0.1
#连接超时时间 
    smtp_connect_timeout 30
#连接服务名称写成自己的Ip地址也可
    router_id LVS_DEVEL
}

 # VI_1实例名称,也可改成其他 
 vrrp_instance VI_1 {
#状态master或backup
     state MASTER
#路由器对外通信名称,可命名为网卡名称 
     interface ens33
#虚拟路由ID,要与备机相同 
     virtual_router_id 51
#优先级
     priority 100
#设置不抢占关键字
     nopreempt
#成为master的服务器每隔5秒发送包 
     advert_int 5
     authentication {
#彼此认证密码,与备机保持相同 
         auth_type  PASS
         auth_pass  1111

     }
#vip配置
     virtual_ipaddress {
         192.168.45.188
     }
 }
#LVS配置
virtual_server 192.168.45.188 80 {
    delay_loop 6
    lb_algo wrr
    lb_kind DR
    persistence_timeout 60
    protocol TCP
    real_server 192.168.45.138 80{
        weight 100
        TCP_CHECK {
             connect_timeout 10
             nb_get_retry 3
             delay_before_retry 3
             connect_port 80
        }
    }
    real_server 192.168.45.135 80 {
        weight 100
        TCP_CHECK {
                connect_timeout 10
                nb_get_retry 3
                delay_before_retry 3
                connect_port 80
        }
    }
}

重启keepalived服务后,即可自动配置LVS

 前台即可成功访问nginx

 同样当后端服务器宕机时,LVS服务器自动检测端口失活,删除LVS配置,查看keepalived日志文件:tail -fn200 /var/log/messages

keepalived显示3个进程,1个主进程,一个VRRP进程,一个自动检测进程

 

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

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

相关文章

【Linux学习】【Ubuntu入门】2-1 Linux系统下运行C语言输出hello word

1.双击打开VMware软件,点击开启此虚拟机后,等待点击头像输入密码进入 2.“CtrlAltt”调出命令行终端,输入命令sudo apt-get install vim安装vim,输入命令sudo apt-get install gcc安装gcc 3.输入命令vi hello.c进入C语言编写环境&…

【漏洞复现】VEXUS多语言货币交易所存在未授权访问漏洞

漏洞描述 java后端,非常完整的一套交易所,UI前端做的也很漂亮,新增了交易跟单功能,前端pc+wap都是uniapp纯源码,前端源码node_modules环境已经安装好了,拿去直接编译就可以. 后端 前端 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共…

订餐点餐|订餐系统基于java的订餐点餐系统小程序设计与实现(源码+数据库+文档)

订餐点餐系统小程序 目录 基于java的订餐点餐系统小程序设计与实现 一、前言 二、系统功能设计 三、系统实现 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取: 博主介绍:✌️大厂码农|毕设布…

qt使用QDomDocument读写xml文件

在使用QDomDocument读写xml之前需要在工程文件添加: QT xml 1.生成xml文件 void createXml(QString xmlName) {QFile file(xmlName);if (!file.open(QIODevice::WriteOnly | QIODevice::Truncate |QIODevice::Text))return false;QDomDocument doc;QDomProcessin…

隆道携手黑龙江省中小企业协会助力区域企业数字化转型

9月28日,隆道公司总裁吴树贵出席“2024年黑龙江省中小企业协会副会长扩大会议暨数字化转型专题报告会”并做主题发言,分享了龙江惠企商城建设情况和供应链数字化转型实践经验。会上,隆道公司与黑龙江省中小企业协会签订了战略合作协议&#x…

SOLIDWORKS 2025基于浏览器角色的新功能:如何简化设计流程?

在2025版本中,SOLIDWORKS引入了一系列基于浏览器角色的新功能,本文将深入探讨SOLIDWORKS 2025的这些新增功能,看看它们是如何帮助工程师简化工作流程、增强用户体验的。 SOLIDWORKS 2025 1从多方面定义工作流程 • 根据您的需求使用全新的…

ACM MM 2024中有哪些值得关注的Diffusion Models相关的论文?

Diffusion Models专栏文章汇总:入门与实战 前言:ACM MM 2024作为多模态领域的顶级会议,已经放出所有接受的论文。这次的MM又是Diffusion Models的盛会,非常多值得关注的最新论文,这篇博客将一一介绍。 COMD: Training-free Video Motion Transfer With Camera-Object Moti…

Redis哨兵模式的搭建以及配置参数简介

原理 Redis哨兵模式是一种用于在Redis主从复制环境中进行高可用性监控和故障恢复的机制。该模式引入了一个或多个哨兵节点,这些节点负责监控Redis服务器的状态,并在主节点发生故障时切换为新的主节点。 哨兵节点的工作原理如下: 1、哨兵节点…

基于SpringBoot的诗词学习网站的设计与实现

目录 毕设制作流程功能和技术介绍系统实现截图开发核心技术介绍:使用说明开发步骤编译运行代码执行流程核心代码部分展示可行性分析软件测试详细视频演示源码获取 毕设制作流程 (1)与指导老师确定系统主要功能; (2&am…

通信工程学习:什么是GOCC地面操作控制中心、SOCC卫星操作控制中心

GOCC地面操作控制中心&SOCC卫星操作控制中心 GOCC(Ground Operation Control Center,地面操作控制中心)和SOCC(Satellite Operations Control Center,卫星操作控制中心)是卫星通信系统中至关重要的组成…

GitHub下载MY-SITE

1、GitHub下载my-site 解压 打开项目 ApiOperation swagger日志的 七牛云-云平台 dao和model统称为pojo--实体类 删除docker 2、创建数据库 执行sql 3、链接数据库 扫描dao曾的包 46、鸡汤分析开源项目_哔哩哔哩_bilibili 修改yaml 启动 http://localhost:8089/a…

如何在 Kubernetes 上部署和配置开源数据集成平台 Airbyte?

在 Kubernetes 上部署和配置 Airbyte 是一个复杂但非常有价值的过程,特别是对于需要强大数据集成和数据处理能力的企业或团队。Airbyte 是一个开源的数据集成平台,允许用户从各种来源提取数据并加载到目标存储中。其强大的插件系统支持多种数据源与目标&…

FPGA实现PCIE视频采集转SDI输出,基于GTX+XDMA中断架构,提供2套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案本博已有的 SDI 编解码方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图电脑端视频QT上位机XDMA配置及使用XDMA中断模块FDMA图像缓存SDI视频编码之-->RGB转BT1120SDI视频编码之-->SMPTE SD/HD…

python5_basecurd

基础增删改查 # 定义一个字典来存储数据 data {}def add(key, value):"""添加数据:param key: 键:param value: 值"""if key not in data:data[key] valueprint(f"添加成功:{key} -> {value}")else:print(f"键已…

【12月IEEE出版* 镇江 】第九届清洁能源与发电技术国际学术会议(CEPGT 2024)

2024 9th International Conference on Clean Energy and Power Generation Technology (CEPGT 2024) 第九届清洁能源与发电技术国际学术会议(CEPGT 2024),将于2024年12月27-29日在江苏镇江举办。高效清洁新能源的研究和应用是我国现阶段最主…

非关键尺寸的失效模式和效应分析(FMEA)是否有必要进行?

在追求极致的过程中,一个看似不起眼的细节——非关键尺寸的失效模式和效应分析(FMEA),却常常被忽视或低估其重要性。本文,深圳天行健企业管理咨询公司旨在分享为何在非关键领域,FMEA同样不可或缺&#xff0…

【LeetCode】动态规划—221. 最大正方形(附完整Python/C++代码)

动态规划—221. 最大正方形 前言题目描述基本思路1. 问题定义:2. 理解问题和递推关系:3. 解决方法:3.1 动态规划方法3.2 空间优化的动态规划 4. 进一步优化:5. 小总结: 代码实现Python3代码实现Python 代码解释C代码实现C 代码解释 前言 在二维矩阵中寻找最大正方形的问题是动…

mysql笔记10(高级部分--跟数据库管理有关)

文章目录 一、视图(view)1. 作用2. CRUD--跟表操作几乎相同① 创建② 显示视图③ 查看视图相关详细信息④ 删除视图⑤ 更新视图 3. 视图算法① 创建视图时指定视图算法② 后期navicat里修改视图算法③ 注 二、事务(transaction)1. 事务的提出2. 举例理解① commit -- 一起执行②…

CSS宽度和高度

CSS 尺寸属性指的就是元素的宽度和高度属性,虽然说非常简单,但却是必须掌握的技能。CSS 中提供了 width、height、max-width、min- width、max-height 和 min-height 等几个属性来设置元素的宽度和高度,这些元素使用起来非常简单,…

采购订单管理:如何驱动业务效率和增长

采购订单是一份具有法律约束力的文件,明确了买方在未来特定日期从供应商处购买商品或服务的意图。 该文件对于买卖双方均具有重要价值。对于买方而言,采购订单有助于其进行未来数月的财务规划,明确资金的支出时间点。对于供应商而言&#x…