Citrix ADC

可扩展性

由于 TCP 优化是资源密集型的,因此单个 Citrix ADC 设备(甚至是高端设备)可能无法维持高 Gi-LAN 吞吐量。要扩展网络容量,可以在 N+1 群集中部署 Citrix ADC 设备。在群集部署中,Citrix ADC 设备作为单个系统映像一起工作。在外部交换机设备的帮助下,客户端流量分布在群集节点之间。

拓扑

图 1 是由四个 T1300-40G 节点组成的聚类示例。

本地化后的图片

图 1 中所示的设置具有以下属性:

  1. 所有群集节点都属于同一网络(也称为 L2 群集)。
  2. 数据平面和背板流量由不同的交换机处理。
  3. 假设 Gi-LAN 吞吐量为 200 Gbps,并且一台 T1300-40G 电器能够维持 80Gbps 的吞吐量,我们需要三台 T1300-40G 电器。为了在单个群集节点发生故障时提供冗余,我们总共部署了四台设备。
  4. 每个节点将接收高达 67Gbps 的流量(在正常运行条件下为 50Gbps,在单个群集节点出现故障时为 67Gbps),因此它需要 2x40Gbps 连接到上游交换机。为了在交换机故障的情况下提供冗余,我们部署了几个上游交换机并将连接数增加一倍。
  5. 群集链路聚合 (CLAG) 用于跨群集节点分配流量。单个 CLAG 同时处理客户端和服务器流量。在 CLAG 上启用链路冗余,因此在任何给定时间只选择一个“子通道”并处理流量。如果某个链路失败或吞吐量低于指定阈值,则选择另一个子通道。
  6. 上游交换机执行对称端口通道负载平衡(例如,Cisco IOS 7.0 (8) N1 (1) 的仅源代码删除 IP 算法),以便由同一群集节点处理正向和反向流量流。此属性是可取的,因为它消除了数据包重新排序,这会降低 TCP 性能。
  7. 预计 50% 的数据流量将被引导到背板上,这意味着每个节点将导向高达 34Gbps 的其他群集节点(在正常运行条件下为 25Gbps,在单个群集节点出现故障时为 34Gbps)。因此,每个节点至少需要 4x10G 连接到背板开关。为了在交换机故障的情况下提供冗余,我们部署了几个背板交换机,并将连接数增加一倍。背板目前不支持链路冗余,因此需要 Cisco VPC 或同等技术来实现交换机级冗余。
  8. 转向数据包的 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),然后执行以下操作。

  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
    
  2. 设备重新启动后,连接到群集 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
    
  3. 连接到每个新添加节点的 NSIP 地址并加入群集:

    命令:

    > join cluster -clip 10.102.29.61 -password nsroot
    > save ns config
    > reboot –warm
    
  4. 节点重新启动后,继续进行背板配置。在群集 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
    
  5. 同样,在背板交换机上配置动态 LA 和 VPC。确保背板交换机接口的 MTU 至少为 1578 字节。

  6. 验证频道是否正常运行:

    命令:

    > show channel 0/LA/1
    > show channel 1/LA/2
    > show channel 2/LA/3
    > show channel 3/LA/4
    
  7. 配置群集节点背板接口。

    命令:

    > 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
    
  8. 检查群集状态并验证群集是否正常运行:

    > 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 地址在所有节点上都处于活动状态(默认设置)。有关此主题条纹、部分条纹和斑点配置的更多信息,请参阅。

  1. 添加入口和导出剪辑:

    命令:

    > 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
    
  2. 添加相应的入口和出口 VLAN:

    命令:

    > add vlan 30 -aliasName wireless
    > add vlan 31 -aliasName internet
    
  3. 将 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)。

  1. 从 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
    
  2. 打开 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
    
  3. 配置异常端 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
    
  4. 按照类似的步骤配置入口端。

  5. 从 vtysh 验证配置是否传播到所有群集节点,通过输入:

    命令:

    ns# show running-config
    
  6. 最后,登录到每个群集节点的 NSIP 地址,并验证从 BGP 对等公布的路由:

    命令:

    > show route | grep BGP
    

可扩展性