LVS DR模式搭建
目录
一、DR模式概述
一、与NET模式的区别
二、操作命令图
三、搭建流程
一、首先配置三台虚拟机并配置环境(关闭防火墙,宽容模式)
二、ping通百度
三、在115.3的(lvs)虚拟机上安装 ipvsadm
四、调整ARP参数
五、配置虚拟IP地址
六、加载 ip_vs模块
七、启动 ipvsadm服务
八、在虚服务器添加真实服务器
九、配置两个节点
十、调整从节点的ARP参数
十一、配置虚拟IP地址
十二、添加回环路由
四、验证结果
五、验证抓包结果
lvs 安装ipvsadm 和keepalived
两个节点需要安装 epel源 、nginx、ipvsadm
启动nginx服务
一、DR模式概述
LVS(Linux Virtual Server)中的DR模式(Direct Routing)是其负载均衡的一种工作模式。在DR模式中,LVS通过修改目标服务器的网络配置,将来自客户端的请求直接发送到后端服务器,而不经过负载均衡器。
下面是DR模式的工作原理及其特点:
1. 工作原理:
- 当客户端发送请求到负载均衡器时,负载均衡器会检查后端服务器的状态和负载情况,并选择一个合适的后端服务器。
- 负载均衡器会将请求的目标地址修改为后端服务器的IP地址,并转发请求给客户端。
- 后端服务器接收到请求后,响应数据直接返回给客户端,绕过了负载均衡器。
2. 特点:
- 负载均衡器只在请求开始和响应结束时参与通信,不会对请求的数据进行修改,减少了负载均衡器的开销。
- 后端服务器拥有自己的真实IP地址,可以直接与客户端进行通信,提高了系统性能和传输效率。
- 负载均衡器不需要对请求进行NAT(Network Address Translation)转换,减少了网络转发的开销。
需要注意的是,DR模式要求负载均衡器和后端服务器在同一子网内,并且后端服务器需要配置回应ARP请求的能力。此外,负载均衡器通常会通过一些其他技术,如IP路由表、链路层技术等,将从后端服务器返回的响应数据正确地路由回给客户端。
总之,LVS的DR模式在负载均衡中提供了一种高效的、直接路由到后端服务器的解决方案,可以提高系统的性能和扩展性。
一、与NET模式的区别
LVS(Linux Virtual Server)中的DR模式(Direct Routing)和NET模式是其负载均衡的两种常见工作模式,它们在负载均衡的实现方式和一些技术细节上存在区别。
以下是LVS DR模式和NET模式的主要区别:
1. 工作方式:
- DR模式:在DR模式中,LVS将客户端请求的目标IP地址修改为后端服务器的真实IP地址,并直接将请求转发给后端服务器。后端服务器直接与客户端进行通信,绕过负载均衡器。
- NET模式:在NET模式中,LVS会将客户端请求的目标IP地址修改为负载均衡器的虚拟IP地址,然后通过IP转发技术(如IP Masquerading或IP Tunneling)将数据转发给后端服务器。后端服务器经过负载均衡器将响应数据返回给客户端。
2. 网络配置:
- DR模式:在DR模式下,后端服务器必须要配置回应ARP请求的能力,并且负载均衡器和后端服务器需要在同一子网内,以确保请求可以正确路由到后端服务器。
- NET模式:在NET模式下,后端服务器无需配置回应ARP请求的能力,并且负载均衡器和后端服务器可以处于不同的网络子网中。
3. 性能和效率:
- DR模式:由于负载均衡器不需要主动转发请求和响应数据,DR模式在性能和效率上通常更高。后端服务器直接用自己的IP地址与客户端通信,减少了负载均衡器的开销。
- NET模式:NET模式需要负载均衡器主动参与请求和响应的转发,因此相比DR模式,可能会在性能和效率上略有损失。
需要根据具体的应用场景和需求来选择DR模式还是NET模式。DR模式适用于后端服务器和负载均衡器在同一子网内的情况,同时对性能要求较高的场景。而NET模式更适用于后端服务器和负载均衡器位于不同网络子网的场景,或者需要使用特定的转发技术的情况。
二、操作命令图

三、搭建流程
一、首先配置三台虚拟机并配置环境(关闭防火墙,宽容模式)
主lvs安装ipvsadm、两台从节点需要安装epel源和nginx
三台虚拟机的ip分别为 192.168.115.3

192.168.115.4

192.168.115.5

二、ping通百度

三、在115.3的(lvs)虚拟机上安装 ipvsadm

四、调整ARP参数

安装成功后,在115.3的(lvs)虚拟机上 调整ARP参数

五、配置虚拟IP地址


更改ens33:0

重启并查看地址 ip a 查看 (在两个节点上配置子网掩码是32,在lvs上配置子网掩码是24)

六、加载 ip_vs模块


七、启动 ipvsadm服务
要注意直接输入 systemctl start ipvsadm 启动会报错。

错误原因是缺少文件或目录
创建文件和目录

再次启动,则成功

八、在虚服务器添加真实服务器

提示这个界面说明 LVS 配置完成
保存策略并查看


九、配置两个节点
从服务 要输入内容指向网页
cd /usr/share/nginx/html
echo nginx1 > index.html
vim /etc/sysconfig/network-scripts/ifcfg-ens33

十、调整从节点的ARP参数



十一、配置虚拟IP地址



验证 (从节点子网掩码变成了32,两台从节点都要这么显示)

十二、添加回环路由
这是一个用于添加路由的命令。具体来说,它添加了一个到主机(host)地址192.168.115.200/32的路由,使用了一个名为lo:0的虚拟网络接口设备来传送数据。这条路由指示任何发送到192.168.115.200/32的数据包都应通过虚拟网络接口设备lo:0发送。这通常用于创建本地环回或回环接口


route -n

四、验证结果
进入网站输入 192.168.115.200 测试

再次刷新

会 1 2 来回切换
五、验证抓包结果
成功
相关文章:
LVS DR模式搭建
目录 一、DR模式概述 一、与NET模式的区别 二、操作命令图 三、搭建流程 一、首先配置三台虚拟机并配置环境(关闭防火墙,宽容模式) 二、ping通百度 三、在115.3的(lvs)虚拟机上安装 ipvsadm 四、调整ARP参数 五…...
jmeter传参base64卡顿如何解决
部分接口需要传图片base64格式参数,但是输入转为base64格式的图片参数,jmeter直接卡死,甚至电脑也卡死,此时,只需要去掉文件头描述:data:image/jpeg;base64, 即可...
JAVA-编程基础-10-集合
Lison <dreamlison163.com>, v1.0.0, 2023.04.23 JAVA-编程基础-10-集合 文章目录 JAVA-编程基础-10-集合List、Set、Map、队列全面解析ListArrayList创建ArrayList 向ArrayList中添加元素 List、Set、Map、队列全面解析 Java 集合框架可以分为两条大的支线:…...
Unity实现倒计时和获取系统时间
一:创建UGUI 1.创建Canvas画布组件,调节Canvas画布的分辨率等其他设置。我们可以把视图设置为2D模式下。 2.创建Text文本组件,取名为Timer计时器,我们调整Text文本组件的大小,用锚点设置Text文本组件的位置,并且设置好Text文本组件的颜色。 3.我们再创建一个Text文…...
Unity 之 Time.deltaTime 的详细介绍以及用法
文章目录 Time.deltaTime 是什么?Time.deltaTime 有什么用?移动游戏对象:控制动画播放速度:实现平滑的计时器和延时: Time.deltaTime 是什么? “DeltaTime”(也被称为 “Delta Time”ÿ…...
十四、Ubuntu中如何更换pip国内镜像源?以及设置软链接
前言:在配置之前,一定要给虚拟机拍照,以防万一!!! 1、安装pip3 输入: sudo apt-get install python3-pip2、建立软链接 输入: sudo ln -s /usr/bin/pip3 /usr/bin/pip一般会出现…...
Spring Boot+Atomikos进行多数据源的分布式事务管理详解和实例
文章目录 0.前言1.参考文档2.基础介绍3.步骤1. 添加依赖到你的pom.xml文件:2. 配置数据源及其对应的JPA实体管理器和事务管理器:3. Spring BootMyBatis集成Atomikos4. 在application.properties文件中配置数据源和JPA属性: 4.使用示例5.底层原理 0.前言 背景&#x…...
地上集装箱式村庄污水处理设备厂家价格
诸城市鑫淼环保小编带大家了解一下地上集装箱式村庄污水处理设备厂家价格 废水经水解酸化池后自流到生物接触氧化池,接触氧化法是一种好氧生物膜法工艺,微生物以生物膜形式及悬浮态生长于水中.它兼具活性污泥及生物滤池二者的特点.在生物接触氧化池中有机碳水化合物被分解成C0和…...
ASIC-WORLD Verilog(13)状态机FSM
写在前面 在自己准备写一些简单的verilog教程之前,参考了许多资料----Asic-World网站的这套verilog教程即是其一。这套教程写得极好,奈何没有中文,在下只好斗胆翻译过来(加点自己的理解)分享给大家。 这是网站原文&…...
设置微软Edge浏览器主页和新标签页,摆脱扰人和分散注意力的主页
默认情况下,Microsoft Edge会向您显示世界上最令人分心和讨厌的主页(也称为主屏幕)。微软不想只向你展示一个搜索框,也许还有一个漂亮的背景或一些你喜欢的网站的快捷方式,而是想在你面前扔一堆新闻标题和广告。 你可能会打开浏览器阅读电子邮件,结果被Microsoft Edge主…...
视频汇聚平台EasyCVR安防视频监控平台新增经纬度选取功能的详细介绍
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…...
HCIP-HCS华为私有云的使用
1、概述 HCS(HuaweiCoudStack)华为私有云:6.3 之前叫FusionSphere OpenStack,6.3.1 版本开始叫FusionCloud,6.5.1 版本开始叫HuaweiCloud Stack (HCS)华为私有云软件。 开源openstack,发放云主机的流程&am…...
深度学习1.卷积神经网络-CNN
目录 卷积神经网络 – CNN CNN 解决了什么问题? 需要处理的数据量太大 保留图像特征 人类的视觉原理 卷积神经网络-CNN 的基本原理 卷积——提取特征 池化层(下采样)——数据降维,避免过拟合 全连接层——输出结果 CNN …...
浏览器输入一个URL之后发生了什么?
URL解析DNS解析TCP连接TSL连接HTTP请求TCP挥手接收并解析响应 URL 解析 主要分为: 协议,eg http,https域名或者ip地址,eg www.baidu.com 域名相对于ip地址来说,更方便人们记忆,但是实际的网络传输中使用的是ip地址 端…...
uniapp 布局(自定义导航栏加固定高度的主要内容)
不想让整体页面出现滚动条 页面大致分为三部分,导航栏、主题内容、tabbar,不想让整个页面出现滚动条,只想让主要内容滚动。 我这里是直接用了uni.getSystemInfoSync(),整体分为两部分,自定义头部和滚动内容ÿ…...
android手机销售app(IDEA,SpringBoot,SSM,MySQL)+支付宝支付+全套视频教程
本项目亮点: 支付宝支付 eCharts柱状图图表数据统计 【项目功能介绍】 本系统包含后台管理和前端app双端系统,后台管理的功能包含: 登录, 退出, 修改管理员信息(基本信息与头像),资源管理,角色管理,资源权限分配,字典管理,用户管理,图书管理,订单管理,订单统计; a…...
深入探讨Java虚拟机(JVM)的工作原理与优化策略
摘要:本文对Java虚拟机(JVM)的工作原理进行深入探讨,包括其内存管理、垃圾回收以及代码执行等方面。同时,文章还通过具体的代码示例,阐述了JVM的优化策略,旨在提高Java程序的性能。 一、引言 …...
WPF数据绑定
数据绑定是一个很强大且优雅的技能,之前用过好多次,但有些地方总不是特别清晰,常常需要重新翻阅资料来回顾,于是这次用了几天时间好好梳理一下,记录一下。 首先数据绑定对数据对象的要求:需要是公有属性&a…...
Android学习之路(6) 其他UI控件
ImageView(图像视图) RadioButton(单选按钮)&Checkbox(复选框) 开关按钮ToggleButton和开关Switch ProgressBar(进度条) SeekBar(拖动条) RatingBar(星级评分条) ScrollView(滚动条)...
matlab实现牛顿迭代法求解非线性方程
非线性方程是指含有未知数的方程,且方程中至少有一个未知数的次数大于一或者含有非一次幂的函数(如指数、对数、三角函数等)。例如,$f(x) x^3 - 2x - 5 0$就是一个非线性方程。非线性方程通常没有显式的解析解,因此需…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
「Java基本语法」变量的使用
变量定义 变量是程序中存储数据的容器,用于保存可变的数据值。在Java中,变量必须先声明后使用,声明时需指定变量的数据类型和变量名。 语法 数据类型 变量名 [ 初始值]; 示例:声明与初始化 public class VariableDemo {publi…...
在Spring Boot中集成RabbitMQ的完整指南
前言 在现代微服务架构中,消息队列(Message Queue)是实现异步通信、解耦系统组件的重要工具。RabbitMQ 是一个流行的消息中间件,支持多种消息协议,具有高可靠性和可扩展性。 本博客将详细介绍如何在 Spring Boot 项目…...
【AI News | 20250609】每日AI进展
AI Repos 1、OpenHands-Versa OpenHands-Versa 是一个通用型 AI 智能体,通过结合代码编辑与执行、网络搜索、多模态网络浏览和文件访问等通用工具,在软件工程、网络导航和工作流自动化等多个领域展现出卓越性能。它在 SWE-Bench Multimodal、GAIA 和 Th…...
