关于LVS的问题总结
关于LVS的问题总结
1. LVS工作模式及区别
工作模式 | 特点 | 区别 | 应用情况 |
---|---|---|---|
NAT | 通过网络地址转换实现的虚拟服务器,大并发访问时,调度器的性能成为瓶颈 | 调度器作为网关,是访问请求得到入口,也是响应访问的出口,在高并发场景当中负载压力很高,NAT地址转换可以提高安全性,但使用性能降低一半 | 因性能使用率问题,实际应用不多 |
DR | 使用路由技术实现虚拟服务器,节点服务器需要配置VIP,注意MAC地址广播 | 调度器仅是访问请求的入口,响应数据不经过调度器。节点服务器和调度器在同一个物理网络中,数据转发不受额外影响 | 该模式是生产环境中最常用的 |
TUN | 通过隧道方式实现虚拟路由器 | 调度器仅是访问请求的入口,响应数据不经过调度器。但是需要大量公网IP,还需要专用的IP隧道,数据转发受IP隧道影响 | 因公网IP问题,实际应用不多,常用于大型企业的异地灾备 |
2. LVS调度算法
- 轮询(Round Robin)
- 加权轮询(Weighted Round Robin)
- 最少连接(Least Connections)
- 加权最少连接(Weighted Least Connections)
- 源地址哈希值(Source Hash)
3. LVS调度器你的常用算法(均衡策略)
LVS调度器用的调度方法基本分为两类:
(1)固定调度算法:rr、wrr、dh、sh
rr:轮询算法,将请求依次分配给不同的rs节点,即RS节点中均摊分配。适合于RS所有节点处理性能接近的情况。
wrr:加权轮询调度,一句不同RS的权值分配任务。权值较高的RS将优先获得任务,并且分配到的连接数将比权值低的RS更多,相同权值的RS得到相同数目的连接数。
dh:目的地址哈希调度(destination hashing)以目的地址为关键字查找一个静态hash表来获得所需RS。
sh:源地址哈希调度(source hashing)以源地址为关键字查找一个静态hash表来获得需要的RS。
(2)动态调度算法:wlc、lc、lblc
wlc:加权最小连接数调度,架设各台RS的权值依次为Wi,当前tcp连接数依次为Ti,依次去Ti/Wi为最小的RS作为下一个分配的RS。
lc:最小连接数调度(least-connection),ipvs表存储了所有活动的连接。LB会比较连接请求放到当前连接最少的RS。
lblc:基于地址的最小连接数(locality-based least-connection),将来自同一个目的地址的请求分配给同一台RS,此时这台服务器是尚未满负荷的。否则就将这个请求分配给连接数最小的RS,并以它作为下一次分配的首先考虑。
4. LVS的工作模式及其工作过程
LVS有三种负载均衡的模式,分别是VS-NAT(NAT模式)、VS-DR(路由模式)、VS-TUN(隧道模式)
(1)NAT模式
原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP)。真实服务器响应完请求后,查看默认路由,把响应后的数据包发送给负载均衡器,负载均衡器在接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。
优点:集群中的服务器可以使用任何支持TCP/IP的操作系统,只要负载均衡器有一个合法的IP地址。
缺点:扩展性优先,当服务器节点增长过多时,由于所有的请求和应答都需要经过负载均衡器,因此负载均衡器将称为整个系统的瓶颈。
(2)直接路由模式
原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标MAC地址改成后端真实服务器的MAC地址(R-MAC)。真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。
优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器的大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。
缺点:需要负载均衡器与真是服务器RS都有一块网卡连接到同一物理网段上,必须在同一个局域网环境。
(3)IP隧道模式
原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求报文封装一层IP隧道(T-IP)转发到真实服务器(RS)。真实服务器响应完请求后,查看默认路由,把响应后的数据包直接发送给客户端,不需要经过负载均衡器。
优点:负载均衡器只负责将请求包分发给后端节点服务器,而RS将应答包直接发给用户。所以,减少了负载均衡器得到大量数据流动,负载均衡器不再是系统的瓶颈,也能处理很巨大的请求量。
缺点:隧道模式的RS节点需要合法IP,这种方式需要所有的服务器支持(IP Tunneling)。