Skip to main content
jjahanshahi
Staff
Staff
September 28, 2016

Technical Tip: Collecting information for HA issues

  • September 28, 2016
  • 0 replies
  • 40109 views

Description

 

This article describes the debugs that should be collected when troubleshooting HA issues.

Scope
 
FortiGate.


Solution

 

  1. The output of the following debug commands should be collected for any HA-related issues:

 

diagnose debug enable

diagnose debug console timestamp enable

diagnose debug application hatalk -1   <----- HA formation issues.

diagnose debug application hasync -1   <----- HA Sync issues.

execute ha synchronize start           <----- Start HA Sync.

 

To disable debug:

 

diagnose debug disable                 <----- Command to disable the debug.

 

The HA framework consists of two daemons: hatalk and hasync. The 'hatalk' process monitors cluster management and failure monitoring. The 'hasync' process handles the synchronization of configuration files, the upgrade process, IKE notifications, external files, the ARP table, and the forwarding information base (FIB). 

 

If no output is generated in the hasync or hatalk debugs, restarting the daemons may be necessary. This can be done by running the commands below on each unit.

 

To determine the process IDs running for hasync and hatalk:

 

diagnose sys process pidof hasync
diagnose sys process pidof hatalk

 

To restart the process:

 

diagnose system kill 11 <process_id>

 

Alternatively, to kill all simultaneously running HA processes, execute the following with super admin rights:

 

fnsysctl killall hatalk
fnsysctl killall hasync

 

  1. Run the following on both Primary/Secondary units and collect the info:

 

get system performance status

get system status
get system ha status
diagnose sys ha status
diagnose sys ha history read
diagnose debug crashlog read
diagnose sys ha checksum show
diagnose sys ha dump 5

diagnose sys ha dump-by group 

execute ha synchronize stop  <----- Stop synchronization. 

execute ha synchronize start <----- Start on the backup unit first.

diagnose sys ha checksum recalculate 

 

To access the secondary device in the CLI, run the following:

 

execute ha manage <Index-ID> <Admin-Username>

 

See this article: Technical Tip: How to access the secondary unit from the primary with the 'execute ha manage' command.

 

  1. Packet captures for seeing communication between HA ports:

 

diagnose hardware device nic <heartbeat interface>
diagnose sniffer packet port_ha "" 4 0 l    <----- port_ha should be the heartbeat interface.

 

To capture only the heartbeat packets:

 

diagnose sniffer packet any 'ether proto 0x8890' 4 0 l

 

There are three EtherType configurations in HA

  1. ha-eth-type: 8890 - Standard NAT/Route mode heartbeat.
  2. hc-eth-type: 8892 - Transparent mode heartbeat or session sync.
  3. l2ep-eth-type: 8893 - HA configuration synchronization (Layer 2 Endpoint).

 

Configuration parameters can be verified with the following commands:

 

get system ha

show full sys ha | grep -f eth

 

  1. Collect the FortiGate's HA and System Event logs for both units downloaded from the GUI/FortiAnalyzer or syslog (remote) server.

 

Related articles: