ipvs.md

1 VS/DR 模式

参考链接 http://zh.linuxvirtualserver.org/node/28

描述的是使用虚拟服务器/直接路由(VS/DR)模式的网络体系结构。在这种模式下,负载均衡的实现依赖于一个调度器(通常是一个专用设备或服务器,负责流量的分发)和多个实际的后端服务器(组成服务器组,用于处理请求)。下面是对这段描述的逐句解读:

  1. 调度器和服务器组都必须在物理上有一个网卡通过不分段的局域网相连:这意味着调度器和所有的后端服务器都需要连接到同一个局域网(LAN)中,并且这个网络应该是未分段的,即它们之间的通信不应该通过路由器进行路由。这通常通过直接连接到同一个交换机或高速HUB来实现。

  2. 即通过交换机或者高速的HUB相连,中间没有隔有路由器:进一步强调了调度器和服务器之间连接的物理特性,明确指出不能有路由器介入,因为路由器会分段网络,从而干扰直接路由模式的工作原理。

  3. VIP地址为调度器和服务器组共享:VIP(Virtual IP)地址是设置在调度器上的IP地址,用于接收外部对虚拟服务的请求。在VS/DR模式中,这个VIP也被配置在每个后端服务器上,但方式有所不同。

  4. 调度器配置的VIP地址是对外可见的,用于接收虚拟服务的请求报文:调度器使用VIP地址来接收来自客户端的所有请求。对外界来说,这个VIP地址代表了负载均衡服务的入口点。

  5. 所有的服务器把VIP地址配置在各自的Non-ARP网络设备上,它对外面是不可见的:在后端服务器上,VIP地址被配置为一个“非ARP响应”地址。这意味着虽然服务器上配置了VIP,但它不会对网络上的ARP请求(用于解析IP地址到物理MAC地址的协议请求)回应VIP的MAC地址,从而使得VIP对外不可见,仅在内部使用。

  6. 只是用于处理目标地址为VIP的网络请求:虽然后端服务器对于外部ARP请求不响应VIP地址,它们仍然会处理目的IP地址为VIP的数据包。这是通过直接路由模式实现的,调度器将外部请求直接转发到合适的后端服务器,而服务器知道如何处理发往VIP的请求,因为它们被配置为接收这些请求。

VS/DR模式通过共享VIP地址,并在调度器和服务器间使用直接路由的方式,实现了对外提供一个单一访问点的负载均衡服务。调度器负责接收所有外部请求并将它们分发到后端服务器,而后端服务器处理这些请求,但对外界隐藏它们的存在,确保整个过程的透明性和高效性。

在VS/DR(Virtual Server via Direct Routing)模式下,调度器和服务器组都必须通过一个物理网卡连接到未分段的局域网中,这种设计有几个关键原因:

1. 高效的数据传输

通过直接在局域网内路由数据包,可以最小化延迟和增加数据传输的效率。如果介入了路由器或网络被分段,那么数据包在到达最终目的地之前需要经过额外的跳转,这会增加处理请求的时间。

2. 简化的网络配置

在一个未分段的局域网中,所有设备都处于同一个广播域内。这简化了网络配置,因为调度器和服务器可以直接通信,无需通过路由器或其他网络设备。这也意味着所有服务器都可以直接使用VIP地址接收流量,而无需复杂的路由规则来指导数据包的流向。

3. 减少ARP问题

在VS/DR模式下,调度器使用VIP接收外部请求,但后端服务器配置为不对外广播VIP的ARP应答,以避免引起ARP冲突。如果网络被分段,且通过路由器连接,就无法有效控制ARP广播,可能导致网络混乱。在一个统一的局域网内,更容易管理和控制ARP行为,确保只有调度器响应VIP的ARP请求。

4. 保持高可用性

通过将所有服务器连接到同一个局域网,可以更容易地监控服务器状态并进行健康检查。这对于维持服务的高可用性至关重要。如果服务器分布在不同的网络段,监控和维护的复杂度将大大增加。

5. 支持透明处理请求

在VS/DR模式下,后端服务器处理请求后直接将响应返回给客户端,而不是通过调度器。这要求客户端到服务器的路径和服务器到客户端的路径是直接的,即所谓的“直接路由”。这种设计确保了高效处理请求并减少了调度器的负载。

综上所述,将调度器和服务器组通过未分段的局域网连接是为了确保数据传输的高效性、简化网络配置、减少网络协议(如ARP)可能导致的问题、保持服务的高可用性,以及支持高效直接的请求处理流程。这是VS/DR模式设计的核心部分,旨在提供高性能和高可用性的负载均衡解决方案。


ipvs.md
https://abrance.github.io/2024/04/10/domain/高可用/ipvs/
Author
xiaoy
Posted on
April 10, 2024
Licensed under