LVS-DR

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

LVS(Linux Virtual Server)负载均衡群集的 NAT 模式和 DR 模式是两种常用的工作模式,它们各自具有独特的优势,以下是详细对比:

NAT 模式(网络地址转换模式)

  • 部署简单
    • NAT 模式只需要在负载均衡器上进行配置,无需对后端服务器进行特殊设置。所有后端服务器可以使用私有 IP 地址,通过负载均衡器进行网络地址转换,对外呈现为一个公网 IP 地址,易于部署和管理。
  • 安全性较高
    • 后端服务器的真实 IP 地址被隐藏在负载均衡器之后,外部网络只能看到负载均衡器的公网 IP 地址,这为后端服务器提供了一定的安全保护,降低了后端服务器直接暴露在外部网络所面临的安全风险,如网络攻击等。
  • 支持端口映射
    • 可以方便地实现端口映射功能,将外部请求的不同端口映射到后端服务器的不同端口或服务上,从而灵活地支持多种应用服务的负载均衡,满足不同业务需求。
  • 对网络环境要求低
    • NAT 模式对网络环境的要求相对较低,不需要特殊的网络设备支持,只需要负载均衡器具备 NAT 功能即可,适用于各种规模和复杂程度的网络环境,尤其是在一些小型网络或对网络改造难度较大的场景中具有优势。

DR 模式(直接路由模式)

  • 高性能和低延迟
    • DR 模式中,请求数据包直接从负载均衡器发送到后端服务器,响应数据包则直接从后端服务器返回给客户端,无需经过负载均衡器再次转发,大大减少了数据传输的中间环节,提高了系统的性能和响应速度,降低了延迟,适用于对性能要求极高的场景,如大型电商网站、高并发的在线游戏平台等。
  • 支持大量并发连接
    • 由于数据传输的效率高,DR 模式能够支持大量的并发连接,后端服务器可以独立地处理客户端请求,不会因为负载均衡器的性能瓶颈而限制整个系统的并发处理能力,可扩展性强,能够轻松应对高并发流量的冲击。
  • 服务器配置灵活
    • 后端服务器可以使用公网 IP 地址,也可以使用私有 IP 地址,还可以根据实际需求灵活配置服务器的网络参数,如网关、子网掩码等,不受负载均衡器的严格限制,提高了服务器配置的灵活性和自主性。
  • 网络流量效率高
    • 避免了 NAT 模式中可能出现的网络地址转换开销,减少了数据包的处理时间和网络带宽占用,提高了网络流量的传输效率,尤其在处理大流量数据传输时,DR 模式的优势更加明显,能够充分利用网络带宽资源,提升整个系统的网络性能。

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

1. 环境搭建

名称 IP配置 服务角色 备注

open_Euler 172.25.254.103 Director Server 负载均衡服务器

open_Euler1 172.25.254.101 Real Server1(RS1) web服务器1

open_Euler2 172.225.254.102 Real Server2(RS2) web服务器2

Rocky8 172.25.254.104 Client 客户端

2.RS配置

RS1和RS2配置一样

bash 复制代码
#  安装配置web服务器
[root@openEuler1 ~]# dnf install nginx -y

[root@openEuler1 ~]# systemctl  start nginx
[root@openEuler1 ~]# cd /usr/share/nginx/html/
[root@openEuler1 html]# ls
404.html  50x.html  index.html  nginx-logo.png
[root@openEuler1 html]# echo "this is test page, `hostname -I `" > index.html
[root@openEuler1 html]# curl localhost   # 测试
this is test page, 172.25.254.102
[root@openEuler1 html]#

# 新建dummy连接并设置VIP
[root@openEuler1 html]# nmcli con add type dummy ifname dummy1 ipv4.method manua          l ipv4.addresses 172.25.254.100/32
连接 "dummy-dummy1" (d93912f0-64d1-49f5-bb75-54a21a59c3a3) 已成功添加。
[root@openEuler1 html]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defau          lt qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group d          efault qlen 1000
    link/ether 00:0c:29:ba:99:2c brd ff:ff:ff:ff:ff:ff
    inet 172.25.254.102/24 brd 172.25.254.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:feba:992c/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN g          roup default qlen 1000
    link/ether 32:89:77:ec:40:2d brd ff:ff:ff:ff:ff:ff
    inet 172.25.254.100/32 scope global noprefixroute dummy1
       valid_lft forever preferred_lft forever
    inet6 fe80::98e6:4085:1c80:ab40/64 scope link noprefixroute
       valid_lft forever preferred_lft forever


# ARP抑制
[root@openEuler1w html]# vim /etc/sysctl.conf  +



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

3.LVS负载均衡配置

bash 复制代码
#  新建dummy连接并设置VIP
[root@openEuler ~]# nmcli con add type dummy ifname dummy1 ipv4.method manual i          pv4.addresses 172.25.254.100/32
连接 "dummy-dummy1" (73294a04-5598-472e-aae5-f9b22251b1c6) 已成功添加。
[root@openEuler ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group defau          lt qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group d          efault qlen 1000
    link/ether 00:0c:29:63:5c:e1 brd ff:ff:ff:ff:ff:ff
    inet 172.25.254.103/24 brd 172.25.254.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe63:5ce1/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN g          roup default qlen 1000
    link/ether 12:32:de:42:35:60 brd ff:ff:ff:ff:ff:ff
    inet 172.25.254.100/32 scope global noprefixroute dummy1
       valid_lft forever preferred_lft forever
    inet6 fe80::977e:6d41:e800:1b67/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
# 安装ip虚拟服务器 ipvs
[root@openEuler ~]# yum install ipvsadm -y

[root@openEuler /]# cd
#  手工配置添加LVS服务
[root@openEuler ~]# ipvsadm -A -t 172.25.254.100:80 -s rr  # -A  添加虚拟服务器
[root@openEuler ~]# ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.101:80 -g
[root@openEuler ~]# ipvsadm -a -t 172.25.254.100:80 -r 172.25.254.102:80 -g  
# -s 算法  -a  添加真实服务器    -t  设置群地址
[root@openEuler ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  172.25.254.100:80 rr
  -> 172.25.254.101:80            Route   1      0          0
  -> 172.25.254.102:80            Route   1      0          0

4.结果测验

bash 复制代码
[root@Rocky8 ~]# for ((i=1;i<=4;i++));
> do
> curl 172.25.254.100
> done
web test page,ip is  172.25.254.101 
web test page,ip is  172.25.254.102 
web test page,ip is  172.25.254.101 
web test page,ip is  172.25.254.102
 
相关推荐
Dizzy.51738 分钟前
数据结构(查找)
数据结构·学习·算法
分别努力读书3 小时前
acm培训 part 7
算法·图论
武乐乐~3 小时前
欢乐力扣:赎金信
算法·leetcode·职场和发展
'Debug4 小时前
算法从0到100之【专题一】- 双指针第一练(数组划分、数组分块)
算法
Fansv5874 小时前
深度学习-2.机械学习基础
人工智能·经验分享·python·深度学习·算法·机器学习
yatingliu20195 小时前
代码随想录算法训练营第六天| 242.有效的字母异位词 、349. 两个数组的交集、202. 快乐数 、1. 两数之和
c++·算法
uhakadotcom6 小时前
Google DeepMind最近发布了SigLIP 2
人工智能·算法·架构
三年呀6 小时前
计算机视觉之图像处理-----SIFT、SURF、FAST、ORB 特征提取算法深度解析
图像处理·python·深度学习·算法·目标检测·机器学习·计算机视觉
淡黄的Cherry6 小时前
istio实现灰度发布,A/B发布, Kiali网格可视化(二)
java·算法·istio
Onlooker1297 小时前
LC-单词搜索、分割回文串、N皇后、搜索插入位置、搜索二维矩阵
算法·leetcode