LVS作业

1、对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。

NAT 模式

部署与管理优势

配置简易:在 NAT 模式中,负载均衡器主要承担网络地址转换的工作,只需配置简单的 NAT 规则,就能实现将外部请求合理地转发至后端真实服务器。对于一些技术能力相对薄弱,或者对网络配置复杂度有严格要求的场景,这种简单的配置方式无疑是一大优势。

拓扑清晰:网络拓扑结构简单明了,数据流向是从外部客户端先到达负载均衡器,然后由负载均衡器经过 NAT 转换后将数据分发给后端服务器。这样清晰的结构使得网络管理人员在进行日常维护和故障排查时,能够快速定位问题所在,降低了管理成本和维护难度。

服务器适配优势

IP 配置简便:后端真实服务器可以使用私有 IP 地址,无需进行复杂的网络地址配置,只需将负载均衡器设置为默认网关,就能够正常接收和处理由负载均衡器转发过来的请求。这一特点使得 NAT 模式对后端服务器的兼容性极强,无论是新老服务器,还是不同型号和配置的服务器,都能轻松接入集群。

环境适应性强:由于后端服务器无需特殊的网络设置,因此可以在多种不同的网络环境和服务器环境中部署,能够很好地适应企业内部网络结构的多样性和复杂性,为企业的业务扩展和服务器升级提供了便利。

安全防护优势

IP 隐藏保护:在 NAT 模式下,后端服务器的真实 IP 地址被负载均衡器隐藏,外部网络只能看到负载均衡器的 IP 地址。这就像为后端服务器筑起了一道防护墙,大大降低了后端服务器直接暴露在公网中所面临的各种安全风险,如黑客攻击、恶意扫描等。

流量过滤管控:负载均衡器在进行 NAT 转换的同时,可以对进出网络的流量进行有效的过滤和管控,根据预设的规则,阻止非法流量和恶意请求进入后端服务器,进一步增强了整个集群的安全性和稳定性。

DR 模式

性能优化优势

低延迟传输:在 DR 模式下,数据帧直接从负载均衡器发送到后端服务器,后端服务器处理完请求后可以直接将响应数据发送给客户端,无需再次经过负载均衡器转发。这种数据传输方式极大地减少了数据在网络中的传输路径和中间环节,从而显著降低了网络延迟,使得用户能够更快地得到响应,提升了用户体验。

高并发处理:由于请求和响应的路径相对独立,数据传输效率更高,系统能够同时处理更多的并发连接。在面对高并发的业务场景时,DR 模式能够充分发挥后端服务器的处理能力,保证系统的稳定性和响应速度,不会因为并发量的增加而出现性能瓶颈。

带宽利用优势

均衡器减负:在 DR 模式中,负载均衡器只负责请求的分发,响应数据直接从后端服务器返回给客户端,这就避免了负载均衡器在处理响应数据时对网络带宽的占用,大大减轻了负载均衡器的网络带宽压力。

资源高效利用:负载均衡器可以将更多的网络带宽资源用于请求的分发和管理,提高了整个系统的资源利用效率,使得集群能够在有限的网络带宽条件下,处理更多的业务请求,提升了系统的整体性能和吞吐量。

配置与扩展优势

系统兼容性好:后端服务器可以使用不同的操作系统和网络配置,只要它们能够支持直接路由功能,就可以顺利接入 DR 模式的集群。这使得企业在选择服务器设备和软件平台时具有更大的灵活性,能够根据自身的业务需求和技术特点,选择最适合的服务器配置,充分发挥各种服务器的优势。

集群扩展灵活:当企业业务增长需要扩展集群规模时,在 DR 模式下,只需将新的服务器添加到后端服务器组中,并进行相应的网络配置,就可以轻松实现集群的扩展。这种扩展方式无需对负载均衡器和现有服务器进行大规模的重新配置,降低了扩展过程中的技术难度和风险,能够快速满足企业业务发展的需求。

2、基于 openEuler 构建 LVS-DR 群集。

环境准备:准备三台服务器:

负载均衡器:IP地址192.168.116.135 VIP是192.168.1.200.

真实服务器1:IP地址192.168.116.136

真实服务器2:IP地址192.168.116.137

负载均衡器配置:

安装ipvsadm

编辑/etc/sysctl.conf文件

使配置生效

添加VIP

配置 LVS 规则

保存 LVS 规则

真实服务器1配置

编辑/etc/sysctl.conf文件

使配置生效

添加VIP,将 VIP 绑定到本地回环接口

安装并启动 Web 服务

真实服务器2的配置和真实服务器1的配置一模一样

测试

负载均衡器和真实服务器之间:

服务访问测试:

相关推荐
Pocker_Spades_A3 分钟前
Python快速入门专业版(五十七)——POST请求与模拟登录:从表单分析到实战(以测试网站为例)
开发语言·python
道清茗16 分钟前
【RH294知识点汇总】第 3 章 《 管理变量和事实 》1
开发语言·python
星空椰17 分钟前
JavaScript基础:运算符和流程控制
开发语言·javascript·ecmascript
Halo_tjn19 分钟前
Java 接口的定义重构学生管理系统
java·开发语言·算法
阿Y加油吧26 分钟前
栈的经典应用:从「有效括号」到「寻找两个正序数组的中位数」深度解析
开发语言·python·算法
xiaotao13132 分钟前
阶段零:Python 安装与虚拟环境(venv / Conda)
开发语言·人工智能·python·conda
BingoGo35 分钟前
Laravel13 + Vue3 的免费可商用 PHP 管理后台 CatchAdmin V5.2.0 发布
后端·php·laravel
dr_yingli35 分钟前
fMRI(4-1)统计分析报告生成器说明
开发语言·matlab
m0_716765231 小时前
数据结构--顺序表的插入、删除、查找详解
c语言·开发语言·数据结构·c++·学习·算法·visual studio
Halo_tjn1 小时前
Java 抽象类 知识点
java·开发语言·算法