LVS
一共有三种工作模式:
DR
,
Tunnel,NAT
LVS
的负载调度算法
轮叫调度
加权轮叫调度
最小连接调度
加权最小连接调度
基于局部性能的最少连接
带复制的基于局部性能最小连接
目标地址散列调度
源地址散列调度
LVS-NAT
模式的原理
![](https://img-blog.csdnimg.cn/cd3209dd59e44533b4a248624c37ab2c.png)
(a).
当用户请求到达
Director Server
,此时请求的数据报文会先到内核空间的
PREROUTING
链。
此时报文的源
IP
为
CIP
,目标
IP
为
VIP
(b). PREROUTING
检查发现数据包的目标
IP
是本机,将数据包送至
INPUT
链
©. IPVS
比对数据包请求的服务是否为集群服务,若是,修改数据包的目标
IP
地址为后端服务器
IP
,
然后将数据包发至
POSTROUTING
链。 此时报文的源
IP
为
CIP
,目标
IP
为
RIP
(d). POSTROUTING
链通过选路,将数据包发送给
Real Server
(e). Real Server
比对发现目标为自己的
IP
,开始构建响应报文发回给
Director Server
。 此时报文
的源
IP
为
RIP
,目标
IP
为
CIP
(f). Director Server
在响应客户端前,此时会将源
IP
地址修改为自己的
VIP
地址,然后响应给客户
端。 此时报文的源
IP
为
VIP
,目标
IP
为
CIP
LVS-NAT
模型的特性
RS
应该使用私有地址,
RS
的网关必须指向
DIP
DIP
和
RIP
必须在同一个网段内
请求和响应报文都需要经过
Director Server
,高负载场景中,
Director Server
易成为性能瓶颈
支持端口映射
RS
可以使用任意操作系统
缺陷:对
Director Server
压力会比较大,请求和响应都需经过
director server
LVS-DR
模式原理
![](https://img-blog.csdnimg.cn/7bf5e7e2e95c49c18a69a28445e4e8a7.png)
(a)
当用户请求到达
Director Server
,此时请求的数据报文会先到内核空间的
PREROUTING
链。 此
时报文的源
IP
为
CIP
,目标
IP
为
VIP
(b) PREROUTING
检查发现数据包的目标
IP
是本机,将数据包送至
INPUT
链
© IPVS
比对数据包请求的服务是否为集群服务,若是,将请求报文中的源
MAC
地址修改为
DIP
的
MAC
地址,将目标
MAC
地址修改
RIP
的
MAC
地址,然后将数据包发至
POSTROUTING
链。 此时的
源
IP
和目的
IP
均未修改,仅修改了源
MAC
地址为
DIP
的
MAC
地址,目标
MAC
地址为
RIP
的
MAC
地址
(d)
由于
DS
和
RS
在同一个网络中,所以是通过二层来传输。
POSTROUTING
链检查目标
MAC
地址为
RIP
的
MAC
地址,那么此时数据包将会发至
Real Server
。
(e) RS
发现请求报文的
MAC
地址是自己的
MAC
地址,就接收此报文。处理完成之后,将响应报文通
过
lo
接口传送给
eth0
网卡然后向外发出。 此时的源
IP
地址为
VIP
,目标
IP
为
CIP
(f)
响应报文最终送达至客户端
LVS-DR
模型的特性
特点
1
:保证前端路由将目标地址为
VIP
报文统统发给
Director Server
,而不是
RS
RS
可以使用私有地址;也可以是公网地址,如果使用公网地址,此时可以通过互联网对
RIP
进行直接访
问
RS
跟
Director Server
必须在同一个物理网络中
所有的请求报文经由
Director Server
,但响应报文必须不能进过
Director Server
不支持地址转换,也不支持端口映射
RS
可以是大多数常见的操作系统
RS
的网关绝不允许指向
DIP(
因为我们不允许他经过
director)
RS
上的
lo
接口配置
VIP
的
IP
地址
缺陷:
RS
和
DS
必须在同一机房中