基于 openEuler 构建 LVS-DR 群集

发布于:2025-02-12 ⋅ 阅读:(43) ⋅ 点赞:(0)

一、 对比 LVS 负载均衡群集的 NAT 模式和 DR 模式,比较其各自的优势 。
二、 基于 openEuler 构建 LVS-DR 群集。

NAT 模式

部署简单:NAT 模式下,所有的服务器节点只需要连接到同一个局域网内,通过负载均衡器进行网络地址转换,就可以实现负载均衡功能。不需要对服务器节点的网络配置进行复杂的修改,也不需要特殊的网络设备支持,易于部署和维护。

对服务器要求低:服务器节点无需特殊配置,它们可以使用私有 IP 地址,通过负载均衡器进行 NAT 转换后对外提供服务。这使得在现有的网络环境中添加新的服务器节点变得较为容易,无需担心 IP 地址冲突等问题。

安全性较高:由于服务器节点使用私有 IP 地址,对外隐藏了内部网络结构,外部网络只能看到负载均衡器的公网 IP 地址,一定程度上提高了内部服务器的安全性,减少了外部攻击的暴露面。

支持端口映射:可以方便地实现端口映射功能,将外部请求的不同端口映射到内部服务器的不同端口或服务上,灵活地满足各种应用场景的需求,例如可以将外部的 80 端口请求映射到内部服务器的不同 Web 服务端口。

DR 模式

性能高效:DR 模式下,负载均衡器只负责将请求分发到后端服务器,后端服务器直接将响应数据包返回给客户端,无需经过负载均衡器再次转发。这样大大减少了负载均衡器的处理压力,提高了整个系统的响应速度和吞吐量,能够处理大量的并发请求。

支持大流量:由于响应数据直接从后端服务器返回给客户端,避免了 NAT 模式下可能出现的负载均衡器带宽瓶颈问题,特别适合处理大流量的网络服务,如大型网站、视频流服务等。

对网络依赖小:相比其他一些模式,DR 模式对网络的依赖相对较小,不需要特殊的网络设备支持复杂的功能。只需要保证负载均衡器和后端服务器之间的网络连接正常,并且能够进行正确的路由配置即可。

服务器可扩展性好:在 DR 模式下,添加或删除后端服务器节点对整个系统的影响较小,只需要在负载均衡器上进行相应的配置调整,后端服务器可以独立地进行扩展或收缩,方便实现系统的弹性扩展,以满足业务量的变化需求。

二 、LVS-DR 群集

1.环境

3台openEuler加一台rocky或4台openEuler

调度器 192.168.23.11

RS1  192.168.23.12

RS2  192.168.23.13

客户端  192.168.23.14

VIP 192.168.23.10/32

2.配置RS(两台都要)

yum install nginx -y

cd /usr/share/nginx/html/

echo "web test page,ip is `hostname -I`" > /usr/share/nginx/html/index.html

systemctl enable --now nginx #启动

curl localhost #访问

nmcli con add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 192.168.23.10/32    #绑定VIP

vim /etc/sysctl.conf  #ARP抑制

添加

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

sysctl -p

3.配置调度器

nmcli con add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 192.168.23.10/32       #绑定VIP

yum install ipvsadm -y

ipvsadm -A -t 192.168.23.10:80 -s rr                                   #添加两台RS虚拟服务器
ipvsadm -a -t 192.168.23.10:80 -r 192.168.23.12:80 -g
ipvsadm -a -t 192.168.23.10:80 -r 192.168.23.13:80 -g      #添加两台RS真实服务器

4.测试