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

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 集合框架可以分为两条大的支线&#xff1a;…...

Unity实现倒计时和获取系统时间

一:创建UGUI 1.创建Canvas画布组件,调节Canvas画布的分辨率等其他设置。我们可以把视图设置为2D模式下。 2.创建Text文本组件,取名为Timer计时器,我们调整Text文本组件的大小,用锚点设置Text文本组件的位置,并且设置好Text文本组件的颜色。 3.我们再创建一个Text文…...

Unity 之 Time.deltaTime 的详细介绍以及用法

文章目录 Time.deltaTime 是什么&#xff1f;Time.deltaTime 有什么用&#xff1f;移动游戏对象&#xff1a;控制动画播放速度&#xff1a;实现平滑的计时器和延时&#xff1a; Time.deltaTime 是什么&#xff1f; “DeltaTime”&#xff08;也被称为 “Delta Time”&#xff…...

十四、Ubuntu中如何更换pip国内镜像源?以及设置软链接

前言&#xff1a;在配置之前&#xff0c;一定要给虚拟机拍照&#xff0c;以防万一&#xff01;&#xff01;&#xff01; 1、安装pip3 输入&#xff1a; sudo apt-get install python3-pip2、建立软链接 输入&#xff1a; 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属性&#xff1a; 4.使用示例5.底层原理 0.前言 背景&#x…...

地上集装箱式村庄污水处理设备厂家价格

诸城市鑫淼环保小编带大家了解一下地上集装箱式村庄污水处理设备厂家价格 废水经水解酸化池后自流到生物接触氧化池,接触氧化法是一种好氧生物膜法工艺,微生物以生物膜形式及悬浮态生长于水中.它兼具活性污泥及生物滤池二者的特点.在生物接触氧化池中有机碳水化合物被分解成C0和…...

ASIC-WORLD Verilog(13)状态机FSM

写在前面 在自己准备写一些简单的verilog教程之前&#xff0c;参考了许多资料----Asic-World网站的这套verilog教程即是其一。这套教程写得极好&#xff0c;奈何没有中文&#xff0c;在下只好斗胆翻译过来&#xff08;加点自己的理解&#xff09;分享给大家。 这是网站原文&…...

设置微软Edge浏览器主页和新标签页,摆脱扰人和分散注意力的主页

默认情况下,Microsoft Edge会向您显示世界上最令人分心和讨厌的主页(也称为主屏幕)。微软不想只向你展示一个搜索框,也许还有一个漂亮的背景或一些你喜欢的网站的快捷方式,而是想在你面前扔一堆新闻标题和广告。 你可能会打开浏览器阅读电子邮件,结果被Microsoft Edge主…...

视频汇聚平台EasyCVR安防视频监控平台新增经纬度选取功能的详细介绍

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同&#xff0c;支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强&#xff0c;视频能力丰富&#xff0c;具体可实现视频监控直播、视频轮播、视频录像、…...

HCIP-HCS华为私有云的使用

1、概述 HCS&#xff08;HuaweiCoudStack&#xff09;华为私有云&#xff1a;6.3 之前叫FusionSphere OpenStack&#xff0c;6.3.1 版本开始叫FusionCloud&#xff0c;6.5.1 版本开始叫HuaweiCloud Stack (HCS)华为私有云软件。 开源openstack&#xff0c;发放云主机的流程&am…...

深度学习1.卷积神经网络-CNN

目录 卷积神经网络 – CNN CNN 解决了什么问题&#xff1f; 需要处理的数据量太大 保留图像特征 人类的视觉原理 卷积神经网络-CNN 的基本原理 卷积——提取特征 池化层&#xff08;下采样&#xff09;——数据降维&#xff0c;避免过拟合 全连接层——输出结果 CNN …...

浏览器输入一个URL之后发生了什么?

URL解析DNS解析TCP连接TSL连接HTTP请求TCP挥手接收并解析响应 URL 解析 主要分为&#xff1a; 协议&#xff0c;eg http,https域名或者ip地址&#xff0c;eg www.baidu.com 域名相对于ip地址来说&#xff0c;更方便人们记忆&#xff0c;但是实际的网络传输中使用的是ip地址 端…...

uniapp 布局(自定义导航栏加固定高度的主要内容)

不想让整体页面出现滚动条 页面大致分为三部分&#xff0c;导航栏、主题内容、tabbar&#xff0c;不想让整个页面出现滚动条&#xff0c;只想让主要内容滚动。 我这里是直接用了uni.getSystemInfoSync()&#xff0c;整体分为两部分&#xff0c;自定义头部和滚动内容&#xff…...

android手机销售app(IDEA,SpringBoot,SSM,MySQL)+支付宝支付+全套视频教程

本项目亮点: 支付宝支付 eCharts柱状图图表数据统计 【项目功能介绍】 本系统包含后台管理和前端app双端系统&#xff0c;后台管理的功能包含: 登录, 退出, 修改管理员信息(基本信息与头像),资源管理,角色管理,资源权限分配,字典管理,用户管理,图书管理,订单管理,订单统计; a…...

深入探讨Java虚拟机(JVM)的工作原理与优化策略

摘要&#xff1a;本文对Java虚拟机&#xff08;JVM&#xff09;的工作原理进行深入探讨&#xff0c;包括其内存管理、垃圾回收以及代码执行等方面。同时&#xff0c;文章还通过具体的代码示例&#xff0c;阐述了JVM的优化策略&#xff0c;旨在提高Java程序的性能。 一、引言 …...

WPF数据绑定

数据绑定是一个很强大且优雅的技能&#xff0c;之前用过好多次&#xff0c;但有些地方总不是特别清晰&#xff0c;常常需要重新翻阅资料来回顾&#xff0c;于是这次用了几天时间好好梳理一下&#xff0c;记录一下。 首先数据绑定对数据对象的要求&#xff1a;需要是公有属性&a…...

Android学习之路(6) 其他UI控件

ImageView(图像视图) RadioButton(单选按钮)&Checkbox(复选框) 开关按钮ToggleButton和开关Switch ProgressBar(进度条) SeekBar(拖动条) RatingBar(星级评分条) ScrollView(滚动条)...

matlab实现牛顿迭代法求解非线性方程

非线性方程是指含有未知数的方程&#xff0c;且方程中至少有一个未知数的次数大于一或者含有非一次幂的函数&#xff08;如指数、对数、三角函数等&#xff09;。例如&#xff0c;$f(x) x^3 - 2x - 5 0$就是一个非线性方程。非线性方程通常没有显式的解析解&#xff0c;因此需…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

Web中间件--tomcat学习

Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机&#xff0c;它可以执行Java字节码。Java虚拟机是Java平台的一部分&#xff0c;Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...

【iOS】 Block再学习

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

李沐--动手学深度学习--GRU

1.GRU从零开始实现 #9.1.2GRU从零开始实现 import torch from torch import nn from d2l import torch as d2l#首先读取 8.5节中使用的时间机器数据集 batch_size,num_steps 32,35 train_iter,vocab d2l.load_data_time_machine(batch_size,num_steps) #初始化模型参数 def …...

嵌入式面试常问问题

以下内容面向嵌入式/系统方向的初学者与面试备考者,全面梳理了以下几大板块,并在每个板块末尾列出常见的面试问答思路,帮助你既能夯实基础,又能应对面试挑战。 一、TCP/IP 协议 1.1 TCP/IP 五层模型概述 链路层(Link Layer) 包括网卡驱动、以太网、Wi‑Fi、PPP 等。负责…...