可扩展性
由于 TCP 优化是资源密集型的,因此单个 Citrix ADC 设备(甚至是高端设备)可能无法维持高 Gi-LAN 吞吐量。要扩展网络容量,可以在 N+1 群集中部署 Citrix ADC 设备。在群集部署中,Citrix ADC 设备作为单个系统映像一起工作。在外部交换机设备的帮助下,客户端流量分布在群集节点之间。
拓扑
图 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) 的仅源代码删除 IP 算法),以便由同一群集节点处理正向和反向流量流。此属性是可取的,因为它消除了数据包重新排序,这会降低 TCP 性能。
- 预计 50% 的数据流量将被引导到背板上,这意味着每个节点将导向高达 34Gbps 的其他群集节点(在正常运行条件下为 25Gbps,在单个群集节点出现故障时为 34Gbps)。因此,每个节点至少需要 4x10G 连接到背板开关。为了在交换机故障的情况下提供冗余,我们部署了几个背板交换机,并将连接数增加一倍。背板目前不支持链路冗余,因此需要 Cisco VPC 或同等技术来实现交换机级冗余。
- 转向数据包的 MTU 大小为 1578 字节,因此背板交换机必须支持 MTU 超过 1500 字节。
注意: 图 1 所示的设计也适用于 T1120 和 T1310 设备。对于 T1310,我们将使用 40GbE 接口进行背板连接,因为它缺乏 10GbE 端口。
注意: 虽然本文档以 Cisco VPC 为例,但如果使用非 Cisco 交换机,则可以使用其他等效的解决方案,例如 Juniper 的 MLAG。
注意: 虽然其他拓扑(如 ECMP 而不是 CLAG)是可能的,但目前不支持此特定用例。
在 Citrix ADC T1000 群集中配置 TCP 优化
物理安装、物理连接、软件安装和许可完成后,您可以继续进行实际的群集配置。下面描述的配置适用于图 1 所示的群集。
注意:有关群集配置的详细信息,请参阅 设置 Citrix ADC 集群。
假定图 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
有关群集设置的详细信息,请参阅 设置 Citrix ADC 集群
跨群集节点分配流量
在您形成 Thecitrix ADC 群集后,部署群集链路聚合 (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 优化配置中描述的步骤进行操作。
配置动态路由
Citrix ADC 群集可以集成到客户网络的动态路由环境中。以下是使用 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 对等方以将默认路由通告到 Citrix ADC 群集。例如:
命令:
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