Created on 02-21-2023 09:19 PM Edited on 10-21-2024 12:13 AM By Jean-Philippe_P
Description | This article describes the FortiGate HA upgrade procedure and the status during the upgrade. |
Scope | FortiGate. |
Solution |
The following is the general process that occurs when performing a firmware upgrade on an HA cluster with uninterruptible-upgrade enabled:
Run show full system ha to see if uninterruptible-upgrade is enabled:
show full system ha [...] set uninterruptible-upgrade enable [...]
For more information regarding the HA election process, see Technical Tip: FortiGate HA Primary unit selection process when override is disabled vs enabled.
Note: In FortiOS 7.4.1 and onward, uninterruptible-upgrade has been changed to upgrade-mode, and additional features have been added:
config system ha set upgrade-mode {simultaneous | uninterruptible | local-only | secondary-only} end
The default setting for upgrade-mode is uninterruptible, which follows the same behavior as the previous set uninterruptible-upgrade enable. Similarly, the behavior of set uninterruptible-upgrade disable is now mapped to set upgrade-mode simultaneous.
For more information on this expanded setting, see the following:
Additionally, it is always recommended to connect the console port to each device (if it is in an HA cluster) and capture the console output for future investigation (like any error message, Flash/Firmware, or configuration missing issues). The below article explains how to connect the console port to FortiGate: Technical Tip: How to connect to the FortiGate and FortiAP console port
The following are debug samples that show in stages how a FortiGate HA cluster negotiates firmware upgrades and status changes:
Stage 1: Upgrade start.
Primary:
2023-02-22 12:33:03 <hatalk> entering hatalk_upgrade_timer_func: uprade_state=1(ENTER), daemon_bits=0x00000000
Secondary:
2023-02-22 12:33:04 Get image from ha primary OK.
Stage 2: After the Secondary FortiGate has completed its reboot/firmware upgrade, the HA cluster will failover the HA Primary role so that the Primary FortiGate can undergo the upgrade.
Primary:
2023-02-22 12:33:12 <hatalk> leaving hatalk_upgrade_timer_func: uprade_state=4(CHECK-SECONDARY), daemon_bits=0x00000000 2023-02-22 12:34:03 <hatalk> entering hatalk_upgrade_timer_func: uprade_state=14(WAIT-DAEMONS), daemon_bits=0x00000170 2023-02-22 12:34:18 <hatalk> entering hatalk_upgrade_timer_func: uprade_state=5(SECONDARY-UP), daemon_bits=0x00000000
Secondary:
2023-02-22 12:34:21 <hatalk> vcluster_0: set flag HATALK_VMEMBER_F_CLAIM_AS_PRIMARY
Primary (after Secondary has assumed HA Primary role):
2023-02-22 12:34:30
Stage 3: Once the Primary completes its own reboot/firmware upgrade, it will rejoin the cluster. The old Primary may resume the role of HA Primary depending on the state of the HA cluster (i.e. cluster uptime differences between HA members, HA priority settings, whether or not Override is enabled on one of the units, etc.).
In the following example, the old Primary FortiGate is re-elected to the HA Primary role due to two factors: a) the cluster uptime difference between the two units is less than 5 minutes, and b) the Primary FortiGate has a superior (larger) Priority value set.
Secondary:
2023-02-22 12:35:17 <hatalk> vcluster_0: update state_change_time, work-as-secondary
When checking the HA status from the Secondary:
149 # get sys ha status [...] |
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.
Copyright 2024 Fortinet, Inc. All Rights Reserved.