使用等价多路径 (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 机制进行流量分配时,活动群集节点会将虚拟服务器 IP 地址通告给上游路由器。ECMP 路由器可以通过 SNIP0、SNIP1 或 SNIP2 到达 VIP 地址。图 1 中的流量如下所示:
- 客户端向集群上托管的 VIP 发送请求。
- 上游路由器根据获知的 VIP 路由,将数据包转发到任意一个节点。比方说 NS1。节点 NS1 是流量接收器。
- 流量接收器 (NS1) 确定必须处理流量的节点,该节点称为流量处理器。例如,节点 NS2 是流量处理器。
- 带有 SNIP1 (97.131.0.2) 的流量接收器 (NS1) 将请求引导到带有 SNIP2 (97.131.0.3) 的流量处理器 (NS2)。
- 流量处理器 (NS2) 与服务器建立连接。
- 服务器处理请求并将响应发送到向服务器发送请求的 SNIP 地址。
备注:
- 只有活跃节点才会宣传 VIP 路由。
- 非活动节点不通告 VIP 路由。
- 所有活跃节点都通告条带化 VIP。
- 只有活跃的所有者节点才会发布已发现或部分条带化的 VIP。
使用命令行界面在群集上配置 ECMP
-
登录到群集 IP 地址。
-
启用路由协议。
enable ns feature <feature>
示例: 启用 OSPF 路由协议。
enable ns feature ospf
-
添加一个 VLAN。
add vlan <id>
示例
add vlan 97
-
将群集节点的接口绑定到 VLAN。
bind vlan <id> -ifnum <interface_name>
示例
bind vlan 97 -ifnum 0/1/2 1/1/2 2/1/2
-
为每个节点添加一个斑点 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
-
将发现的 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。
-
使用 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 地址上执行上述命令。
-
在外部交换机上配置 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