LVS 重点精讲 + 背诵记忆点(面试必背精简版)
摘要:LVS(Linux虚拟服务器)是四层负载均衡工具,工作在传输层,具有高性能、高并发特点。其核心架构包括虚拟服务器、真实服务器和虚拟IP。LVS有三种工作模式:NAT(全流量经过)、DR(响应直回,性能最佳)、TUN(跨机房)。常用调度算法包括轮询、加权轮询和最少连接。LVS作为四层负载均衡,转发效率高但不解析HTTP协议,常与Nginx七层负载配合使用。通过Keepalived可实现LVS高
一、基础概念
LVS:Linux Virtual Server,Linux 虚拟服务器
- 作用:四层负载均衡,工作在传输层(TCP/UDP)
- 开发者:章文嵩,国产开源负载均衡
- 端口:基于 IP + 端口转发,不解析应用层 HTTP 协议
- 核心定位:高性能、高并发、高可用集群调度
二、核心架构组成(必背三角色)
- VS Virtual Server:虚拟服务器(LVS 负载均衡器)接收客户端请求,调度分发请求到后端真实主机
- RS Real Server:真实业务服务器集群实际处理业务请求,提供服务
- VIP Virtual IP:虚拟 IP客户端统一访问入口,对外暴露的访问地址
访问流程:客户端 → VIP (LVS) → 调度算法 → 分发到 RS → RS 响应
三、LVS 三种工作模式(重中之重,必考)
1. NAT 模式(网络地址转换)
- 原理请求、响应全部经过 LVS,LVS 做 IP 地址转换
- 流向客户端→LVS→RS→LVS→客户端
- 特点
- RS 网关必须指向 LVS 内网 IP
- 支持任意操作系统
- 端口转发无限制
- 瓶颈在 LVS,流量大性能受限
- 适用:中小规模集群
2. DR 直接路由模式(生产最常用)
- 原理请求经过 LVS 调度,响应数据直接由 RS 返回客户端,不回 LVS
- 流向客户端→LVS→RS→客户端
- 特点
- 所有机器同一局域网
- RS 配置 VIP 回环网卡,抑制 ARP 广播
- 响应不走 LVS,性能最高、并发最强
- 只能转发同端口服务
- 适用:大型高并发集群、网站后端
3. TUN 隧道模式
- 原理跨网段、跨公网,IP 隧道封装数据包转发
- 流向客户端→LVS→隧道封装→跨网络 RS→客户端
- 特点
- RS 可跨机房、跨网段部署
- 响应直回客户端,性能较好
- 主机需要支持 IP 隧道协议
- 适用:异地多机房集群
三模式核心对比速记
表格
| 模式 | 流量回 LVS | 性能 | 网络要求 | 生产使用率 |
|---|---|---|---|---|
| NAT | 请求 + 响应都回 | 一般 | 同网段 | 少 |
| DR | 仅请求经过 | 最高 | 同局域网 | 最高 |
| TUN | 仅请求经过 | 较高 | 可跨网段 | 异地机房 |
四、LVS 8 种调度算法(背常用 5 种)
静态算法(不看后端负载)
- RR 轮询:依次分发,平均分配
- WRR 加权轮询:权重高机器分到更多请求
- DH 目标地址哈希:同一客户端 IP 固定访问同一 RS
- SH 源地址哈希:源 IP 绑定固定 RS,保持会话
动态算法(依据后端负载分配)
- LC 最少连接:分给当前连接数最少的 RS
- WLC 加权最少连接:常用,权重 + 连接数综合判断
- SED 最短期望延迟
- NQ 从不排队
生产常用:WRR、WLC、RR、SH
五、LVS 核心优缺点
优点
- 四层转发,转发效率极高,消耗 CPU 极低
- 稳定性强,抗高并发、大流量
- 支持 TCP/UDP 所有协议
- 操作系统内核实现,无应用层开销
- 可配合 Keepalived 实现故障自动转移
缺点
- 四层负载,无法识别 HTTP 协议,不能做 URL、Cookie、会话内容转发
- 不能处理 HTTPS 解密、不能做灰度、路由规则
- DR 模式对局域网环境依赖高
六、LVS 四层 vs Nginx 七层(面试高频对比)
- 层级
- LVS:传输层四层,IP + 端口转发
- Nginx:应用层七层,解析 HTTP/HTTPS 协议
- 性能
- LVS 远高于 Nginx,大流量首选
- 功能
- LVS:只做调度转发,功能简单
- Nginx:反向代理、负载、缓存、限流、黑白名单、Rewrite、证书解密
- 适用场景
- LVS:入口高并发流量调度
- Nginx:后端业务精细化转发、网关处理
常规集群层级架构
LVS (四层入口) → Nginx (七层网关) → 业务服务
七、Keepalived + LVS 高可用(必背组合)
- 作用:解决 LVS 单点故障
- 架构:主备 LVS
- 主节点正常工作,备节点监听心跳
- 主节点宕机,VIP 自动漂移到备节点,自动接管服务
- 核心能力
- 心跳检测、故障切换、VIP 漂移、RS 健康检查
八、极简背诵记忆口诀
- LVS 是四层负载均衡,内核级转发,高性能
- 三模式:NAT 全流量经过、DR 直回性能最强、TUN 跨机房
- 常用算法:轮询、加权轮询、最少连接、哈希
- 四层只管端口 IP,不懂 HTTP 细节
- 搭配 Keepalived 实现主备高可用
- 架构顺序:LVS 入口调度 → Nginx 七层业务处理
九、高频面试简答题
-
DR 模式为什么性能最高?请求经过 LVS 调度,响应数据直接由真实服务器返回客户端,不回流负载器,减少转发压力,吞吐能力最强。
-
LVS 和 Nginx 负载区别?LVS 四层基于 IP 端口转发,性能高、功能少;Nginx 七层解析应用协议,功能丰富,性能偏低。项目一般 LVS 做入口流量分发,Nginx 做业务网关。
-
LVS 三种模式网络区别?NAT 所有流量经过 LVS;DR 同一局域网、响应直回;TUN 支持跨网段跨机房转发。
-
加权轮询和加权最少连接区别?加权轮询按固定权重分配;加权最少连接根据后端实时连接负载分配,负载更均衡。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)