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

第六次作业

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

配置简单:NAT模式的配置相对容易,无需复杂的网络设置,适合初学者和小型网络环境。

网络架构灵活:由于使用了NAT技术,LVS调度器和后端服务器可以位于不同的网段,网络架构更加灵活。

安全性高:后端服务器的IP地址被隐藏,客户端无法直接访问后端服务器,增加了系统的安全性。

支持端口映射:可以将一个端口的流量映射到多个后端服务器的不同端口,增加了配置的灵活性。

操作系统兼容性好:后端服务器可以使用任意操作系统,无需特殊支持

LVS-DR模式的优势
高性能:请求报文经过调度器,但响应报文直接从后端服务器返回客户端,减少了调度器的负载,提高了整体性能。

低延迟:由于响应报文不经过调度器,减少了数据传输的路径,降低了延迟。

可扩展性强:适合大规模集群和高并发场景,能够有效分散网络流量。

无需地址转换:不修改报文的源IP和目标IP地址,减少了地址转换带来的性能开销。

支持公网IP:后端服务器可以使用公网IP,便于直接从互联网访问。


适用场景:

NAT模式适合小型集群或对安全性要求较高的场景,例如小型企业内部的负载均衡。

DR模式更适合高并发、大规模的负载均衡需求,例如大型网站或数据中心。

性能:

NAT模式在高负载下容易成为性能瓶颈,而DR模式可以有效分散流量,提高性能。

配置复杂度:

NAT模式配置简单,适合初学者;DR模式配置相对复杂,但性能更优。

二.总结表格:
以下是LVS负载均衡群集的NAT模式和DR模式的优势对比:

LVS-NAT模式适合小型集群或对配置简单性要求较高的场景,其优点在于配置容易、网络架构灵活,但性能和扩展性受限。

LVS-DR模式适合高并发、大规模的负载均衡需求,其优点在于高性能、低延迟和良好的可扩展性,但配置相对复杂,且对网络架构有一定要求。

基于 openEuler 构建 LVS-DR 集群

1、环境准备

准备好下面四台台服务器:

2、Web服务器配置

在两台RS上安装并配置nginx服务:

[root@openEuler-2 ~]# yum install nginx -y[root@openEuler-2 ~]# echo "this is test page!(ip:`hostname -I`)" > /usr/share/nginx/html/index.html[root@openEuler-2 ~]# systemctl enable --now nginx[root@openEuler-2 ~]# curl localhost
this is test page!(ip:192.168.121.12 )# 第二台RS配置同上

3、添加VIP的相关配置

在两台RS和DS上:

[root@openEuler-1 ~]# nmcli con add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 192.168.121.10/32
Connection 'dummy-dummy1' (7a44b435-72fc-4aa4-afb2-28bf52a1b5b4) successfully added.
[root@openEuler-1 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:12:dd:13 brd ff:ff:ff:ff:ff:ffinet 192.168.121.11/24 brd 192.168.121.255 scope global noprefixroute ens160valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe12:dd13/64 scope link noprefixroutevalid_lft forever preferred_lft forever
3: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000link/ether 82:81:c6:9e:a9:f6 brd ff:ff:ff:ff:ff:ffinet 192.168.121.10/32 scope global noprefixroute dummy1valid_lft forever preferred_lft foreverinet6 fe80::1837:14b2:ae95:267a/64 scope link noprefixroutevalid_lft forever preferred_lft forever# 剩下二台RS配置同上

4、配置arp抑制

在两台RS上:

[root@openEuler-2 ~]# cat >> /etc/sysctl.conf << EOF
> net.ipv4.conf.all.arp_ignore = 1
> net.ipv4.conf.all.arp_announce = 2
> net.ipv4.conf.dummy1.arp_ignore = 1
> net.ipv4.conf.dummy1.arp_announce = 2
> EOF# 使其生效
[root@openEuler-2 ~]# sysctl -p# 第二台RS配置同上

5、LVS配置

在DS上:

[root@openEuler-1 ~]# yum install ipvsadm -y
[root@openEuler-1 ~]# ipvsadm -At 192.168.121.10:80 -s rr
[root@openEuler-1 ~]# ipvsadm -at 192.168.121.10:80 -r 192.168.121.12:80 -g
[root@openEuler-1 ~]# ipvsadm -at 192.168.121.10:80 -r 192.168.121.13:80 -g
[root@openEuler-1 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags-> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.121.10:80 rr-> 192.168.121.12:80            Route   1      0          0-> 192.168.121.13:80            Route   1      0          0

[相关参数说明]
# ipvsadm –help
-A  添加虚拟服务器
-t  设置群集地址(VIP,Virtual IP)
-s  指定负载调度算法
-a  添加真实服务器
-d  删除真实服务器
-r  指定真实服务器(Real Server)的地址
-m  使用NAT模式;-g、-i分别对应DR、TUN模式
-w  为节点服务器设置权重,默认为1

6、测试

在Client上:

[root@localhost ~]# for ((i=1;i<10;i++)); do curl 192.168.121.10; done
this is test page!(ip:192.168.121.13 )
this is test page!(ip:192.168.121.12 )
this is test page!(ip:192.168.121.13 )
this is test page!(ip:192.168.121.12 )
this is test page!(ip:192.168.121.13 )
this is test page!(ip:192.168.121.12 )
this is test page!(ip:192.168.121.13 )
this is test page!(ip:192.168.121.12 )
this is test page!(ip:192.168.121.13 )

http://www.lryc.cn/news/543063.html

相关文章:

  • 八、Spring Boot:RESTful API 应用
  • Pytorch实现之混合成员GAN训练自己的数据集
  • 微信小程序网络请求与API调用:实现数据交互
  • Cramér-Rao界:参数估计精度的“理论底线”
  • nv docker image 下载与使用命令备忘
  • C#连接sql server
  • 汽车智能制造企业数字化转型SAP解决方案总结
  • vue2项目打包后js文件过大, 首次加载缓慢
  • 数据安全_笔记系列06:数据生命周期管理(存储、传输、使用、销毁)深度解析
  • 机器学习数学基础:32.斯皮尔曼等级相关
  • 【AI-39】深度学习框架包含哪些内容
  • uniapp h5支付宝支付
  • 探索YOLO技术:目标检测的高效解决方案
  • vmware虚拟机安装使用教程【视频】
  • 2025系统架构师(一考就过):案例之三:架构风格总结
  • 渗透测试实验
  • CCA社群共識聯盟正式上線
  • 京东-零售-数据研发面经【附答案】
  • python中的JSON数据格式
  • ubuntu+aarch64+dbeaver安装【亲测,避坑】
  • Java 大视界 -- 基于 Java 的大数据机器学习模型压缩与部署优化(99)
  • vscode中使用PlatformIO创建工程加载慢
  • 微信小程序数据绑定与事件处理:打造动态交互体验
  • 力扣 下一个排列
  • JavaWeb 学习笔记
  • Linux7-线程
  • 在线VS离线TTS(语音合成芯片)有哪些优势-AIOT智能语音产品方案
  • 结构型模式 - 代理模式 (Proxy Pattern)
  • el-select滚动获取下拉数据;el-select滚动加载
  • HTTP GET 请求示例