使用等价多路径 (ECMP)
通过在群集部署上使用相等成本多路径 (ECMP) 机制,活动群集节点会公布虚拟服务器 IP 地址。接收播发流量的群集节点将流量引导到必须处理流量的节点。在斑点虚拟服务器和部分条带的虚拟服务器中可以有冗余的转向。因此,从 NetScaler 11 开始,发现和部分条带的虚拟服务器 IP 地址通告所有者节点,从而减少冗余转向。
您必须具备使用 ECMP 的路由协议的详细知识。有关更多信息,请参阅 配置动态路由。有关集群中路由的更多信息,请参阅 集群中的路由。
要使用 ECMP,您必须首先执行以下操作:
- 在群集 IP 地址上启用所需的路由协议(OSPF、RIP、BGP 或 ISIS)。
- 将接口和已发现的 IP 地址(启用动态路由)绑定到 VLAN。
- 使用 VTYSH shell 配置选定的路由协议并在 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 版本 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