一、NAT模式
- 网络地址转换 Network address translation
- client -> vs -> Rs ->vs ->client
- 服务器可以运行任何支持 TCP/IP 的操作系统
- 只需要一个 IP 地址配置在调度器上,服务器组可以用私有的 IP 地址。
- 伸缩能力有限, 当服务器结点数目升到 20 时,调度器本身有可能成为系统的新瓶颈,因为在 VS/NAT 中请求和响应报文都需要通过负载调度器。
- VS/NAT 的优点是服务器可以运行任何支持 TCP/IP 的操作系统,它只需要一个 IP 地址配置在调度器上,
服务器组可以用私有的 IP 地址。 - 缺点是它的伸缩能力有限, 当服务器结点数目升到 20 时,调度器本身有可能成为系统的新瓶颈,因为在 VS/NAT 中请求和响应报文都需要通过负载调度器
二、TUN模式
- IP隧道 IP tunneling
- client ->vs ->Rs -> client
- 各集群节点可以跨越不同的网络,不用在同一个VLAN
- 调度器根据各个服务器的负载情况,动态地选择一台服务器,将请求报文封装在另一个 IP 报文中,再将封装后的 IP 报文转发给选出的服务器
- 服务器收到报文后,先将报文解封获得原来目标地址为 VIP 的报文,服务器发现 VIP地址被配置在本 地的 IP 隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户
- VS/TUN 技术对服务器有要求,即所有的服务器必须支持“IP Tunneling”或者“IPEncapsulation”协议。目前,VS/TUN 的后端服务器主要运行 Linux 操作系统。
- 在 VS/TUN 的集群系统中,负载调度器只将请求调度到不同的后端服务器,后端服务器将应答的数据直接返回给用户。这样,负载调度器就可以处理大量的请求,它甚至可以调 度百台以上
的服务器(同等规模的服务器),而它不会成为系统的瓶颈。即使负载调度器只有 100Mbps的全双工网卡,整个系统的最大吞吐量可超过 1Gbps。所以,VS/TUN 可以极大地增加负载调度器调度的服务器数量。VS/TUN 调度器可以调度上百台服务器,而它本身不会成为系统的瓶颈,可以 用来构建高性能的超级服务器。
三、DR模式
- 直接路由 Direct routing
- client -> vs -> Rs ->client
- 修改目标MAC
- 请求由LVS接受,由真实提供服务的服务器(RealServer, RS)直接返回给用户,返回的时候不经过LVS。
- 负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群系统的吞吐量。
- DR模式是性能最好的一种模式。
- 调度器和服务器组都必须在物理上有一个网卡通过不分断的局域网相连。
- VS/DR跟 VS/TUN 方法相同,负载调度器中只负责调度请求,而服务器直接将响应返回给客户,可以极大地提高整个集群系统的吞吐量。
- 跟 VS/TUN 相比,这种方法没有 IP 隧道的开销,但调度器和服务器组都必须在物理上有一个网卡通过不分断的局域网相连,如通过交换机或者高速的 HUB 相连。
- VIP 地址为调度器和服务器组共享,调度器配置的 VIP 地址是对外可见的,用于接收虚拟服务的请求报文
- 所有的服务器把 VIP 地址配置在各自的 Non-ARP 网络设备上,它对外面是不可见的,只是用于处 理目标地址为VIP 的网络请求。
四、FullNAT模式
- 抗攻击,跨vlan,需要重新编译内核
- 解决了跨VLAN的问题。采用这种方式,LVS和RS的部署在VLAN上将不再有任何限制,大大提高了运维部署的便利性。