LVS 官网: The Linux Virtual Server Project - Linux Server Cluster for Load Balancing
一、实验环境
主机名 | 角色 |
---|---|
LVS | 调度器(VS) |
webserver1 | 服务器(RS) |
webserver2 | 服务器(RS) |
二、lvs集群的类型及运行原理
LVS负载均衡常见的有三种工作模式,分别是地址转换(简称NAT模式)、IP隧道(简称TUN模式)和直接路由(简称DR模式),其实企业中最常用的是 DR 实现方式,而 NAT 配置上比较简单和方便,下面总结 DR 和 NAT 原理和特点
工作原理:VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RS
2.1LVS相关术语
-
DS:Director Server, 指的是前端负载均衡器节点。
-
RS:Real Server, 后端真实的工作服务器。
-
VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址。
-
DIP:Director Server IP, 前端负载均衡器IP地址,主要用于和内部主机通信。
-
RIP:Real Server IP, 后端服务器]的IP地址。
-
CIP:Client IP, 访问客户端的IP地址
2.2nat模式
Ivs-nat:
1.本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和PORT实现转发 2.RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP 3.请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈 4.支持端口映射,可修改请求报文的目标PORT 5.VS必须是Linux系统,RS可以是任意OS系统
2.2.1nat数据逻辑模型结构
-
用户发送请求到Director Server,请求的数据报文(源IP是CIP,目标IP是VIP)到达内核空间。
-
内核空间判断数据包的目标IP是本机,此时IPVS比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器IP,重新封装数据包(源IP为CIP,目标IP为RIP),然后选路将数据包发送给Real Server。
-
Real Server比对发现目标IP是本机的IP,重新封装报文(源IP为RIP,目标IP为CIP)发回给Director Server。
-
Director Server重新封装数据包,将源IP地址修改为自己的VIP地址,然后响应给客户端。 此时报文的源IP为VIP,目标IP为CIP。
2.3DR模式
DR:Direct Routing,直接路由,LVS默认模式,应用最广泛,通过为请求报文重新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变
2.3.1DR数据逻辑模型结构
-
用户发送请求到Director Server,请求的数据报文(源IP是CIP,目标IP是VIP)到达内核空间。
-
由于DS和RS在同一个网络中,所以是通过二层数据链路层来传输。
-
内核空间判断数据包的目标IP是本机IP,此时IPVS比对数据包请求的服务是否为集群服务,若是,重新封装数据包,修改源MAC地址为DIP的MAC地址,目标M