ADC

使用等价多路径 (ECMP)

通过在群集部署中使用等价多路径 (ECMP) 机制,主动群集节点通告虚拟服务器 IP 地址。接收通告流量的群集节点将流量引导到必须处理流量的节点。在有斑点和部分条带化的虚拟服务器中,可能存在冗余转向。因此,从 NetScaler 11 开始,发现和部分条带化的虚拟服务器 IP 地址会通告所有者节点,从而减少冗余控制。

您必须具备使用 ECMP 的路由协议的详细知识。有关更多信息,请参阅 配置动态路由。有关集群中路由的更多信息,请参阅 集群中的路由

要使用 ECMP,您必须首先执行以下操作:

  • 在群集 IP 地址上启用所需的路由协议(OSPF、RIP、BGP 或 ISIS)。
  • 将接口和发现 IP 地址(启用动态路由)绑定到 VLAN。
  • 配置选定的路由协议,并使用 VTYSH 外壳在 zebOS 上重新分配内核路由。

在群集 IP 地址和外部连接设备上执行类似的配置。

注意

  • 确保群集上的许可证支持动态路由,否则 ECMP 不起作用。
  • 通配符虚拟服务器不支持 ECMP,因为 RHI 需要 VIP 地址才能向路由器和通配符虚拟服务器通告。因为他们没有关联的 VIP 地址。

图 1. ECMP 拓扑

ECMP 拓扑

在群集部署上使用 ECMP 机制进行流量分配时,活动群集节点会将虚拟服务器 IP 地址通告给上游路由器。ECMP 路由器可以通过 SNIP0、SNIP1 或 SNIP2 到达 VIP 地址。图 1 中的流量如下所示:

  1. 客户端向集群上托管的 VIP 发送请求。
  2. 上游路由器根据获知的 VIP 路由,将数据包转发到任意一个节点。比方说 NS1。节点 NS1 是流量接收器。
  3. 流量接收器 (NS1) 确定必须处理流量的节点,该节点称为流量处理器。例如,节点 NS2 是流量处理器。
  4. 带有 SNIP1 (97.131.0.2) 的流量接收器 (NS1) 将请求引导到带有 SNIP2 (97.131.0.3) 的流量处理器 (NS2)。
  5. 流量处理器 (NS2) 与服务器建立连接。
  6. 服务器处理请求并将响应发送到向服务器发送请求的 SNIP 地址。

备注:

  • 只有活跃节点才会宣传 VIP 路由。
  • 非活动节点不通告 VIP 路由。
  • 所有活跃节点都通告条带化 VIP。
  • 只有活跃的所有者节点才会发布已发现或部分条带化的 VIP。

使用命令行界面在群集上配置 ECMP

  1. 登录到群集 IP 地址。

  2. 启用路由协议。

    enable ns feature <feature>
    

    示例: 启用 OSPF 路由协议。

    enable ns feature ospf
    
  3. 添加一个 VLAN。

    add vlan <id>
    

    示例

    add vlan 97
    
  4. 将群集节点的接口绑定到 VLAN。

    bind vlan <id> -ifnum <interface_name>
    

    示例

    bind vlan 97 -ifnum 0/1/2 1/1/2 2/1/2
    
  5. 为每个节点添加一个斑点 SNIP 地址,并在其上启用动态路由。

    add ns ip <SNIP> <netmask> -ownerNode <positive_integer> -dynamicRouting ENABLED
    

    示例

    add ns ip 97.131.0.1 255.0.0.0 -ownerNode 0 -dynamicRouting ENABLED -type SNIP
    add ns ip 97.131.0.2 255.0.0.0 -ownerNode 1 -dynamicRouting ENABLED -type SNIP
    add ns ip 97.131.0.3 255.0.0.0 -ownerNode 2 -dynamicRouting ENABLED -type SNIP
    
  6. 将发现的 SNIP 地址之一绑定到 VLAN。将一个斑点 SNIP 地址绑定到 VLAN 时,在该子网中的群集上定义的所有其他斑点 SNIP 地址将自动绑定到 VLAN。

    bind vlan <id> -IPAddress <SNIP> <netmask>
    

    示例

    bind vlan 97 -ipAddress 97.131.0.1 255.0.0.0
    

    注意

    您可以使用群集节点的 NSIP 地址而不是添加 SNIP 地址。如果是这样,则不必执行步骤 3-6。

  7. 使用 VTYSH shell 在 ZeBOS 上配置路由协议。

    示例:

    在节点 ID 0、1 和 2 上配置 OSPF 路由协议。

    vtysh
    ! interface vlan97 !
     router ospf   owner-node 0
    ospf router-id 97.131.0.1   exit-owner-node
    owner-node 1    ospf router-id 97.131.0.2
    exit-owner-node
    owner-node 2
    ospf router-id 97.131.0.3   exit-owner-node   redistribute kernel network 97.0.0.0/8 area 0  !
    

    注意

    对于要播发的 VIP 地址,RHI 设置是通过使用 VServerRhilevel 参数进行的,如下所示:

    add ns ip <IPAddress> <netmask> -type VIP -vserverRHILevel <vserverRHILevel>
    

    对于 OSPF 特定的 RHI 设置,可以执行以下更多设置:

    add ns ip <IPAddress> <netmask> -type VIP -ospfLSAType \( TYPE1 | TYPE5 ) -ospfArea <positive\_integer>
    

    使用 add ns ip6 命令在 IPv6 地址上执行上述命令。

  8. 在外部交换机上配置 ECMP。为 Cisco® Nexus 7000 C7010 Release 5.2(1) 交换机提供了以下配置示例。必须在其他交换机上执行类似的配置。

    //For OSPF (IPv4 addresses) Global config: Configure terminal  feature ospf    Interface config:  Configure terminal  interface Vlan10      no shutdown      ip address 97.131.0.5/8    Configure terminal  router ospf 1  network 97.0.0.0/8 area 0.0.0.0  ---------------------------------  
    
    //For OSPFv3 (IPv6 addresses) Global config:  Configure terminal  feature ospfv3    Configure terminal  interface Vlan10      no shutdown      ipv6 address use-link-local-only      ipv6 router ospfv3 1 area 0.0.0.0    Configure terminal  router ospfv3 1
    

ECMP 部署中的路由器监视群集节点

在群集设置中,在具有发现 SNIP 地址配置的所有者节点上,您现在可以禁用“所有者下响应”选项。默认情况下,该选项处于启用状态,允许节点响应来自上游路由器的 ICMP/ARP/ICMP6/ND6 请求。您现在可以禁用此选项,以允许路由器监视群集节点是否处于活动状态或非活动状态。当路由器发送请求时,如果禁用该选项,它会识别所有者节点处于非活动状态且不可用于流量分配。

使用命令行界面为静态路由流量分配配置 ECMP

add ns ip <ipddress> <netmask> -ownernode <node-id> –ownerDownResponse disable
使用等价多路径 (ECMP)