Citrix ADC

配置第三层集群

了解L3集群

扩展高可用性部署和提高跨不同网络的客户端流量可伸缩性的需求引导了L3集群的建立。L3集群允许您跨各个子网(L2集群)对Citrix ADC设备进行分组。

L3集群也被称为“独立网络配置(INC)模式下的集群”。在L3集群部署中,同一网络中的集群节点被划分为一个Node组。L3集群使用GRE隧道引导数据包通过网络。心跳消息跨L3集群路由。

本文件包括以下内容:

  • 体系结构
  • 例子

体系结构

L3集群架构包括以下组件:

  • 节点组.如下图所示,每个网络(n1, n2)和(n3, n4)中的集群节点被分组形成一个Node组。这些节点组被终止于网络两侧的三层交换机。
    • 集群通过集群节点与客户端连接设备之间的物理连接与客户端通信。这些物理连接的逻辑分组称为客户端数据平面。
    • 集群通过集群节点与服务器端连接设备之间的物理连接与服务器通信。这些物理连接的逻辑分组称为服务器数据平面。
  • 底板开关。同一网络中的集群节点之间通过集群背板进行通信。背板是一个接口的集合,每个节点的一个接口连接到一个普通的交换机,这个交换机称为集群背板交换机。
  • GRE隧道。在三层集群中,节点之间的报文通过未加密的GRE隧道交换,该隧道使用源节点和目的节点的NSIP地址进行路由。对于属于不同网络的节点,转向机制会发生变化。报文通过GRE隧道被引导到另一个子网上的节点,而不是重写MAC。

集群架构

例子

考虑一个由以下内容组成的L3集群部署示例:

  • 三个Citrix ADC设备(n1、n2和n3)节点被分组到Nodegroup1中。
  • 类似地,节点n4和n5被分组在Nodegroup2中。在第三个网络中,有两个节点组。Nodegroup3包括n6和n7, Nodegroup4包括n8和n9。
  • 属于同一网络的Citrix ADC设备被组合成一个节点组。

集群部署

配置L3集群前需要考虑的事项

在Citrix ADC设备上配置L3集群之前,请考虑以下几点:

  • 配置L3子网时,不配置背板。如果不指定backplane,则不进入backplane fail状态。

    请注意

    如果在同一个L2网络中有多个节点,则必须定义背板接口。如果不显示背板接口,则节点进入backplane fail状态。

  • L3集群不支持L2特性和条带化的SNIPs。

  • L3集群对外流量分配仅支持ECMP (Equal Cost Multiple Path)方式。
  • 在L3集群部署中禁用steering时,ICMP错误和分片不被处理:
  • 网络实体(Route, route6,策略路由,pbr6)必须绑定到配置节点组。
  • VLAN、RNAT和IP隧道不能与配置节点组绑定。
  • 配置节点组必须始终具有STRICT“YES”属性。
  • 集群节点不能通过“add cluster node”命令添加到config节点组中。
  • 添加集群实例-INC启用命令清除网络实体(route, route6, PBR, pb6, RNAT, IP tunnel, ip6tunnel)。
  • 清除配置扩展+命令不会清除L3集群中的实体(route, route6, PBR, pb6, RNAT, IP tunnel, ip6tunnel)。

配置L3集群

在L3集群配置中,cluster命令根据节点和节点组有不同的属性要配置。除了IPv4配置文件,L3集群配置文件还包括IPv6配置文件。

在Citrix ADC设备上配置L3集群包括以下任务:

  • 创建集群实例
  • 在L3集群中创建节点组
  • 将Citrix ADC设备添加到集群和节点组
  • 为节点添加集群IP地址
  • 启用集群实例
  • 保存配置
  • 向已有节点组中添加节点
  • 在L3集群中创建节点组
  • 将新节点分组到新创建的节点组中
  • 将节点加入集群

通过CLI进行如下配置

  • 创建集群实例

    add cluster instance -inc () [-processLocal

  • 在L3集群中创建一个节点组

    添加集群nodegroup

  • 将Citrix ADC设备添加到集群并与节点组关联

    添加集群节点 -backplane 节点组

  • 在该节点上添加集群IP地址

    add ns ip -type clip

  • 启用集群实例

    enable cluster instance . enable cluster instance . enable

  • 保存配置

    保存ns config

  • 重启设备

    重启温暖

  • 向现有节点组添加新节点

    添加集群节点 -nodegroup

  • 在L3集群中创建一个新的节点组

    添加的集群

  • 将新节点分组到新创建的节点组中

    添加集群节点 -nodegroup

  • 将节点加入集群

join cluster -clip  -password  add cluster instance 1 -inc ENABLED -processLocal ENABLED Done 

请注意

对于L3集群,“inc”参数必须为“ENABLED”。

添加集群节点组ng1 >加入集群节点0 1.1.1.1状态的活动底板0/1/1节点组ng1做>添加ns ip 1.1.1.100 255.255.255.255类型剪辑完成>使集群实例1 >完成拯救ns配置完成>添加集群节点1 1.1.1.2状态的活跃节点组ng1 >加入集群节点组喜欢的《忍者外传2》做>添加集群节点4 2.2.2.1状态的活跃节点组喜欢的《忍者外传2》做>添加集群节点5 2.2.2.2状态的活跃节点组喜欢的《忍者外传2》做>加入集群剪辑1.1.1.100密码nsroot < !——NeedCopy >

通告集群三层集群的IP地址

配置要发布到上游路由器的集群IP地址,使集群配置可以从任何子网访问。集群IP地址通过节点上配置的动态路由协议作为内核路由发布。

发布集群IP地址包括以下任务:

  • 启用集群IP地址的主机路由选项.主机路由选项将集群IP地址推送到ZebOS路由表中,以便通过动态路由协议进行内核路由重分发。
  • 在节点上配置动态路由协议.动态路由协议将集群IP地址通告给上游路由器。有关配置动态路由协议的详细信息,请参见配置动态路由

使用实例通过CLI启用集群IP的主机路由选项

在命令提示符下,输入:

- add nsip   - show nsip \ > add nsip 10.102.29.60 255.255.255.255 - hostroute ENABLED Done 

发现,部分条纹配置在L3集群

L3集群上的斑点和部分条纹配置与L2集群略有不同。每个节点的配置可能不同,因为节点位于不同的子网中。网络配置可以是特定于L3集群中的节点的,因此您必须根据下面提到的参数配置斑点配置或部分条纹配置。

要通过L3集群在Citrix ADC设备上配置斑点的、部分条纹的配置,请执行以下任务:

  • 在IPv4静态路由表中添加集群所有者组
  • 添加集群所有者组到IPv6静态路由表中
  • 为IPv4策略路由添加集群所有者组
  • 添加集群所有者组到IPv6策略路由中
  • 添加VLAN
  • 将VLAN绑定到集群节点组的指定所有者组

通过CLI进行如下配置

  • 向Citrix ADC设备的IPv4静态路由表中添加集群所有者组

    添加route -owner group

  • 向Citrix ADC设备的IPv6静态路由表中添加集群所有者组

    添加route6 -owner group

  • 为IPv4策略路由添加集群所有者组

    添加策略路由 -owner group

  • 为IPv6策略路由添加集群所属组

    添加pbr6 -owner group

  • 添加VLAN

    添加vlan

  • 将VLAN绑定到集群节点组的特定所有者组

    绑定vlan -ifnum - [IPAddress [-owner group ]

    以下命令为斑纹配置和部分斑纹配置的示例,可通过CLI进行配置。

> add route 10.102.29.0 255.255.255.0 10.102.29.2 -ownergroup ng2 Done > add route6 fe80::9404:60ff:fedd:a464/64-ownergroup ng1 Done > add pbr pbr1 allow -ownergroup ng1 Done > add pbr pbr1 allow -ownergroup ng2 Done > add vlan 2 Done > bind vlan 2 - ifnum 1/2 - [IPAddress 10.102.29.80 | fe80::9404:60ff:fedd:a464/64-ownergroup ng1 Done 

配置节点组

在L3集群中,要在多个节点组上复制相同的配置集,可以使用以下命令:

使用CLU进行以下配置

  • 向Citrix ADC设备的路由表中添加IPv4静态路由

    add route -ownerGroup .使用实例

示例配置:

add route 0 0 10.102.53.1 -ownerGroup ng2 

您定义了一个新的节点组' all '来支持上述配置,并且必须配置以下命令:

通过CLI进行如下配置

  • 使用strict参数向集群中添加一个新的节点组

    add cluster node group -strict . add cluster node group

  • 将集群节点或实体绑定到给定的节点组

    绑定集群nodegroup -node

  • 为所有所有者组添加IPv4静态路由

    add route -ownerGroup .使用实例

示例配置:

add cluster nodegroup all -strict YES bind cluster nodegroup all -node 1 bind cluster nodegroup all -node 2 add route 0 0 10.102.53.1 -ownerGroup all 

L3集群的流量分布

在集群设置中,外部网络将Citrix ADC设备的集合视为单个实体。因此,集群必须选择一个必须接收流量的单个节点。在L3集群中,这种选择是使用ECMP完成的。所选节点称为流接收器。

请注意

对于L3集群(跨不同网络的节点),只能使用ECMP流量分布。

流接收方获得流量,然后使用内部集群逻辑确定必须处理流量的节点。这个节点称为流处理器。如果流量接收器和流量处理器在同一个网络上,流量接收器将流量引导到背板上的流量处理器。如果流量接收器和流量处理器在不同的网络上,流量就被引导通过隧道。

请注意

  • 流接收器和流处理器必须是能够为流量服务的节点。

  • 从NetScaler 11开始,您可以禁用集群背板上的转向。有关更多信息,请参见禁用集群背板上的转向

L3集群分组流

上图显示了流经集群的客户端请求。客户端向虚拟IP (VIP)地址发送请求。在客户端数据平面上配置的流量分配机制选择其中一个集群节点作为流量接收方。流接收方接收流量,确定必须处理流量的节点,并将请求引导到该节点(除非流接收方选择自己作为流处理器)。如果流处理器和流接收器在同一个节点组中,则数据包将被引导到背板上。如果流处理器和流接收器在不同的节点组中,那么数据包将被引导通过路由路径上的隧道。

流处理器与服务器建立连接。服务器处理请求并将响应发送到向服务器发送请求的子网IP (SNIP)地址。由于在L3集群中,SNIP始终是一个已发现的SNIP,因此拥有该SNIP地址的节点将接收来自服务器的响应。

配置第三层集群