负载均衡层 — LVS DR 模式详解
概述
Day35 深入讲解 LVS(Linux Virtual Server)四层负载均衡方案,重点在 DR 模式的核心原理、CIP/VIP/DIP/RIP 术语体系、MAC 地址转发机制、以及 LVS-DR 代理 Web 服务器和代理七层负载均衡两个部署场景。
核心内容
LVS 架构
- ipvs(内核态):工作在内核 Netfilter 框架,负责实际转发
- ipvsadm(用户态):配置管理工具
- LVS 性能极高是因为:内核态工作(避免上下文切换)+ DR 模式响应不走 LVS
四种工作模式
| 模式 | 请求 | 响应 | 适用场景 |
|---|---|---|---|
| DR | 走 LVS | 直回客户端 | 生产首选,同局域网 |
| NAT | 走 LVS | 走 LVS | 需要端口映射 |
| TUN | IP 隧道 | 可直回 | 跨机房 |
| FullNAT | 全地址转换 | 走 LVS | 云环境 |
LVS-DR 核心术语
- CIP:客户端 IP
- VIP:虚拟 IP(LVS 配在物理网卡,RS 配在 lo 网卡)
- DIP:LVS 与 RS 通信地址
- RIP:Real Server 真实 IP
DR 模式数据包流程
- 请求包 CIP→VIP 到达 LVS
- LVS 通过调度算法选择 RS,修改目标 MAC 为 RS 的 MAC(不改 IP)
- RS 收到包,lo 网卡上的 VIP 识别为本地地址
- RS 处理完成后直接以 RIP→CIP 返回(不走 LVS)
RS 关键配置
- lo 网卡配置 VIP(抑制 ARP 响应,防 VIP 冲突)
arp_ignore=1+arp_announce=2配置
调度算法
- 静态:rr(轮询)、wrr(加权轮询)、dh(目标哈希)、sh(源哈希)
- 动态:lc(最少连接)、wlc(加权最少连接)、lblc(基于本地)
关联
- 前驱:Haproxy(负载均衡方案对比)
- 后续:Keepalived 高可用(LVS+Keepalived 组合)
- 相关概念:Netfilter(防火墙)、MAC 地址(进程控制下)、四层透传