Troubleshooting an HA cluster that remains out of sync after a FortiOS upgrade
Confirmed 9/21/2026
Problem
A FortiGate HA cluster may remain out of sync after an upgrade. Reported cases began after upgrades from FortiOS 7.2.8 to 7.2.9 and from 7.2.9 to 7.2.10. Factory-resetting the secondary, restoring the primary configuration, rebooting, manually recalculating checksums, and updating FortiGuard did not consistently resolve the condition.
Symptoms
The HA status reports one or more unsynchronized tables, including `rule.fmwp`, `firewall.internet-service-name`, or DNS-related tables. One case initially showed 30 tables out of sync. `execute update-now` may fail on the secondary with code `-6` until it has isolated Internet access. HA debug output may show connections to `169.254.0.1` timing out with error `110(Connection timed out)`, peer-closed connections, or aborted synchronization for types including `fib`, `conf`, `proxy`, `byod`, `mcast`, `capwap`, `diff`, and `ipsec`. A checksum recalculation can make the cluster appear synchronized temporarily, but a subsequent policy change may return it to a failed state. Configuration changes made while synchronization is not actually working can be lost during a later upgrade.
Environment
FortiGate HA clusters. One reported platform was FortiGate 61F. The behavior was reported during or after FortiOS upgrades.
FortiOS version
7.2.8, 7.2.9, 7.2.10
Root Cause
The available reports indicate that the `hasync` or `hatalk` processes may fail to recover correctly after an upgrade. The definitive root cause is unknown; Fortinet TAC escalation is recommended. A bug report was mentioned, but no bug ID was provided.
Solution
-
Back up the current configuration before troubleshooting. Be aware that changes made after HA synchronization failed may not exist on the peer, even when the cluster later appears synchronized.
-
On both FortiGate units, review configuration errors recorded during the upgrade:
diag debug config-error-log read
- On the primary unit, check the crash log for evidence that the HA daemon is crashing:
diag debug crashlog read
- Compare HA checksums by running the following command on both units and comparing the complete output:
diagnose sys ha checksum test
- If the checksums match but HA remains out of sync, recalculate them on both units:
diagnose sys ha checksum recalculate
This can clear the displayed status, but it may only be temporary. Make a controlled policy change afterward and confirm that it reaches the peer.
- If the problem continues, restart the HA synchronization processes on both firewalls at the same time:
fnsysctl killall hasync
fnsysctl killall hatalk
A reported FortiGate 61F cluster affected after upgrading from 7.2.8 to 7.2.9 synchronized after these commands were run concurrently on both members.
- If synchronization still fails, collect HA debug output on both firewalls. Reset debugging, enable timestamps and debugging for
hasyncandhatalk, then restart synchronization:
diag debug reset
diag debug enable
execute ha synchronize stop
diag debug console timestamp enable
diag debug application hasync -1
diag debug application hatalk -1
execute ha synchronize start
When sufficient output has been captured, stop debugging:
diag debug reset
diag debug disable
-
Review the output for repeated timeouts, peer-closed connections, or aborted synchronization to
169.254.0.1. Reported messages included error110(Connection timed out)and failures affectingsync_type=3(fib),sync_type=4(ipsec),sync_type=5(conf),sync_type=6(proxy),sync_type=14(diff),sync_type=18(byod),sync_type=24(mcast), andsync_type=27(capwap). -
If restarting the HA processes alone does not recover synchronization, one reported workaround was to restart those processes on both units and then reboot both firewalls. To access an HA member and reboot it, use:
execute ha manage 0 <username>
execute reboot
Plan this step for an approved maintenance window because rebooting both members can affect traffic.
- If
execute update-nowfails on the secondary with code-6, isolated Internet access may allow the update to complete:
execute update-now
In the reported case, completing the update did not correct HA synchronization, so this is diagnostic context rather than a confirmed fix.
- If the cluster remains out of sync, if synchronization fails again after a configuration change, or if the HA daemons crash, open a Fortinet TAC case. Include checksum output, configuration error logs, crash logs, and
hasync/hatalkdebug output. Do not repeatedly factory-reset a remote secondary without TAC guidance and an appropriate recovery plan.
Verification
Confirm that the HA status reports the cluster as synchronized. Do not rely only on the displayed status: make a controlled policy change and verify that the change is present on the peer and that HA remains synchronized. Run diagnose sys ha checksum test on both members and compare the results. Continue monitoring for recurring hasync or hatalk errors and retain a configuration backup before any further upgrade.
Rollback
No specific FortiOS rollback procedure was provided. Restore from a known-good configuration backup if required, particularly if changes made during the failed synchronization period were lost. Escalate to Fortinet TAC before attempting firmware rollback or additional factory resets.
Tags
No tags yet.
Community rating
— / 5 (0)
Discussion (0)
No comments yet.