可扩展性
由于 TCP 优化是资源密集型的,因此单个 NetScaler 设备,即使是高端设备,也可能无法维持高的 Gi-LAN 吞吐量。要扩展网络容量,您可以以 N+1 群集的形式部署 NetScaler 设备。在群集部署中,NetScaler 设备作为单个系统映像协同工作。在外部交换机设备的帮助下,客户端流量分布在群集节点上。
拓扑
图 1 是一个由四个 T1300-40G 节点组成的群集的示例。
图 1 所示的设置具有以下属性:
- 所有群集节点都属于同一个网络(也称为 L2 群集)。
- 数据层面和底板流量由不同的交换机处理。
- 假设 Gi-LAN 吞吐量为 200 Gbps,而且 T1300-40G 设备可以维持 80Gbps 的吞吐量,我们需要三台 T1300-40G 设备。为了在单群集节点出现故障时提供冗余,我们总共部署了四个设备。
- 每个节点将接收高达 67Gbps 的流量(在正常运行条件下为 50Gbps,在单群集节点出现故障时为 67Gbps),因此它需要与上游交换机的 2x40Gbps 连接。为了在交换机出现故障时提供冗余,我们部署了几台上游交换机,并将连接数量增加一倍。
- 群集链路聚合 (CLAG) 用于在群集节点之间分配流量。单个 CLAG 同时处理客户端和服务器流量。在 CLAG 上启用了链路冗余,因此在任何给定时间都只能选择一个“子通道”来处理流量。如果某些链路出现故障或吞吐量低于指定阈值,则选择另一个子通道。
- 上游交换机执行对称端口信道负载平衡(例如,Cisco IOS 7.0 (8) N1 (1) 的 source-dest-ip-only 算法),以便正向和反向流量由同一个群集节点处理。此属性是可取的,因为它消除了数据包重新排序,这会降低 TCP 性能。
- 预计百分之五十的数据流量会被引导到底板,这意味着每个节点将高达 34Gbps 转向其他群集节点(正常运行条件下为 25Gbps,在单群集节点出现故障时为 34Gbps)。因此,每个节点需要至少 4x10G 连接到底板交换机。为了在交换机出现故障时提供冗余,我们部署了几台底板交换机,并将连接数量增加一倍。底板目前不支持链路冗余,因此需要使用 Cisco VPC 或等效技术来实现交换机级冗余。
- 转向数据包的 MTU 大小为 1578 字节,因此底板交换机必须支持超过 1500 字节的 MTU。
注意: 图 1 所示的设计也适用于 T1120 和 T1310 设备。对于 T1310,我们将使用 40GbE 接口进行底板连接,因为它缺少 10GbE 端口。
注意: 虽然本文档以 Cisco VPC 为例,但如果使用非Cisco交换机,则可以使用其他等效解决方案,例如瞻博网络的 MLAG。
注意: 虽然可以使用 ECMP 代替 CLAG 等其他拓扑,但此特定用例目前不支持这些拓扑。
在 NetScaler T1000 群集中配置 TCP 优化
完成物理安装、物理连接、软件安装和许可后,您可以继续进行实际的群集配置。下面描述的配置适用于图 1 所示的群集。
注意:有关群集配置的详细信息,请参阅 设置 NetScaler 群集。
假定图 1 中的四个 T1300 节点具有以下 NSIP 地址:
四个带 NSIP 地址的 T1300 节点:
T1300-40-1: 10.102.29.60
T1300-40-2: 10.102.29.70
T1300-40-3: 10.102.29.80
T1300-40-4: 10.102.29.90
群集将通过群集 IP (CLIP) 地址进行管理,该地址假定为 10.78.16.61。
设置群集
要开始配置图 1 所示的群集,请登录到要添加到群集的第一台设备(例如,T1300-40-1),然后执行以下操作。
-
在命令提示符处,输入以下命令:
命令:
> add cluster instance 1 > add cluster node 0 10.102.29.60 -state ACTIVE > add ns ip 10.102.29.61 255.255.255.255 -type clip > enable cluster instance 1 > save ns config > reboot –warm
-
设备重新启动后,连接到群集 IP (CLIP) 地址,并将其余节点添加到群集:
命令:
> add cluster node 1 10.102.29.70 -state ACTIVE > add cluster node 2 10.102.29.80 -state ACTIVE > add cluster node 3 10.102.29.90 –state ACTIVE > save ns config
-
连接到每个新添加节点的 NSIP 地址并加入群集:
命令:
> join cluster -clip 10.102.29.61 -password nsroot > save ns config > reboot –warm
-
节点重新启动后,继续进行背板配置。在群集 IP 地址上,输入以下命令为每个群集节点的底板链接创建 LACP 通道:
命令:
> set interface 0/10/[1-8] –lacpkey 1 –lacpmode ACTIVE > set interface 1/10/[1-8] –lacpkey 2 –lacpmode ACTIVE > set interface 2/10/[1-8] –lacpkey 3 –lacpmode ACTIVE > set interface 3/10/[1-8] –lacpkey 4 –lacpmode ACTIVE
-
同样,在背板交换机上配置动态 LA 和 VPC。确保底板交换机接口的 MTU 至少为 1578 字节。
-
验证频道是否正常运行:
命令:
> show channel 0/LA/1 > show channel 1/LA/2 > show channel 2/LA/3 > show channel 3/LA/4
-
配置群集节点背板接口。
命令:
> set cluster node 0 -backplane 0/LA/1 > set cluster node 1 -backplane 1/LA/2 > set cluster node 2 -backplane 2/LA/3 > set cluster node 3 –backplane 3/LA/4
-
检查群集状态并验证群集是否正常运行:
> show cluster instance > show cluster node
有关群集设置的详细信息,请参阅 设置 NetScaler 群集
跨群集节点分配流量
构成 NetScaler 群集后,部署群集链路聚合 (CLAG) 以在群集节点之间分配流量。单个 CLAG 链接将同时处理客户端和服务器流量。
在群集 IP 地址上,执行以下命令创建群集链路聚合 (CLAG) 组,如图 1 所示:
命令:
> set interface 0/40/[1-4] -lacpMode active -lacpKey 5 -lagType Cluster
> set interface 1/40/[1-4] -lacpMode active -lacpKey 5 -lagType Cluster
> set interface 2/40/[1-4] -lacpMode active -lacpKey 5 -lagType Cluster
> set interface 3/40/[1-4] -lacpMode active -lacpKey 5 -lagType Cluster
在外部交换机上配置动态链路聚合。
然后,按如下方式启用链路冗余:
代码:
> set channel CLA/1 -linkRedundancy ON -lrMinThroughput 240000
最后,通过输入以下内容来检查频道状态:
命令:
> show channel CLA/1
通道应为上升,实际吞吐量应为 320000。
有关群集链接聚合的更多信息,请参阅以下主题:
因为我们将使用基于 MAC 的转发 (MBF),所以配置一个链接集并将其绑定到 CLAG 组,如下所示:
命令:
> add linkset LS/1
> bind linkset LS/1 -ifnum CLA/1
有关链接集的详细信息,请参阅以下主题:
配置 VLAN 和 IP 地址
我们将使用条带 IP 配置,这意味着 IP 地址在所有节点上都处于活动状态(默认设置)。有关本主题的详细信息 ,请参阅条带化、部分条带和斑点配置 。
-
添加入口和导出剪辑:
命令:
> add ns ip 172.16.30.254 255.255.255.0 –type SNIP > add ns ip 172.16.31.254 255.255.255.0 –type SNIP > add ns ip6 fd00:172:16:30::254/112 –type SNIP > add ns ip6 fd00:172:16:31::254/112 –type SNIP
-
添加相应的入口和出口 VLAN:
命令:
> add vlan 30 -aliasName wireless > add vlan 31 -aliasName internet
-
将 VLAN 与 IP 和链接集绑定:
命令:
> bind vlan 31 -ifnum LS/1 -tagged > bind vlan 30 -ifnum LS/1 -tagged > bind vlan 30 -IPAddress 172.16.30.254 255.255.255.0 > bind vlan 31 -IPAddress 172.16.31.254 255.255.255.0 > bind vlan 30 -IPAddress fd00:172:16:30::254/112 > bind vlan 31 -IPAddress fd00:172:16:31::254/112
如果需要,可以添加更多入口和导出 VLAN。
配置 TCP 优化
此时,我们已经应用了所有群集特定的命令。要完成配置,请按照 TCP 优化配置中描述的步骤进行操作。
配置动态路由
NetScaler 群集可以集成到客户网络的动态路由环境中。以下是使用 BGP 路由协议(也支持 OSPF)的动态路由配置示例。
-
在 CLIP 地址中,在入口和出口 IP 地址上启用 BGP 和动态路由:
命令:
> enable ns feature bgp > set ns ip 172.16.30.254 –dynamicRouting ENABLED > set ns ip 172.16.31.254 –dynamicRouting ENABLED
-
打开 vtysh 并为导出端配置 BGP:
代码:
> shell root@ns# vtysh ns# configure terminal ns(config)# router bgp 65531 ns(config-router)# network 10.0.0.0/24 ns(config-router)# neighbor 172.16.31.100 remote-as 65530 ns(config-router)# neighbor 172.16.31.100 update-source 172.16.31.254 ns(config-router)# exit ns(config)# ns route-install propagate ns(config)# ns route-install default ns(config)# ns route-install bgp ns(config)# exit
-
配置异常端 BGP 对等方以将默认路由通告到 NetScaler 群集。例如:
命令:
router bgp 65530 bgp router-id 172.16.31.100 network 0.0.0.0/0 neighbor 172.16.31.254 remote-as 65531
-
按照类似的步骤配置入口端。
-
在 vtysh 中输入以下内容,验证配置是否已传播到所有群集节点:
命令:
ns# show running-config
-
最后,登录到每个群集节点的 NSIP 地址,并验证从 BGP 对等公布的路由:
命令:
> show route | grep BGP