Fortinet FortiGate HA Cluster
FortiGate FGCP (FortiGate Clustering Protocol) HA configuration for Active/Passive or Active/Active mode with session synchronization, heartbeat interfaces, and failover settings.
What is it?
FortiGate HA uses FGCP (FortiGate Clustering Protocol) to synchronize two or more FortiGates into an active/passive or active/active cluster. In active/passive mode, the primary handles all traffic; the secondary monitors via heartbeat and takes over if the primary fails. Session sync (session-pickup) keeps TCP sessions alive across failover. The heartbeat interfaces carry cluster management traffic — dedicate at least two physical interfaces for heartbeat redundancy. The unit with the highest priority becomes primary; in case of a tie, the unit with the highest serial number wins.
When to use
- ·Any production internet edge — a single FortiGate is a single point of failure
- ·Environments requiring zero-downtime FortiOS firmware upgrades (FGSP or HA upgrade path)
- ·Compliance requirements (PCI-DSS, HIPAA) mandating redundant security controls
- ·Data centers where session continuity across failover is required
When NOT to use
- ·Lab environments — HA adds complexity and requires matching hardware
- ·Active/Active mode unless you specifically need the extra throughput — it adds asymmetric routing complexity
How it compares
Prerequisites
- →Both units must be identical hardware models running the same FortiOS version
- →Dedicated heartbeat interfaces connected back-to-back between the two units (not through a switch)
- →All data interfaces must be cabled identically on both units before enabling HA
- →The secondary unit should have only basic initial config before joining the cluster — it will receive full config from primary
Config Generator
Primary: 200, Secondary: 100. Range 0-255.
Verification commands
get system ha statusShow HA cluster status, member roles, and sync state
ExpectedShows 'Master' and 'Slave' with config sync status. 'in-sync' means config is synchronized.
diagnose sys ha statusShow detailed HA status including heartbeat link state
ExpectedShows heartbeat interfaces, peer connectivity, and failover statistics
diagnose sys ha showcsumShow configuration checksum to verify sync
ExpectedBoth units should show identical checksum. Different checksums = config out of sync.
Debug commands
diagnose debug application hatalk -1Enable HA heartbeat debug logging
WarningUse briefly in production — generates heavy output. Disable after: 'diagnose debug application hatalk 0'
Common mistakes & fixes
Further learning
Recommended books to go deeper on this topic.
Palo Alto Networks Firewall Deployment and Administration
Tom Piens · Packt · PAN-OS HA — active/passive, active/active, session sync, preemption
Cisco ASA: All-in-One Next-Gen Firewall, IPS, and VPN Services
Jazib Frahim, Omar Santos, Andrew Ossipov · Cisco Press · HA fundamentals — stateful failover concepts apply across vendors