LVS DR模式搭建

news2024/11/17 17:54:46

目录

一、DR模式概述

一、与NET模式的区别

二、操作命令图

 三、搭建流程

一、首先配置三台虚拟机并配置环境(关闭防火墙,宽容模式)

二、ping通百度

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

四、调整ARP参数

五、配置虚拟IP地址

 六、加载 ip_vs模块

 七、启动 ipvsadm服务

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

 九、配置两个节点

十、调整从节点的ARP参数

 十一、配置虚拟IP地址

 十二、添加回环路由

 四、验证结果

五、验证抓包结果


一、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 配置完成

保存策略并查看

 

 九、配置两个节点

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 来回切换

五、验证抓包结果

 成功 

 

 

 

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

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

相关文章

数据库类型

文章目录 数据库的类型1. 关系型数据库2. 非关系型数据库NOSQL3. 常见的关系型数据库3.1 Oracle3.2 DB23.3 SQL Server3.4 MySQL 数据库的类型 主要分为四大类: 一:关系型数据库。 二:非关系型数据库。 三:网状数据库。 四&#…

ssm学生公寓管理中心系统源码和论文

ssm学生公寓管理中心系统源码和论文057 开发工具:idea 数据库mysql5.7 数据库链接工具:navcat,小海豚等 技术:ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,…

猿创征文|一位.Net开发工程师的客户端技术栈的学习路线

🐋作者简介:博主是一位.Net开发者,同时也是RPA和低代码平台的践行者。 🐬个人主页:会敲键盘的肘子 🐰系列专栏:.Net实用方法总结 🦀专栏简介:博主针对.Net开发和C站问答过…

mybatis-plus如何使用枚举类来实现性别和标签的数字带描述

文章目录 目录 文章目录 前言 一、环境准备 二、使用步骤 一 实体类 二 枚举类 三 持久层 四 控制层 总结 前言 枚举是一种表示一组有限可能取值的数据类型。它具有以下几个好处: 易于理解和维护:枚举提供了一种清晰明了的方式来表示一组具体的取值&a…

存储技术------存储接口和协议总结

存储技术------存储接口和协议总结 存储技术------存储接口和协议总结一、网络存储接口ATA: 在并行中没落SATA: 在低端徘徊SCSI: 中端存储的主流之选iSCSI :TCP\IP的SCSI SAS: 接口协议的明日帝国FC: 高端应用的基石MSATAM.2: 为SSD存储而生M.2接口(NVMe…

Elasticsearch 常见的简单查询

查看es中有哪些索引 请求方式:GET 请求地址:http://localhost:9200 /_cat/indices?v 参数:无 结果: 查看索引全部数据 请求方式:GET 请求地址:http://localhost:9200/index-2023-08/_search 参数&a…

Android开发基础知识总结(五)Activity专题

Activity是安卓开发中的四大组件之一,也是最重要的一者。APP中每一个对应的页面,底层都有唯一地Activity与之对应~ Activity之间通过Intent进行通信,应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不…

龙蜥社区标准化SIG举行线下社区标准研讨会,助力开源社区规范发展

8月11日下午,龙蜥社区标准化SIG组织召开线下MeetUp会议,来自阿里云、浪潮信息、Intel、CSDN、联通软件研究院、红旗软件、中兴通讯|中兴新支点、中科曙光、中科方德、统信软件、龙芯、上海兆芯、麒麟软件、万里红、普华基础软件、飞腾信息等公司的30多位…

AI狂飙,云端IDE如何书写未来?TVP吐槽大会邀您来论道

随着云原生的发展,数字化转型的深入,云端开发场景越发丰富,今年,云端 IDE 逐渐成为聚光灯下的一大焦点,CNCF 在 2023 年云原生预测中提出 “云原生 IDE 成为常态”。云端 IDE 创造了一个端到端的开发环境,并…

4.4TCP半连接队列和全连接队列

目录 什么是 TCP 半连接队列和全连接队列? TCP 全连接队列溢出 如何知道应用程序的 TCP 全连接队列大小? 如何模拟 TCP 全连接队列溢出的场景? 全连接队列溢出会发生什么 ? 如何增大全连接队列呢 ? TCP 半连接队列溢出 如何查看 TC…

思维调试:理解 DDE 的初始化过程

最近有人问我下面这个问题,我们依然可以使用之前我提到的 “思维调试” 来研究研究。 我们碰到了一个技术问题。当在资源管理器中双击打开文档时,资源管理器不会启动我们的应用程序。 更加奇怪的是,如果我们将一个调试器挂接到资源管理器进程…

git通过fork-merge request实现多人协同

一、问题 对于一个项目,如果需要多人协同开发,大家都在原始仓库中进行修改提交,经常会发生冲突,而且一不小心会把别人的代码内容覆盖掉。为了避免这样的问题,git提供了fork-merge request这样的协同方式。 二、仓库框…

Go1.19 排序算法设计实践 经典排序算法对比

详解经典排序算法 01 为什么要学习数据结构与算法 抖音直播排行榜功能 案例 规则:某个时间段内,直播间礼物数TOP10房间获得奖励,需要在每个房间展示排行榜解决方案 •礼物数量存储在Redis-zset中,使用skiplist使得元素整体有序 •…

在vue中使用codemirror格式化JSON

1. 下载指定版本的包 (避免引发不必要的错误) yarn add codemirror^5.64.02. 导入需要的文件 import CodeMirror from codemirrorimport codemirror/addon/lint/lint.cssimport codemirror/addon/fold/foldgutter.cssimport codemirror/lib/codemirror.cssimport codemirror/t…

ARM DIY(一)电源、SD卡座、SOC 调试

文章目录 前言加热台焊接热风枪吹焊电烙铁补焊电源调试SD 卡座调试DRAM 电路调试串口电路调试SOC 调试成品 前言 之前打样的几块 ARM 板,一直放着没去焊接。今天再次看到,决定把它焊起来。 加热台焊接 为了提高焊接效率,先使用加热台焊接…

uni-app 编译报错 Error: pages.json解析失败,不符合 json 规范Unexpected token ‘)‘

问题 使用webstorm开发项目时,打开pages.json习惯性ctrlaltl把代码格式了,然后报错了。 接着使用HBuilder编译,但是一直显示在编译中,完全没有反映。重启编译器与重启电脑都没有用。 没管然后编译报错了。 加上逗号再运行还是报…

【问题解决】容器部署MySQL的数据在docker commit导出的镜像中丢失

问题起因 最近公司有个甲方项目参加竞赛,要求在(基于kubeflow/arena)平台上部置应用,可以将MySQL打包在应用一起,也可以分开部署,没有提供volume相关的支持。大意是可以把初始好的数据直接拿到平台上。 经过本人在Linux虚机中启…

Ribbon:listOfServers ,${variableName:defaultValue}

解释: 配置了address的地址,请求会走address,也就是http://127.0.0.1:8081,通常用户与别的后端服务进行联调设置为其本地服务的ip。 如果address的地址被注释掉,如下面所示,类似这样的占位符${variableName:defaultVa…

基于Web的数字孪生智慧粮仓可视化管理系统

仓廪实、天下安。民之所需,行之所至。 建设背景 古往今来,粮食问题历来是安邦定国的头等大事。“粮食”作为人类生活的生命之源,在人们的日常生活中起着决定性的作用。收获的粮食归仓,仓储工作是稳定“大国粮仓”的重要环节&…

​LeetCode解法汇总1267. 统计参与通信的服务器

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 描述: 这里有一幅…