基于LVS负载均衡练习

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

NAT模式,全称是网络地址转换模式。NAT模式下,负载均衡器(Director)会修改请求和响应的IP地址。客户端的请求先到达Director,Director将请求的目标地址改成后端真实服务器的地址,然后转发给后端服务器。后端服务器处理完请求后,将响应返回给Director,Director再将响应的源地址改回自己的虚拟IP(VIP),最后返回给客户端。这样的话,对于客户端来说,它只知道Director的地址,不知道后端服务器的存在。

DR模式,即直接路由模式。DR模式下,Director和后端服务器都配置了同一个虚拟IP地址。当客户端请求到达Director时,Director通过修改请求的目标MAC地址,将请求转发给选中的后端服务器。后端服务器处理请求后,直接通过自己的网络接口将响应返回给客户端,而不需要经过Director。这样响应数据可以直接从服务器到客户端,减少了Director的负担。

1. NAT模式(Network Address Translation)

  • 优势

    • 网络拓扑灵活

      • 后端服务器(Real Server)可使用私有IP地址,无需暴露公网IP。

      • 支持跨子网部署,Real Server可位于不同网络环境中(如云服务器跨可用区)。

    • 配置简单

      • Real Server无需特殊配置,只需设置默认网关为Director(负载均衡器)。

      • 无需修改Real Server的内核参数(如ARP抑制)。

    • 安全性较高

      • Real Server隐藏在Director后,对外不可见,避免直接暴露于公网。
    • 支持端口映射

      • Director可修改目标端口,实现灵活的端口转换(如将80端口请求转发到后端8080端口)。
  • 适用场景

    • 中小规模流量场景。

    • 需要跨子网或混合云部署。

    • 对后端服务器安全性要求较高。


2. DR模式(Direct Routing)

  • 优势

    • 高性能与低延迟

      • 响应数据直接由Real Server返回客户端,无需经过Director,避免带宽瓶颈。

      • 吞吐量高,适合高并发、大流量场景(如视频流、大规模Web应用)。

    • 扩展性强

      • Director仅处理入站请求,后端服务器数量增加时性能影响较小。
    • 资源利用率高

      • Real Server直接使用公网带宽,减轻Director的网络负载。
  • 适用场景

    • 高并发、大流量场景(如电商大促、在线游戏)。

    • 对吞吐量和延迟敏感的服务。

    • 需充分利用Real Server的公网带宽。

关键对比总结

特性 NAT模式 DR模式
网络拓扑 支持跨子网,Real Server可私有IP 必须同一局域网,Real Server需公网IP
性能 受限于Director的带宽和处理能力 高性能,Real Server直接响应客户端
配置复杂度 简单(Real Server无需特殊配置) 复杂(需配置ARP抑制、VIP绑定等)
安全性 高(Real Server隐藏) 较低(Real Server暴露公网IP)
端口映射 支持 不支持
适用规模 中小规模 大规模、高并发

选择建议

  • NAT模式:适合网络环境复杂、对安全性要求高、流量适中的场景。

  • DR模式:适合追求极致性能、大流量且网络环境可控的场景。

实际部署中,可结合两者优势,例如在DR模式下通过Keepalived实现Director的高可用,进一步提升系统可靠性。

基于 openEuler 构建 LVS-DR 群集

1. 环境准备

  • 操作系统:openEuler 20.03 LTS 或更高版本。

  • 网络拓扑

    • Director:1台,配置双网卡(一个公网IP,一个内网IP)。

    • Real Server:至少2台,配置内网IP。

    • 客户端:1台,用于测试。

  • IP规划

    • Director:

      • 公网IP(VIP):192.168.234.10

      • 内网IP(DIP):192.168.234.11

    • Real Server 1:

      • 内网IP(RIP):192.168.234.14
    • Real Server 2:

      • 内网IP(RIP):192.168.234.15
    • 客户端:

      • 公网IP:192.168.234.13

配置 Real Server(后端服务器)

在 Real Server 上启动 Web 服务

在两个Real Server上安装并启动nginx服务:

复制代码
yum install nginx -y
systemctl start nginx
systemctl enable nginx

在Real Server 1上创建测试页面

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

在Real Server 2上创建测试页面

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

在两个Real Server上都绑定VIP

nmcli connection add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 192.168.234.10/32

ip address查看:

配置 ARP 抑制

防止Real Server响应VIP的ARP请求:

vim /etc/sysctl.conf,添加以下内容:

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

应用配置:

sysctl -p

配置 Director(负载均衡器)

1.安装 LVS 工具

yum install ipvsadm -y

2.配置 VIP

nmcli connection add type dummy ifname dummy1 ipv4.method manual ipv4.addresses 192.168.234.10/32

3. 配置 LVS 规则

使用 ipvsadm 配置负载均衡规则:

ipvsadm -A -t 192.168.234.10:80 -s rr

ipvsadm -a -t 192.168.234.10:80 -r 192.168.234.14:80 -g

ipvsadm -a -t 192.168.234.10:80 -r 192.168.234.15:80 -g

4.在Director上查看LVS状态:

ipvsadm -Ln

5.从客户端访问 VIP

在客户端使用 curl 或浏览器访问VIP:

相关推荐
能不能别报错1 小时前
openclaw-linux部署教程+mimo-v2-pro
linux·运维·服务器
小虎卫远程打卡app2 小时前
光通信与视频编码前沿技术综述:从超大容量传输到实时神经网络编码
运维·网络·信息与通信·视频编解码
ToB营销学堂2 小时前
B2B营销自动化新解法:MarketUP聚焦高转化场景
大数据·运维·自动化
TK云大师-KK2 小时前
TikTok自动化直播遇到内容重复问题?这套技术方案了解一下
大数据·运维·人工智能·矩阵·自动化·新媒体运营·流量运营
T0uken2 小时前
WSL:离线配置 Ubuntu 开发环境
linux·运维·ubuntu
暮秋4742 小时前
ubuntu部署阿里通义千问模型
运维·ubuntu·大模型
3DVisionary5 小时前
突破3C质检产能瓶颈:XTOM蓝光扫描仪配合自动化转台实现精密件批量检测
运维·人工智能·自动化·xtom扫描仪·自动化检测·消费电子质检·良率控制
Luke Ewin5 小时前
Linux中部署Qwen3.5大模型
linux·运维·服务器·ai·llm·qwen3.5