Citrix ADC

连接故障转移

连接故障转移有助于防止对分布式环境中部署的应用程序的访问中断。在 Citrix ADC 高可用性 (HA) 设置中, 连接故障转移 (或 连接镜像 -CM )是指在发生故障转移时保持已建立的 TCP 或 UDP 连接的活动状态。新的主 Citrix ADC 设备包含有关故障转移之前建立的连接的信息,并继续为这些连接提供服务。故障转移后,客户端保持连接到同一物理服务器。新的主设备将信息与新的辅助设备同步。如果设置了 L2Conn 参数,则第 2 层连接参数也将与辅助连接参数同步。

您可以在无状态模式或有状态模式下设置连接故障转移。在无状态连接故障转移模式下,HA 节点不交换有关故障转移的连接的任何信息。此方法没有运行时开销。

在有状态连接故障转移模式下,主设备将故障转移连接的数据与新辅助设备同步。

如果您的部署具有持久的连接,则连接故障转移非常有用。例如,如果您通过 FTP 下载大文件,并且在下载过程中发生故障转移,则连接中断并中止下载。但是,如果在有状态模式下配置连接故障转移,即使在故障转移之后也会继续下载。

连接故障转移在 Citrix ADC 设备上的工作原理

在无状态连接故障转移中,新的主设备尝试根据其接收的数据包中包含的信息重新创建数据包流。

在状态故障转移中,为了维护有关镜像连接的当前信息,主设备会向辅助设备发送消息。辅助设备维护与数据包相关的数据,但仅在发生故障转移时使用该数据包。如果发生故障转移,新的主(旧辅助)设备将开始使用有关镜像连接的存储数据并接受流量。在过渡期间,客户端和服务器可能会遇到短暂的中断和重新传输。

注意:

验证主设备是否能够在辅助设备上授权自己。要验证密码的正确配置,请使用命令行中的 show rpcnode 命令,或使用 GUI 中网络菜单的 RPC 选项。

具有连接故障转移的基本 HA 配置包含下图所示的实体。

图 1. 连接故障转移实体图

连接故障转移

注意

发生以下任一事件后,不支持连接故障转移:

-升级到更高版本。
-如果新版本使用不同的 HA 版本,则升级到同一版本中的更高版本。

支持的设置

只能在负载平衡虚拟服务器上配置连接故障转移。无法在内容交换虚拟服务器上配置它。如果在连接到内容交换虚拟服务器的负载平衡虚拟服务器上启用连接故障转移,则连接故障转移将不起作用,因为负载平衡虚拟服务器最初不接受流量。

下表介绍了连接故障转移支持的设置。

表 1. 连接故障转移-支持的安装程序

设置 无状态 有状态
服务类型 任何。 ANY、UDP、TCP、FTP、SSL_BRIDGE。
负载平衡方法 任何服务类型支持的所有方法。但是,如果未设置源 IP 持久性,则必须使用 SRCIPSRCPORTHASH 方法。 适用于支持的服务类型的所有方法。
持久性类型 源代码持久性。 支持适用于支持的服务类型的所有类型。
USIP 必须是开的。 没有限制。它可以是打开或关闭。
服务绑定 服务只能绑定到一个虚拟服务器。 服务可以绑定到一个或多个虚拟服务器。
Internet 协议 (IP) 版本 IPv4 和 IPv6 IPV4 和 IPv6
冗余支持 集群和高可用性 高可用性

受连接故障转移影响的功能

下表列出了配置连接故障转移时受影响的功能。

表 2. 连接故障转移如何影响 Citrix ADC 功能

功能 连接故障转移的影响
SYN 保护 对于任何连接,如果在设备发出 SYN-ACK 之后但在收到最终 ACK 之前发生故障转移,则连接故障转移不支持。客户端必须重新发出建立连接的请求。
浪涌保护 如果故障转移发生在与服务器建立连接之前,新主设备将尝试与服务器建立连接。它还会重新传输在浪涌保护过程中持有的所有数据包。
关闭访问权限 如果启用,则关闭访问功能优先于连接故障转移。
应用程序防火墙 不支持应用程序防火墙功能。
公司 高可用性 (HA) 模式下不支持独立网络配置。
TCP 缓存 TCP 缓冲与连接镜像不兼容。
关闭响应 故障转移后,NatPCB 可能不会在响应时关闭。

使用 GUI 配置连接故障转移

导航到流量管理 > 负载平衡 > 虚拟服务器。打开虚拟服务器,然后在高级设置中,单击保护,然后选择“为 有状态连接故障转移

使用 CLI 配置连接故障转移

在命令提示符处:

set lb vserver <vServerName> -connFailover <Value>
show lb vserver <vServerName>

示例:

set lb vserver Vserver-LB-1 -connFailover stateful Done

在虚拟服务器上禁用连接故障转移时,分配给虚拟服务器的资源将被释放。

使用 CLI 禁用连接故障转移

在命令提示符处:

set lb vserver <vServerName> -connFailover <Value>
show lb vserver <vServerName>

示例:

set lb vserver Vserver-LB-1 -connFailover disable Done

使用 GUI 禁用连接故障转移

导航到 流量管理> 负载平衡> 虚拟服务器。打开虚拟服务器,在保护中,选择连接故障转移为已禁用”。

连接故障转移