ADC

In Service Software Upgrade 支持高可用性以执行零停机时间升级

在高可用性设置中的常规升级过程中,在某些时候,两个节点都运行不同的软件内部版本。这两个内部版本可以具有相同或不同的内部高可用性版本号。

如果两个内部版本具有不同的高可用性版本号,则不支持现有数据连接的连接故障转移(即使已启用)。换句话说,所有现有的数据连接都会断开,从而导致停机。

要解决此问题,可以对高可用性设置使用 In Service Software Upgrade (ISSU)。ISSU 引入了迁移功能,它取代了升级过程中的强制故障转移操作步骤。迁移功能负责支持现有连接,并且包括强制故障转移操作。

执行迁移操作后,新的主节点将始终接收与现有连接相关的流量(请求和响应),但会将它们引导到旧的主节点。旧的主节点处理数据流量,然后将其直接发送到目标。

增强的 ISSU 的工作原理

高可用性设置中的常规升级过程包括以下步骤:

  1. 升级辅助节点。此步骤包括辅助节点的软件升级和节点的重新启动。

  2. 强制故障转移。运行强制故障转移会将升级后的辅助节点变为主节点,将主节点变为辅助节点。

  3. 升级新的辅助节点。此步骤包括新辅助节点的软件升级和节点的重新启动。

在步骤 1 和步骤 3 之间的时间范围内,两个节点都运行不同的软件内部版本。这两个内部版本可以具有相同或不同的内部高可用性版本。

如果两个内部版本具有不同的高可用性版本号,则不支持现有数据连接的连接故障转移(即使已启用)。换句话说,所有现有的数据连接都会断开,从而导致停机。

高可用性设置中的 ISSU 升级过程包括以下步骤:

  1. 升级辅助节点。此步骤包括辅助节点的软件升级和节点的重新启动。

  2. ISSU 迁移操作。此步骤包括强制故障转移操作以及处理现有连接。执行迁移操作后,新的主节点将始终接收与现有连接相关的流量(请求和响应),但通过在 GRE 通道中配置的 SYNC VLAN 将其引导至旧的主节点。旧的主节点处理数据流量,然后将其直接发送到目标。当所有现有连接都关闭后,ISSU 迁移操作即完成。

  3. 升级新的辅助节点。此步骤包括新辅助节点的软件升级和节点的重新启动。

开始之前的准备工作

在开始在高可用性设置中执行 ISSU 过程之前,请先了解以下先决条件、限制和注意事项:

  • 确保在 SYNC VLAN 高可用性设置的两个节点上都配置了。 有关更多信息,请参阅将高可用性同步流量限制到 VLAN
  • Microsoft Azure 云不支持 ISSU,因为 Microsoft Azure 不支持 GRE 通道。
  • ISSU 期间,高可用性配置传播和同步不起作用。
  • IPv6 高可用性设置不支持 ISSU。
  • 以下会话不支持 ISSU:

    • 巨型帧
    • IPv6 会话
    • 大型 NAT (LSN)
  • 在 INC 模式下的 HA 设置中,ISSU 迁移操作仅迁移客户端连接。不需要迁移服务器端连接,因为两个 HA 节点都有独立的 SNIP 配置。

配置步骤

ISSU 包括迁移功能,该功能取代了高可用性设置的常规升级过程中的强制故障转移操作。迁移功能负责支持现有连接,并且包括强制故障转移操作。

在 ISSU 的高可用性设置过程中,您可以在升级辅助节点后运行迁移操作。可以从两个节点中的任何一个执行迁移操作。

CLI 过程

要使用 CLI 执行高可用性迁移操作,请执行以下操作:

在命令提示符下,键入:

start ns migration
<!--NeedCopy-->

GUI 过程

要使用 GUI 执行高可用性迁移操作,请执行以下操作:

导航到“系统”,单击“系统信息”选项卡,单击“迁移”选项卡,然后单击“开始迁移”。

显示 ISSU 统计数据

可以在高可用性设置中查看 ISSU 统计信息,以监视当前的 ISSU 过程。ISSU 的统计信息显示以下信息:

  • ISSU 迁移操作的当前状态
  • ISSU 迁移操作的开始时间
  • ISSU 迁移操作的结束时间
  • ISSU 回滚操作的开始时间
  • 作为 ISSU 迁移操作的一部分处理的连接总数
  • 作为 ISSU 迁移操作的一部分正在处理的剩余连接数

您可以使用 CLI 或 GUI 查看任一高可用性节点上的 ISSU 统计信息。

CLI 过程

要使用 CLI 显示 ISSU 统计信息,请执行以下操作:

在命令提示符下,键入:

show ns migration
<!--NeedCopy-->

GUI 过程

要使用 GUI 显示 ISSU 统计信息,请执行以下操作:

导航到“系统”,单击“系统信息”选项卡,单击“迁移”选项卡,然后单击“单击”以显示迁移详细信息

显示 ISSU 统计信息-旧主节点正在处理的现有连接的列表

您可以使用操作的 dumpsession(Dump Session) 选项显示旧主节点当前作为 ISSU 迁移操作一部分的现有连接的 show migration 列表。

在 ISSU 操作期间,必须仅在新主节点上运行带有 dumpsession 选项的 show migration 操作。

CLI 过程

要显示旧主节点当前正在使用 CLI 处理的现有连接的列表,请执行以下操作:

在命令提示符下,键入:

show ns migration –dumpsession YES
<!--NeedCopy-->
> sh migration -dumpsession yes

Index   remote-IP-port          local-IP-port           idle-time(x 10ms)

1       192.0.2.10      22      192.0.2.1       15998       703
2       198.51.100.20   7375    98.51.100.2     22          687
3       203.0.113.30    5506    203.0.113.3     22          687


<!--NeedCopy-->

GUI 过程

要显示旧主节点当前正在使用 GUI 处理的现有连接的列表,请执行以下操作:

导航到“系统”,单击“系统信息”选项卡,单击“迁移”选项卡,然后单击“单击以显示迁移连接”。

ISSU 过程的回滚

高可用性 (HA) 设置现在支持 In Service Software Upgrade (ISSU) 过程的回滚。如果您注意到 ISSU 迁移操作期间的高可用性设置不稳定或未按预期的最佳水平执行,ISSU 回滚功能将非常有用。

ISSU 的回滚在 ISSU 迁移操作执行过程中适用。如果 ISSU 迁移操作已完成,则 ISSU 回滚将不起作用。换句话说,必须在 ISSU 迁移操作正在进行时运行 ISSU 回滚操作。

ISSU 的回滚功能会有所差别,具体取决于 ISSU 回滚操作被触发时 ISSU 迁移操作的状态:

  • ISSU 迁移操作期间尚未发生强制故障转移。ISSU 回滚会停止 ISSU 迁移操作,并删除与存储在两个节点中的与 ISSU 迁移相关的任何内部数据。当前主节点仍作为主节点,并继续处理与现有连接和新连接相关的数据流量。

  • 在 ISSU 迁移操作期间发生了强制故障转移。如果在 ISSU 迁移操作期间发生了高可用性故障转移,新的主节点(假设是 N1)将处理与新连接相关的流量。旧的主节点(新的辅助节点,假设是 N2)处理与旧连接(ISSU 迁移操作之前的现有连接)相关的流量。

    ISSU 回滚会停止 ISSU 迁移操作并触发强制故障转移。新的主节点 (N2) 现在开始处理与新连接相关的流量。新的主节点 (N2)还继续处理与旧连接(ISSU 迁移操作之前建立的现有连接)相关的流量。换句话说,在 ISSU 迁移操作之前建立的现有连接不会断开。

    新的辅助节点 (N1) 将删除所有现有连接(在 ISSU 迁移操作期间创建的新连接),并且不处理任何流量。换句话说,在 ISSU 迁移操作的强制故障切换之后建立的任何现有连接都将永远丢失。

配置步骤

您可以使用 NetScaler CLI 或 GUI 执行 ISSU 回滚操作。

CLI 过程

要使用 CLI 执行 ISSU 回滚操作,请执行以下操作:

在命令提示符下,键入:

stop ns migration
<!--NeedCopy-->

GUI 过程

要使用 GUI 执行 ISSU 回滚操作,请执行以下操作:

导航到“系统”,单击“系统信息”选项卡,单击“迁移”选项卡,然后单击“停止迁移”。

In Service Software Upgrade 过程的 SNMP 陷阱

适用于高可用性设置的 In Service Software Upgrade (ISSU) 过程支持在 ISSU 迁移操作的开始和结束时使用以下 SNMP 陷阱消息。

SNMP 陷阱 说明
migrationStarted ISSU 迁移操作开始时,系统会生成此 SNMP 陷阱并将其发送到配置的 SNMP 陷阱侦听器。
migrationComplete ISSU 迁移操作完成时,系统会生成此 SNMP 陷阱并将其发送到配置的 SNMP 陷阱侦听器。

主节点(在 ISSU 过程开始之前)始终生成这两个 SNMP 陷阱并将其发送到配置的 SNMP 陷阱侦听器。

没有与 ISSU SNMP 陷阱关联的 SNMP 警报。换句话说,这些陷阱会生成,而不考虑任何 SNMP 警报。您只需配置陷阱 SNMP 侦听器即可。

有关配置 SNMP 陷阱侦听器的更多信息,请参阅 NetScaler 上的 SNMP 陷阱

In Service Software Upgrade 支持高可用性以执行零停机时间升级