1. LVS(Linux Virtual Server)
LVS 全称 Linux Virtual Server,是 Linux 内核层实现的高性能、高可用的负载均衡集群技术,由章文嵩博士开发,目前是 Linux 内核的标准模块之一。它的核心作用是将前端的请求流量分发到后端多台真实服务器(Real Server)上,从而提升服务的并发处理能力和可用性。
2. LVS 运行原理
2.1 LVS 集群体系结构

工作原理:VS 根据请求报文的目标 IP 和目标协议及端口将其调度转发至某 RS,根据调度算法来挑选 RS。
2.2 LVS 概念
- DS (Director Server - 负载均衡调度器): 类似于餐厅的'前台'。它是集群的入口,负责接收用户请求并根据算法转发。
- RS: Real Server(真实业务主机),就是后面的'服务员'。它们是真正干活的服务器。
- CIP: Client IP(客户端主机的 IP)。
- VIP: Virtual Server IP(VS 外网的 IP),对外开放的让客户访问的 IP。就像餐厅的'招牌电话',用户只知道访问这个 IP,不知道后面具体是谁在服务。
- DIP: Director IP(VS 内网的 IP),调度器负责访问内网的 IP。
- RIP: Real Server IP(真实业务主机 IP),后面 RS(服务员)自己真实的网卡 IP,用于内部通信。
访问流程:CIP <--> VIP == DIP <--> RIP
2.3 LVS 集群的类型
- lvs-nat: 修改请求报文的目标 IP,多目标 IP 的 DNAT。
- lvs-dr: 操纵封装新的 MAC 地址。
- lvs-tun: 在原请求 IP 报文之外新加一个 IP 首部。
- lvs-fullnat: 修改请求报文的源和目标 IP。
2.3.1 NAT 模式
lvs-nat:
- 本质是多目标 IP 的 DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的 RS 的 RIP 和 PORT 实现转发。
- RIP 和 DIP 应在同一个 IP 网络,且应使用私网地址;RS 的网关要指向 DIP。
- 请求报文和响应报文都必须经由 Director 转发,Director 易于成为系统瓶颈。
- 支持端口映射,可修改请求报文的目标 PORT。
- VS 必须是 Linux 系统,RS 可以是任意 OS 系统。
2.3.2 NAT 模式数据逻辑
- 客户端发送访问请求,请求数据包中含有请求来源(CIP),访问目标地址(VIP),访问目标端口(9000 port)。
- VS 服务器接收到访问请求做 DNAT,把请求数据包中的目的地由 VIP 换成 RS 的 RIP 和相应端口。
- RS1 响应请求,发送响应数据包,包中的响应报文为数据来源(RIP1),响应目标(CIP),响应端口(9000 port)。
- VS 服务器接收到响应数据包,改变包中的数据来源(RIP1 --> VIP),响应目标端口(9000 --> 80)。
- VS 服务器把修改过报文的响应数据包回传给客户端。






























