LVS之DR模式(最常见的LVS负载方式,直接路由模式)

news2024/12/24 3:14:37

一、LVS-DR模式的数据流向

1、负载均衡器lvs调度器:只负责请求和转发到后端的真实服务器,但是响应结果,由后端服务器直接转发给客户端,不需要经过调度器的处理,减轻lvs调度器的负担,提高性能和稳定性

二、LVS-DR模式的工作原理(重点)

(一)工作原理

1、客户端发送请求到VIP

2、lvs的调度器接受请求之后,根据算法选择一台后端的真实服务器,请求转发到后端RS,把请求报文的目的Mac地址,修改成后端真实服务器的Mac地址,然后转发

3、后端真实服务器接受请求,处理完成之后。由后端服务器直接把响应结果转发给客户端,响应报文中的目的Mac地址修改成客户端的Mac地址,直接把响应报文转发到客户端

4、调度器,后端真实服务器都有VIP地址,调度的地址和后端真实服务器在同一网段

(二)重点:两台后端真实服务器都有VIP地址:中间器,在后端真实服务器上进行ip地址和Mac地址转换。

(三)VIP的作用:(设置相同的VIP地址)

1、标识后端的真实服务器

2、保证调度器和后端服务器之间的通信,保证请求可以正确的转发到后端服务器

3、实现高可用和故障转移

(四)问题1:由于调度器和后端真实服务器都有相同的VIP地址,导致响应冲突,ARP通信紊乱

1、对真实服务器进行处理,让真实服务器不响应针对VIP的ARP请求

2、VIP地址使用LO的虚拟地址:arp_ignore=1——设置内核优化的操作

3、后端真实服务器只响应目的ip为本地ip,也就是RIP(后端服务器的真实ip,ens33网卡提供的地址)

(五)问题2:返回报文使用的源地址还是VIP地址,调度器也是VIP,怎么把响应返回到客户端而不经过调度器

1、对后端真实服务器做内核参数的优化:arp_announce=2(系统不使用ip数据包的源地址,来设置ARP的请求)

2、真实的物理网卡的地址

三、DR模式的特点

1、调度器的ip和真实服务器的ip必须在同一个物理网络中

2、真实服务器的IP地址可以是私有地址,也可以是公网地址(一般都是私有地址;如果配置的是公网地址,可以通过互联网直接访问ip)

3、调度器只作为入口,不做网关(不进行数据转发),要把服务器的转发功能关闭

4、后端真实服务器的网关也不能指向调度器,真实服务器的数据包不允许经过调度器

5、后端真实服务器上,基于LO接口配置VIP的IP地址

四、ARP协议(网络层协议)

1、ARP协议:将IP地址解析为物理Mac地址

2、ARP协议的工作原理

3、ARP协议的核心:解决局域网内部的通信,IP地址和Mac地址映射

五、配置DR模式(实现DR模式的负载均衡)

test1  20.0.0.10 调度器

test2  20.0.0.12 web集群1

test3  20.0.0.13  web集群2

test4  NFS

VIP地址:20.0.0.100

(一)配置调度器

1、加载ip_vs的内核

2、安装软件

3、配置VIP地址

4、调度器的内核优化

5、配置策略

(二)配置共享服务

(三)配置后端服务器

1、编译安装nginx

2、基于回环接口创建虚拟网卡

3、把VIP地址绑定到lo:0,作为lvs的VIP地址。起到标识的作用,告诉调度器,进行转发请求的IP地址寻址

4、优化内核

五、总结

1、DR模式:核心就是响应客户端由后端的真实服务器完成,不需要经过调度器

2、VIP地址:调度器和后端服务器都要有VIP地址

3、VIP地址的作用

(1)暴露访问地址

(2)调度器转发请求的标识

(3)调度器和后端服务器之间通过VIP地址进行通信

(4)高可用(基于DR模式)

4、其他所有的请求和响应都被禁用

六、负载均衡算法

1、修改VIP的调度算法:ipvsadm -E -t 20.0.0.100:80 -s wrr

2、修改策略的轮询权重:ipvsadm -e -t 20.0.0.100:80 -r 20.0.0.12:80 -w 3

每修改完要先保存、再重启

3、wrr负载均衡器的调度算法

Forward:负载均衡算法和负载均衡方式,route就是DR模式

weight:后端服务器的轮询权重

activeconn:活跃连接,表示调度器正在处理的活动连接数,这些连接正在进行传输数据或正在进行交互

Inactiveconn:表示当前处于非活动状态的连接数,已经建立连接但是目前没有数据传输,第二个连接处于等待状态

七、重点

(一)lvs负载均衡的工作方式:NAT、DR、TUN,最常用的就是DR模式

(二)NAT和DR模式

NAT

DR

优点

配置简单

性能最好

缺点

性能瓶颈

调度服务器和后端真实服务器不能跨网段

真实服务器

ANY

不能支持ARP响应(NO-ARP),只能到真实服务器

支持的网络模式

私网

既可以是内网也可以是公网

真实服务器数量

low(10-20台)

100台

(三)NAT和DR模式的工作原理

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

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

相关文章

操作系统 常见面试问题之系统寻址空间是多大?虚拟地址与物理地址?内存映射是什么?详细总结

一、系统寻址空间是多大 1.32位地址空间 在一台32位系统上,虚拟地址空间为4GB,这个大小由系统上指针的可用数量决定。 对于一块32位的处理器,一个32位值可以表达2^32个不同的数值,如果你将每一个数值都指向不同的内存地址&#…

第01章-Java语言概述

目录 1 常见DOS命令 常用指令 相对路径与绝对路径 2 转义字符 3 安装JDK与配置环境变量 JDK与JRE JDK的版本 JDK的下载 JDK的安装 配置path环境变量 4 Java程序的编写与执行 5 Java注释 6 Java API文档 7 Java核心机制:JVM 1 常见DOS命令 DOS(…

Linux系统编程—文件

一、文件编程概述 之前在windows中对文件的操作是:打开文档——>编辑文档——>保存文档——>关闭文档 我们的Linux文件编程主要是利用代码对文件进行操作:文件创建、打开、编辑等自动化执行等 在Linux我们要使用编程调用api函数的方式进行文…

python之Cp、Cpk、Pp、Ppk

目录 1、Cp、Cpk、Pp、Ppk 2、python计算 1、Cp、Cpk、Pp、Ppk Cp Process Capability Ratio 可被译为“过程能力指数” Cpk Process Capability K Ratio 可被译为“过程能力K指数” Pp Process Performance Ratio 可被译为“过程绩效指数” Ppk Process Performance K Ra…

Win10/Win11系统bitlocker正在等待激活如何解决?

有同学升级Win10系统后,发现C盘与D盘分区盘符中出现了黄色的锁定感叹号,还显示“bitlocker正在等待激活”,这可能是用户开启了bitlocker加密所导致的。下面就来看看解决的办法吧。 一、bitlocker正在等待激活的解决方法 打开控制面板-系统和安…

浅谈uniapp中开发安卓原生插件

其实官方文档介绍的比较清楚而且详细,但是有时候他太墨迹,你一下子找不到自己想要的,所以我总结了一下开发的提纲,也是为了自己方便下次使用。 1.第一步,下载官方提供的Android的示例工程,然后倒入UniPlugin-Hello-AS工程请在App离线SDK中查找,之后Android studio,编译运行项目…

C++11新特性之十六:std::tie

在c 11标准库中&#xff0c;加入了std::tie&#xff0c;在c 14中改进&#xff0c;方便使用。 其与std::tuple关系密切&#xff0c; 主要目的是方便地使用std::tuple。 std::tie函数的作用就是从元素引用中生成一个std::tuple元组&#xff0c;其在头文件<tuple>中定义&…

Git(二)版本控制、发展历史、初始化配置、别名

目录 一、版本控制1.1 为什么要使用版本控制&#xff1f;1.2 集中化的版本控制系统1.3 分布式的版本控制系统1.3 两种版本控制系统对比集中式&#xff08;svn&#xff09;分布式&#xff08;git&#xff09; 二、发展历史三、初始化配置3.1 配置文件3.2 配置内容 四、别名 一、…

基于卷积神经网络的乳腺癌分类 深度学习 医学图像 计算机竞赛

文章目录 1 前言2 前言3 数据集3.1 良性样本3.2 病变样本 4 开发环境5 代码实现5.1 实现流程5.2 部分代码实现5.2.1 导入库5.2.2 图像加载5.2.3 标记5.2.4 分组5.2.5 构建模型训练 6 分析指标6.1 精度&#xff0c;召回率和F1度量6.2 混淆矩阵 7 结果和结论8 最后 1 前言 &…

仅手机大小!极空间T2随身数据魔盒发布:既是NAS 又是U盘

今天极空间召开新品发布会&#xff0c;带来了极空间T2随身数据魔盒&#xff0c;售价1999元起。 极空间T2随身数据魔盒体积仅手机大小&#xff0c;充电宝可供电。既是个NAS&#xff0c;又是个U盘。 其具备双M.2插槽&#xff0c;可安装两块固态硬盘。4G内存支持docker&#xff0c…

Excel宏(VBA)自动化标准流程代码

自动化流程 我们对一个报表进行自动化改造会经历的固定流程&#xff0c;这里称为“流水线”&#xff0c;通常包含以下流程&#xff1a; 打开一个表格选择打开的表格选择表格中的Sheet选择Sheet中的单元格区域 &#xff08;有时候需要按条件筛选&#xff09;复制某个区域 粘贴…

互联网Java工程师面试题·Spring篇·第二弹

目录 3、Beans 3.1、什么是 spring bean&#xff1f; 3.2、spring 提供了哪些配置方式&#xff1f; 3.3、spring 支持集中 bean scope&#xff1f; 3.4、spring bean 容器的生命周期是什么样的&#xff1f; 3.5、什么是 spring 的内部 bean&#xff1f; 3.6、什么是 spri…

Linux下编译和安装ffmpeg

本文演示Centos下面如何编译和安装ffmpeg的过程&#xff0c; 一、ffmpeg的编译和安装 1、下载解压 wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz tar -zxvf ffmpeg-5.1.tar.gz2、进入压缩目录&#xff0c;编译编译和安装 cd ffmpeg-5.1./configure --prefix/usr…

酷开科技 | 酷开系统,为居家生活打开更精彩的窗口

电视在我们的日常生活中扮演着重要的角色。虽然&#xff0c;作为客厅C位的扛把子——电视的娱乐作用深入人心&#xff0c;但是&#xff0c;它的涵义和影响力却因我们每个人的具体生活环境而存在着种种差异&#xff0c;而我们的生活环境又受到我们所处的社会及文化环境的影响。 …

哈希索引(PostgreSQL 14 Internals翻译版)

概览 哈希索引提供了根据特定索引键快速查找tuple ID (TID)的功能。粗略地说&#xff0c;它只是一个存储在磁盘上的哈希表。哈希索引唯一支持的操作是根据相等条件进行搜索。 当一个值插入到索引中时&#xff0c;将计算索引键的哈希函数。PostgreSQL哈希函数返回32位或64位整…

SSM - Springboot - MyBatis-Plus 全栈体系(三十六)

第八章 项目实战 四、后台功能开发 3. 头条模块开发 3.1 登陆验证和保护 3.1.1 需求描述 客户端在进入发布页前、发布新闻前、进入修改页前、修改前、删除新闻前先向服务端发送请求携带 token 请求头后端接收 token 请求头后&#xff0c;校验用户登录是否过期并做响应前端根…

Openssl数据安全传输平台009:加密理论基础:哈希/非对称加密RSA/对称加密AES

文章目录 0. 代码仓库代码编译时候可能出现的错误 1. 哈希1.1 哈希算法的种类:1.2 使用的头文件1.3 哈希算法API1.3.1 详解md5 API1.3.2 sha1/sha224/sha256/sha384/sha512常用API 1.5 sha1代码测试1.4 在VS中添加预处理器定义1.5 哈希算法C代码封装的思路 2. 非对称加密RSA2.1…

uniapp 单选框以及多选框样式更改

radio以及checkbox默认样式不符合自身需求时&#xff0c;根据自身需求更改样式&#xff0c;以下是自身的示例&#xff1a; 单选&#xff1a; 多选&#xff1a; 由于uniapp自身包含了一套默认的样式&#xff0c;所以如果不想全局更改只想在某个单据页面使用的话&#xff0c;就…

Redis3.2.12版本服务器迁移

1.新机器更新yum源 yum -y update 2.新机器安装redis数据库 yum install redis 3.新机器下载fedora的epel仓库 systemctl enable redis 4.将旧机器上的/etc/redis.conf拷贝到新机器的/config目录下 scp -r -P22 redis.config root162.32.196.57:/config/redis.config 5.新机器启…

CentOS 编译安装TinyXml2

安装 TinyXml2 Git 源码下载地址:https://github.com/leethomason/tinyxml2 步骤1&#xff1a;首先&#xff0c;你需要下载tinyxml2的源代码。你可以从Github或者源代码官方网站下载。并上传至/usr/local/source_code/ 步骤2&#xff1a;下载完成后&#xff0c;需要将源代码解…