一、工作过程
1. VS-NAT
- 客户端请求:客户端发送请求到LVS(Director Server)的VIP(Virtual IP)。
- 地址转换:Director Server接收到请求后,修改数据包的目的IP地址为某台Real Server的真实IP地址(RIP),同时将源IP地址改为自身的IP地址,然后将数据包转发给选中的Real Server。
- 服务处理:Real Server处理请求并将响应数据返回给Director Server。
- 返回客户端:Director Server再将响应数据的源IP地址改回VIP,然后发送给客户端。
2. VS-DR
- 客户端请求:客户端发送请求到LVS(Director Server)的VIP。
- 直接路由:Director Server仅修改数据包的MAC地址为选定Real Server的MAC地址,而IP地址保持不变,然后将数据包直接发送到Real Server。
- 服务处理:Real Server根据目的IP地址(即VIP)处理请求并直接将响应数据发送给客户端。
3. VS-TUN
- 封装转发:Director Server接收到客户端的请求后,将整个数据包封装在一个新的IP隧道报文中,源IP为Director Server的IP,目标IP为Real Server的IP,然后发送给Real Server。
- 解封装处理:Real Server接收到隧道报文后,解封装得到原始请求,处理请求并将响应直接发送给客户端。
二、优缺点对比
1. VS-NAT
优点
- 配置简单:NAT模式在配置和部署上相对简单,对服务器的改动较小,只需要在负载均衡器上进行地址转换配置。
- 支持端口映射:NAT模式支持端口映射功能,可以将不同的服务映射到不同的后端服务器上,提高了服务的灵活性和可扩展性。
- 服务器使用私有地址:在NAT模式下,后端服务器可以使用私有IP地址,不需要为每台服务器分配公网IP,节约了IP资源。
缺点
- 性能瓶颈:由于所有的请求包和应答包都需要经过负载均衡器进行地址转换,因此当服务器节点数量较多或流量较大时,负载均衡器容易成为性能瓶颈。
- 扩展性受限:随着服务器节点的增加,负载均衡器的处理压力也会增大,限制了系统的扩展性。
- 同一VLAN要求:NAT模式下,负载均衡器和后端服务器需要在同一VLAN内,这限制了系统的部署灵活性。
2. VS-DR
优点
- 高性能:由于应答包直接由后端服务器返回给客户端,不经过负载均衡器,因此DR模式具有高性能和低延迟的特点。
- 扩展性好:随着服务器节点的增加,系统的处理能力和吞吐量也会相应增加,具有良好的扩展性。
- 支持多数操作系统:DR模式对后端服务器的操作系统没有特殊要求,可以使用大多数操作系统作为物理服务器。
缺点
- 配置复杂:DR模式需要在负载均衡器和后端服务器之间进行ARP请求的处理和VIP的配置,配置相对复杂。
- 同一VLAN要求:和NAT模式一样,DR模式下负载均衡器和后端服务器也需要在同一VLAN内,这限制了系统的部署灵活性。
- 不支持端口映射:由于DR模式是基于IP层的负载均衡,因此不支持端口映射功能。
3. VS-TUN
优点
- 灵活性高:TUN模式可以跨越不同的物理网络,后端服务器可以位于不同的VLAN或地理位置,提高了系统的灵活性和可扩展性。
- 减少负载均衡器压力:由于应答包直接由后端服务器返回给客户端,不经过负载均衡器,因此减轻了负载均衡器的处理压力。
- 支持异地部署:TUN模式可以在不同的地理位置部署后端服务器,实现了服务的异地冗余和负载均衡。
缺点
- 配置复杂:TUN模式需要在后端服务器上安装IPIP模块,并进行封装和解封装操作,配置相对复杂。
- 增加处理开销:由于每个数据包都需要进行封装和解封装操作,因此会增加一定的处理开销和延迟。
- 依赖特定协议:TUN模式依赖于IP隧道协议,需要在后端服务器上支持该协议才能实现负载均衡。
NAT模式 | TUN模式 | DR模式 | |
RS操作系统 |
不限 | 支持隧道 | 禁用arp |
支持网络 | 私网 | 私网、公网 | 私网 |
性能 | 受限于负载均衡器的处理能力 |
性能较好 |
高性能,响应报文直接由后端服务器返回给客户端 |
扩展性 | 受限 | 扩展性良好 | 易于扩展 |
调度器和服务器网络 | 可跨网络 | 可跨网络 | 不可跨网络 |
调度器数量服务器数量 | 少(10-20) | 多 | 多 |
RS服务器网关 | 指向到调度器DIP | 指向到路由 | 指向到路由 |
NAT模式适合小规模集群,Tun模式适合跨网段负载均衡,DR模式适合高并发、大规模的负载均衡需求。