多节点高可用性中的软件升级
阅读本主题,了解如何在多节点高可用性设置中对防火墙执行软件升级。
概述
有关不同平台和软件版本支持的功能列表,请参阅 功能浏览器。
通过依次升级每台设备,以 MNHA 配置部署的 Junos 防火墙可以以最小的中断进行升级。根据您的设备架构,使用以下 CLI 命令之一启动 Junos 升级 - request system software add 或 request vmhost software add 。
| 从 Junos OS 版本开始 | 前往 Junos OS 版本 | 使用软件升级方法 |
|---|---|---|
| 20.4 | 20.4 之后的任何版本 | 否 |
| 22.3 | 下一版本的 Junos OS 版本 | 是 |
-
22.4R1 及更高版本与早期的 Junos OS 版本不兼容,无法在常规升级期间同步会话。在这种情况下,请使用 隔离节点升级过程。
-
在使用 IPv6 地址进行机箱间链路 (ICL)(高可用性链路)加密的多节点高可用性 (MNHA) 部署中,要从早期的 Junos OS 版本升级到支持基于 IPv6 的 ICL 加密的版本,需要使用 隔离节点升级过程 来确保成功过渡。这是迁移到第一个受支持版本时的一次性要求;后续升级不需要隔离节点升级过程。
-
从 22.3 升级到下一版本可能会导致短暂的流量中断。
-
从 21.4R1 开始升级期间,您可能会看到
Peer Hardware Incompatible: SPU SLOT MISMATCH -
在 23.4R2 之前的版本中,在过渡升级阶段不会同步 NAT 会话。
-
始终将两个节点升级到相同的 Junos OS 版本。
有关 Junos OS 版本的升级和降级支持的信息,请参阅发行说明中的 Junos OS 版本和延长生命周期终止版本的升级和降级支持策略 。
当您将多节点高可用性中的防火墙从早期的 Junos OS 版本升级到 Junos OS 22.4R1 或更高版本时,您可以使用 隔离节点升级过程。Junos OS 22.4R1 及更高版本与早期 Junos OS 版本不兼容,无法在常规升级期间同步会话。
开始之前
在对 MNHA) 配置中的防火墙执行升级之前,建议以受控方式将流量重定向离开设备。这可以使用以下方法之一来完成:
-
手动故障切换 — 触发手册故障切换以将流量转移到对等设备。
-
软件升级模式 — 使用以下命令临时配置设备:
user@host# set chassis high-availability software-upgrade
此命令会引入故障代码为 SU(软件升级)的设备故障。因此,服务冗余组 (SRG) 1 及更高版本将在要升级的设备上转换为不合格状态(而不是活动或备份)。这会导致关联的流量自动故障转移到另一个 MNHA 群集成员。
注意:如果 MNHA 群集仅配置了 SRG0 并包含该install-on-failure-route选项,您仍然可以使用配置set chassis high-availability software-upgrade重定向流量,以正常地将流量移出设备。
软件升级
准备清单
在计划软件升级时,请考虑以下最佳实践:
- 确保两个节点都处于联机状态并运行相同的 Junos OS 版本。使用 show version 命令检查设备上当前的 Junos OS 软件版本。
- 验证存储可用性:
show system storage - 检查硬件状态:
show chassis fpc pic-statusshow chassis alarms
- 确保没有未提交的更改。
- 备份配置和许可证密钥。
- 在两台设备上将 Junos OS 映像下载到 /var/tmp。
- 确保您的高可用性设置运行正常,并且机箱间链路 (ICL) 已开启。
show chassis high-availability information - 使用中提供的检查清单准备防火墙以进行升级。
有关准备设备升级的详细信息,请参阅准备软件安装和升级 (Junos OS)。
下载软件
从两个防火墙上的 瞻博网络支持页面下载 Junos OS 映像,并将其保存在 /var/tmp 位置。示例:
user@host> request system software add /var/tmp/junos-install-vsrx3-x86-64-22.3R1.3.tgz no-copy
升级过程
请按照此过程中的步骤升级在多节点高可用性 (MNHA) 设置中配置的防火墙。在此示例中,群集由两台设备组成:Firewall-01(当前活动)和 Firewall-02(当前备份)。升级过程从备份节点 (Firewall-02) 开始,然后是活动节点 (Firewall-01),确保将服务中断降至最低。
确保您的多节点高可用性设置运行正常、正常运行,并且机箱间链路 (ICL) 已开启。
在 firewall-01 设备上
user@Firewall-01> show chassis high-availability informationNode failure codes: HW Hardware monitoring LB Loopback monitoring MB Mbuf monitoring SP SPU monitoring CS Cold Sync monitoring SU Software Upgrade Node Status: ONLINE Local-id: 1 Local-IP: 10.22.0.1 HA Peer Information: Peer Id: 2 IP address: 10.22.0.2 Interface: ge-0/0/2.0 Routing Instance: default Encrypted: YES Conn State: UP Cold Sync Status: COMPLETE Services Redundancy Group: 0 Current State: ONLINE Peer Information: Peer Id: 2 SRG failure event codes: BF BFD monitoring IP IP monitoring IF Interface monitoring CP Control Plane monitoring Services Redundancy Group: 1 Deployment Type: ROUTING Status: ACTIVE Activeness Priority: 200 Preemption: ENABLED Process Packet In Backup State: NO Control Plane State: READY System Integrity Check: N/A Failure Events: NONE Peer Information: Peer Id: 2 Status : BACKUP Health Status: HEALTHY Failover Readiness: READY在 firewall-02 设备上
user@Firewall-02> show chassis high-availability informationNode failure codes: HW Hardware monitoring LB Loopback monitoring MB Mbuf monitoring SP SPU monitoring CS Cold Sync monitoring SU Software Upgrade Node Status: ONLINE Local-id: 2 Local-IP: 10.22.0.2 HA Peer Information: Peer Id: 1 IP address: 10.22.0.1 Interface: ge-0/0/2.0 Routing Instance: default Encrypted: YES Conn State: UP Cold Sync Status: COMPLETE Services Redundancy Group: 0 Current State: ONLINE Peer Information: Peer Id: 1 SRG failure event codes: BF BFD monitoring IP IP monitoring IF Interface monitoring CP Control Plane monitoring Services Redundancy Group: 1 Deployment Type: ROUTING Status: BACKUP Activeness Priority: 1 Preemption: DISABLED Process Packet In Backup State: NO Control Plane State: READY System Integrity Check: COMPLETE Failure Events: NONE Peer Information: Peer Id: 1 Status : ACTIVE Health Status: HEALTHY Failover Readiness: N/A- 在备份节点 (Firewall-02) 上启动软件升级过程并提交配置
user@Firewall-02# set chassis high-availability software-upgrade
此命令会触发 SRG0 的本地故障切换,并将 SRG1(如果存在)标记为不合格,从而允许对等节点担任或保留活动角色
- 验证多节点高可用性的状态。输出显示 Node Status: OFFLINE [ SU ],表示节点已准备好进行软件升级。您可以看到 SRG1 的状态已更改为 INELIGIBLE。
user@Firewall-02> show chassis high-availability information Node failure codes: HW Hardware monitoring LB Loopback monitoring MB Mbuf monitoring SP SPU monitoring CS Cold Sync monitoring SU Software Upgrade Node Status: OFFLINE [ SU ] Local-id: 1 Local-IP: 10.22.0.1 HA Peer Information: Peer Id: 2 IP address: 10.22.0.2 Interface: ge-0/0/2.0 Routing Instance: default Encrypted: YES Conn State: UP Cold Sync Status: COMPLETE Services Redundancy Group: 0 Current State: ONLINE Peer Information: Peer Id: 2 SRG failure event codes: BF BFD monitoring IP IP monitoring IF Interface monitoring CP Control Plane monitoring Services Redundancy Group: 1 Deployment Type: ROUTING Status: INELIGIBLE Activeness Priority: 200 Preemption: ENABLED Process Packet In Backup State: NO Control Plane State: N/A System Integrity Check: IN PROGRESS Failure Events: NONE Peer Information: Peer Id: 2 Status : ACTIVE Health Status: HEALTHY Failover Readiness: N/A 确认其他设备 (Firewall-01) 处于活动状态并且运行正常。
user@Firewall-01> show chassis high-availability informationNode failure codes: HW Hardware monitoring LB Loopback monitoring MB Mbuf monitoring SP SPU monitoring CS Cold Sync monitoring SU Software Upgrade Node Status: ONLINE Local-id: 2 Local-IP: 10.22.0.2 HA Peer Information: Peer Id: 1 IP address: 10.22.0.1 Interface: ge-0/0/2.0 Routing Instance: default Encrypted: YES Conn State: UP Cold Sync Status: COMPLETE Services Redundancy Group: 0 Current State: ONLINE Peer Information: Peer Id: 1 SRG failure event codes: BF BFD monitoring IP IP monitoring IF Interface monitoring CP Control Plane monitoring Services Redundancy Group: 1 Deployment Type: ROUTING Status: ACTIVE Activeness Priority: 1 Preemption: DISABLED Process Packet In Backup State: NO Control Plane State: READY System Integrity Check: N/A Failure Events: NONE Peer Information: Peer Id: 1 Status : INELIGIBLE Health Status: UNHEALTHY Failover Readiness: NOT READY命令输出显示 SRG1 的状态为 ACTIVE。
请注意,在 SRG1 的部分下
Peer Information,状态为INELIGIBLE指示另一个节点处于不合格状态。- 在 Firewall-02 设备上安装 Junos OS 软件。
user@Firewall-02> request system software add /var/tmp/junos-install-vsrx3-x86-64-22.3R1.3.tgz no-copy
- 安装成功后,使用命令
request system reboot重新启动设备。 - 重新启动后检查 Junos OS 版本。
user@Firewall-02> show versionHostname: Firewall-02 Model: vSRX Junos: 22.3R1.3输出确认设备已升级到正确的 Junos OS 版本。
- 检查设备上多节点高可用性的状态。
user@Firewall-02> show chassis high-availability informationNode failure codes: HW Hardware monitoring LB Loopback monitoring MB Mbuf monitoring SP SPU monitoring CS Cold Sync monitoring SU Software Upgrade Node Status: OFFLINE [ SU ] Local-id: 1 Local-IP: 10.22.0.1 HA Peer Information: Peer Id: 2 IP address: 10.22.0.2 Interface: ge-0/0/2.0 Routing Instance: default Encrypted: YES Conn State: UP Cold Sync Status: COMPLETE Services Redundancy Group: 0 Current State: ONLINE Peer Information: Peer Id: 2 SRG failure event codes: BF BFD monitoring IP IP monitoring IF Interface monitoring CP Control Plane monitoring Services Redundancy Group: 1 Deployment Type: ROUTING Status: INELIGIBLE Activeness Priority: 200 Preemption: ENABLED Process Packet In Backup State: NO Control Plane State: N/A System Integrity Check: COMPLETE Failure Events: NONE Peer Information: Peer Id: 2 Status : ACTIVE Health Status: HEALTHY Failover Readiness: N/A输出继续将节点状态显示为
OFFLINE [ SU ],将 SRG1 状态显示为INELIGIBLE。 - 移除
software-upgrade该语句并提交配置。user@Firewall-02# delete chassis high-availability software-upgrade
移除该
software-upgrade语句后,节点故障切换状态和所有已安装的路由都将被清除。在移除此语句之前,节点将保持脱机状态,并且所有 SRG 都保持不合格状态。只要对等方保持运行状况,这就可以有效地隔离节点在升级期间处理流量。 -
再次检查“多节点高可用性”状态,以确认设备处于联机状态,并且总体状态为“正常运行”。
user@srx02> show chassis high-availability information Node failure codes: HW Hardware monitoring LB Loopback monitoring MB Mbuf monitoring SP SPU monitoring CS Cold Sync monitoring SU Software Upgrade Node Status: ONLINE Local-id: 1 Local-IP: 10.22.0.1 HA Peer Information: Peer Id: 2 IP address: 10.22.0.2 Interface: ge-0/0/2.0 Routing Instance: default Encrypted: YES Conn State: UP Cold Sync Status: COMPLETE Services Redundancy Group: 0 Current State: ONLINE Peer Information: Peer Id: 2 SRG failure event codes: BF BFD monitoring IP IP monitoring IF Interface monitoring CP Control Plane monitoring Services Redundancy Group: 1 Deployment Type: ROUTING Status: BACKUP Activeness Priority: 200 Preemption: ENABLED Process Packet In Backup State: NO Control Plane State: READY System Integrity Check: IN PROGRESS Failure Events: NONE Peer Information: Peer Id: 2 Status : ACTIVE Health Status: HEALTHY Failover Readiness: N/A输出显示
Node Status: ONLINE和 SRG1 状态BACKUP为 ,表示节点已重新联机,并以备份角色正常运行。 -
检查接口、路由协议、播发的路由等,以确认您的设置正常运行。
现在,您可以继续使用相同的过程升级另一台设备 (Firewall-01)。
(选答)如果遇到任何问题而无法完成升级,可以回滚设备上的软件,然后重新启动系统。使用该request system software rollback命令还原之前安装的软件版本。
使用 install-on-failure-route 升级软件
对于仅使用 SRG0(不支持 A/B 状态)的设置,我们建议配置 install-on-failure-route。路由策略中可以引用此路由,以便在软件升级场景或节点故障期间通告不太偏好的路径。在此方法中,您可以通过更改路由来分流。在这里,流量仍可通过该节点,且接口保持开启。
-
为升级期间用于分流流量的路由创建专用的自定义虚拟路由器。
set routing-instances MNHA-signal-routes instance-type virtual-router
- 为 SRG0 配置
install-on-failure-route语句。在这里,您已将 IP 地址为 10.39.1.3 的路由配置为节点发生故障时要安装的路由。set routing-instances MNHA-signal-routes instance-type virtual-router set chassis high-availability services-redundancy-group 0 install-on-failure-route 10.39.1.3 routing-instance MNHA-signal-routes set chassis high-availability services-redundancy-group 1 active-signal-route 10.39.1.1 routing-instance MNHA-signal-routes set chassis high-availability services-redundancy-group 1 backup-signal-route 10.39.1.2 routing-instance MNHA-signal-routes
当节点发生故障时,路由表将安装语句中提到的路由。
- 配置匹配的路由策略,并根据路由的存在定义策略条件。在这里,您可以将路由 10.39.1.3 作为 的路由匹配条件
if-route-exists。set policy-options condition active_route_exists if-route-exists address-family inet 10.39.1.1/32 set policy-options condition active_route_exists if-route-exists address-family inet table MNHA-signal-routes.inet.0 set policy-options condition backup_route_exists if-route-exists address-family inet 10.39.1.2/32 set policy-options condition backup_route_exists if-route-exists address-family inet table MNHA-signal-routes.inet.0 set policy-options condition failure_route_exists if-route-exists address-family inet 10.39.1.3/32 set policy-options condition failure_route_exists if-route-exists address-family inet table MNHA-signal-routes.inet.0
创建策略语句,将条件作为匹配术语之一引用。
set policy-options policy-statement mnha-route-policy term 4 from protocol static set policy-options policy-statement mnha-route-policy term 4 from protocol direct set policy-options policy-statement mnha-route-policy term 4 from condition failure_route_exists set policy-options policy-statement mnha-route-policy term 4 then metric 100 set policy-options policy-statement mnha-route-policy term 4 then accept
- 如前面的步骤(软件升级)中所述,启动软件升级。
已弃用的方法(故障时关断接口)
从 Junos OS 24.3R1 版开始,该 shutdown-on-failure 功能将被弃用,而不是立即删除,以提供向后兼容性并让您的配置符合新配置。作为此更改的一部分,不推荐使用 [set chassis high-availability services-冗余-group 0 shutdown-on-failure interface-name] 配置语句。
以前,必须通过关闭接口来手动分流流量。您现在可以使用 software-upgrade 命令在升级期间使节点保持脱机状态,并且所有 SRG 都处于不合格状态。这有效地将节点与处理流量隔离开来。
如果您使用的是 Junos OS 22.4 或更低版本,建议在升级期间使用传统方法来分流流量。