Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Navigation  Back up to About Overview 
  
[+] Expand All
[-] Collapse All

High Availability Functionality of the RADIUS and Separate Session Database Processes

This section describes the high availability (HA) functionality of the RADIUS and separate session database processes in different scenarios.

HA Handling During Idle Transactions When the Separate Session Database Process Is Down

Communication between the RADIUS and separate session database processes is monitored during an idle transaction. When the initial communication messages are successfully exchanged between the RADIUS and separate session database processes, each process starts a heartbeat mechanism to monitor heartbeat message transaction between them.

When the separate session database process is down, the RADIUS process does not receive reply messages from the separate session database process. The heartbeat mechanism resends the heartbeat messages on the basis of the value configured for the NumberofRetries and DelayBetweenRetries parameters in the dbClusterRPC.gen file. While exchanging heartbeat messages, the RADIUS process also checks for the RPC communication channel. The RADIUS process confirms that the separate session database process is down if the retry attempts fail. The following procedure handles communication failure:

  • If the heartbeat exchange fails, warning messages stating that the heartbeat mechanism is down are logged and both processes continue to perform their normal operations.
  • If the heartbeat exchange is up, but both the RPC exchange and connectivity are down, the RADIUS process tries to administratively start the separate session database process (through the system command):
    • If the separate session database process cannot be restarted, the RADIUS process behaves, on the basis of the settings of the ShutdownOnCstFailure parameter in the radius.ini file, as follows:
      • If ShutdownOnCstFailure is set to true, all pending threads are notified of the reason for failure and the RADIUS process is shut down.
      • If ShutdownOnCstFailure is set to false, the RADIUS process handles transactions according to the settings of the AuthResponseOnCstFailure and DiscardAccountingRequestOnCstFailure parameters in the radius.ini file.

HA Handling When the RADIUS Process Is Down

When the separate session database process detects that no heartbeat messages are received from the RADIUS server, the separate session database process triggers itself for a graceful shutdown.

HA Handling by Using the SBRD Start Command

When the RADIUS process is down and the separate session database process is active, you can execute the sbrd start command (either manually or through the radiusd script) to bring back the RADIUS process. If the StandaloneMode parameter in the sbrd.conf file is set to CSTSERVER, the SBRD script checks whether the separate session database process is already running or not.

If the separate session database process is running, the SBRD script terminates the separate session database process with a SIGTERM signal. The separate session database process is gracefully shut down. After confirming that the separate session database process is shut down, the SBRD script restarts the separate session database process first and then the RADIUS process.

If the separate session database process is not running, the SBRD script continues to attempt to start the separate session database and RADIUS processes simultaneously. If the processes are not started, the startup is terminated.

Modified: 2017-03-07