当前位置: 首页 > news >正文

LVS+keepalived整合负载均衡配置

准备三台服务器;负载均衡服务器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或backupstate MASTER
#路由器对外通信名称,可命名为网卡名称 interface ens33
#虚拟路由ID,要与备机相同 virtual_router_id 51
#优先级priority 100
#设置不抢占关键字nopreempt
#成为master的服务器每隔5秒发送包 advert_int 5authentication {
#彼此认证密码,与备机保持相同 auth_type  PASSauth_pass  1111}
#vip配置virtual_ipaddress {192.168.45.188}}
#LVS配置
virtual_server 192.168.45.188 80 {delay_loop 6lb_algo wrrlb_kind DRpersistence_timeout 60protocol TCPreal_server 192.168.45.138 80{weight 100TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 192.168.45.135 80 {weight 100TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}
}

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

 前台即可成功访问nginx

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

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

 

相关文章:

LVS+keepalived整合负载均衡配置

准备三台服务器;负载均衡服务器192.168.45.136,后端机器1,92.168.45.135,后端机器2,192.168.45.138 在两台后端机器上安装nginx服务,yum install -y nginx,并且启动nginx服务,systemctl start …...

Goland无法使用debug的修复

现象goland在debug的时候,一直卡在打的断点处,释放断点程序就执行结束。 查看其他博客说是当使用老版本的goland,golang版本为高版本时就会出现debug问题,需要手动更换dlv。 接下来以window为例子: 第一步&#xff1…...

MySQL和Doris开窗函数LAG执行时的区别

目标表的表结构 CREATE TABLE point_value_status_color_tmp ( id bigint NOT NULL, org_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, device_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, origin_ti…...

都是小憨憨!

周五晚上约了俩哥们儿吃饭,天南海北地聊着。其中一个哥们儿 L 讲,他在外面如何辛苦跑业务,维系客户,拿单子……但却被合伙人说是合伙人拉了 L 一把,而且可以分分钟灭了 L。所以 L 感觉到很委屈。然后我们俩就劝说趁早决…...

高级java每日一道面试题-2024年9月30日-服务器篇[Redis篇]-Redis持久化有几种方式?

如果有遗漏,评论区告诉我进行补充 面试官: Redis持久化有几种方式? 我回答: Redis 是一个高性能的键值存储系统,常用于缓存、消息队列和实时数据分析等场景。为了保证数据的持久性,Redis 提供了两种主要的持久化方式:RDB(Redi…...

ICML 2024 论文分享┆一个简单且通用的交通预测提示调优框架

论文简介 本推文介绍了2024 ICML的优秀论文之一《FlashST: A Simple and Universal Prompt-Tuning Framework for Traffic Prediction》。论文的核心目标是通过整合空间和时间因素,精准地预测和分析交通流量的动态变化。然而,在交通预测领域&#xff0c…...

【C++打怪之路Lv4】-- 类和对象(中)

🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分82)&#…...

滚雪球学MySQL[1.1讲]:MySQL简介与环境配置

全文目录: 前言1. MySQL简介与环境配置1.1 MySQL简介什么是MySQLMySQL的历史和版本MySQL的应用场景 1.2 安装与配置安装MySQL(Windows、Linux、macOS)配置文件解析(my.cnf)启动与停止MySQL服务 1.3 MySQL客户端工具MyS…...

Llama微调以及Ollama部署

1 Llama微调 在基础模型的基础上,通过一些特定的数据集,将具有特定功能加在原有的模型上。 1.1 效果对比 特定数据集 未使用微调的基础模型的回答 使用微调后的回答 1.2 基础模型 基础大模型我选择Mistral-7B-v0.3-Chinese-Chat-uncensored&#x…...

中关村环球时尚产业联盟 东晟时尚产业创新中心成立

2024年9月6日,中关村环球时尚产业联盟与东晟时尚创新科技(北京)有限公司于中关村科技园东城园举行了隆重的战略合作签约仪式。 中关村科技园东城园领导发表了致辞,并表示东城区作为首都北京的核心区域,拥有深厚的历史…...

基于SSM的宠物领养管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的宠物领养管理系统2拥有两种角色 管理员:宠物分类管理、领养管理、宠物商品管理、用户管理、寄存管理、丢失信息管理、订单管理等 用户:登录注册、收藏评…...

为什么要配置环境变量?

在 Windows 操作系统中配置环境变量有多个重要的原因,这些原因与软件开发、系统管理和日常使用密切相关。以下是一些主要的原因: 1. 系统路径(PATH) 可执行文件的位置:PATH 环境变量用于指定操作系统在何处查找可执行…...

条件熵公式详细解释、举例说明计算步骤

公式 7-4 是条件熵的表达式: E ( Y ∣ X ) ∑ i 1 m p ( X x i ) E ( Y ∣ X x i ) E(Y|X) \sum_{i1}^m p(X x_i) E(Y | X x_i) E(Y∣X)i1∑m​p(Xxi​)E(Y∣Xxi​) 这个公式表示的是条件熵,它是衡量在已知某一特征 X X X 的情况下&#xff0c…...

颍川陈氏始祖陈寔逆势崛起的原由(一)不屈的努力

园子说颍川 按陈寔的出身,与当官是风马牛不相及的。 东汉末年的社会,朝中外戚、宦官当道,地方则由世家大族把持,郡县的政治经济资源都由他们掌控分配,平民以及中小地主很难有出头之日,弄不好就被兼并了。…...

golang小项目1-家庭收支记账系统

项目地址:golang小项目 参考资料:尚硅谷golang教程P229 家庭收支记账系统 1. 系统简介 1.1 项目背景 在现代社会中,家庭的财务管理显得尤为重要。随着生活成本的不断上升,家庭需要有效地记录和分析收支情况,以确保…...

Visual Studio Code下载安装及汉化

官网:https://code.visualstudio.com/ 按照指示一步步操作即可: 汉化:...

MySQL—触发器详解

基本介绍 触发器是与表有关的数据库对象,在 INSERT、UPDATE、DELETE 操作之前或之后触发并执行触发器中定义的 SQL 语句。 触发器的这种特性可以协助应用在数据库端确保数据的完整性、日志记录、数据校验等操作。 使用别名 NEW 和 OLD 来引用触发器中发生变化的记…...

钉钉H5微应用Springboot+Vue开发分享

文章目录 说明技术路线注意操作步骤思路图 一、创建钉钉应用二、创建java项目三、创建vue项目(或uniapp项目),npm引入sdk的依赖四、拥有公网域名端口。开发环境可以使用(贝锐花生壳等工具)五、打开钉钉开发者平台&…...

项目:微服务即时通讯系统客户端(基于C++QT)]四,中间界面搭建和逻辑准备

四,中间界面搭建 前言:当项目越来越复杂的时候,或许画草图是非常好的选择 一,初始化中间窗口initMidWindow void mainWidget::initMidWindow() {//使用网格布局进行管理QGridLayout* layout new QGridLayout();//距离上方 20px 的距离&…...

【C语言】指针详解(一)

个人主页 : zxctscl 如有转载请先通知 文章目录 1.内存与地址2.指针变量与地址2.1 取地址操作符&2.2 指针变量2.3 指针类型2.4 解引用操作符2.5 指针变量的大小 3. 指针变量类型的意义3.1 指针的解引用 4. const修饰指针4.1 const修饰变量4.2 const修饰指针变量…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook,用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途,下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

网站指纹识别

网站指纹识别 网站的最基本组成:服务器(操作系统)、中间件(web容器)、脚本语言、数据厍 为什么要了解这些?举个例子:发现了一个文件读取漏洞,我们需要读/etc/passwd,如…...

深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向

在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...

React核心概念:State是什么?如何用useState管理组件自己的数据?

系列回顾: 在上一篇《React入门第一步》中,我们已经成功创建并运行了第一个React项目。我们学会了用Vite初始化项目,并修改了App.jsx组件,让页面显示出我们想要的文字。但是,那个页面是“死”的,它只是静态…...

【java面试】微服务篇

【java面试】微服务篇 一、总体框架二、Springcloud(一)Springcloud五大组件(二)服务注册和发现1、Eureka2、Nacos (三)负载均衡1、Ribbon负载均衡流程2、Ribbon负载均衡策略3、自定义负载均衡策略4、总结 …...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space

问题:IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案:将编译的堆内存增加一点 位置:设置setting-》构建菜单build-》编译器Complier...