High Availability Controller (HAC) is an automatic redundancy management program for solidDB® HotStandby configurations. It maintains the availability of the database service by detecting failures, performing failovers to standby units, and restarting failed processes when necessary.
A failure can be caused by a hardware problem in a database node, a database process failure, or a broken HSB link. HAC monitors the HSB states of the servers, and in the case of a failure, ensures that the server that is not affected by the failure holds the Primary role and that the server is ready to accept the transaction load.
In other words, HAC plays the role of a watchdog program. In its implementation, the solidDB®’s event mechanism is used to monitor the server states. Every time the state of the HSB server changes, it sends an event to HAC, which then deduces potential needs for actions that are executed by using the HotStandby admin command API.
HAC has two main purposes:
1 HAC can be used as a watchdog to automatically maintain the availability of the database service. In this mode, called the AUTOMATIC mode, HAC performs the following actions:
▪Starts, restarts, and terminates the database server processes (optional)
▪Monitors the state of the servers and the HSB link between them
▪Infers the necessary action to be performed
▪Performs the action
2 HAC can also play a role of a monitor for an HSB system by monitoring the state changes of the HSB servers (triggered by someone else) and reporting the status of the system. This is called the ADMINISTRATIVE mode. In this mode, HAC does not execute any HSB state transitions or otherwise modify the HSB system.
High Availability Controller is configured through the solidhac.ini configuration file. Before HAC is started, the configuration file must be in the HAC working directory. You can specify the working directory with the command-line option -c.
The solidDB® package includes a HAC configuration file template which includes all available configuration parameters with comments, and examples. The solidhac_template.ini is available in the root of the samples\hac\ directory.
A sample graphical user interface (GUI) component called High Availability Manager (HAM) is also available for HAC. It is included in the sample directory samples\hac\. The HA Manager is configured in the same as the HA Controller. The samples\hac\ directory contains a sample configuration file (HAManager.ini) for the High Availability Manager.