A sample excerpt from the High Availability Controller (HAC) configuration file (solidhac.ini).
; NOTE: Copy this file as solidhac.ini to solidhac working ; directory solidDB ; High Availability Controller inifile [HAController] ;** HAC connect info ;** HAC clients, HA Manager, for example, use this information. ;** Mandatory ;** Listen=tcp 3135 Listen=
;** Setting StartInAutomaticMode=Yes starts HAC in AUTOMATIC ;** mode. In AUTOMATIC mode, solidhac automatically tries ;** to maximize the availability by changing the HSB states of ;** the server, and restarting the server processes when necessary. ;** In contrast, it can be in ADMINISTRATIVE mode ;** in which HAC only monitors the health of the servers. ;** ;** This is dynamically changeable parameter. ;** Optional ;** Values : Yes/No, default = Yes StartInAutomaticMode= ;** Setting EnableDBProcessControl=Yes allows solidhac ;** manage local db process by automatically starting ;** the db, and by providing the user with commands to ;** shutdown and restart db process. ;** ;** Optional ;** Effective only when HAC is in AUTOMATIC mode. ;** Values : Yes/No, default = No EnableDBProcessControl= ;** Setting EnableAutoNetcopy=Yes allows solidhac to initiate ;** netcopy when HSB link cannot be established with 'hsb connect'. ;** ;** Optional ;** Effective only when HAC is in AUTOMATIC mode. ;** Values : Yes/No, default = Yes EnableAutoNetcopy= ;** When server state is unknown, or HAC needs, for some other reason, to ;** ensure the state of server, non-blocking SQLConnect command is used. ;** If the execution of non-blocking SQLConnect in such a case fails, ;** it is repeated multiple (RequiredConnectFailures) times before ;** the server in question is considered as non-responsive. ;** ;** Optional ;** Values : 1..n, default=2 RequiredConnectFailures= ;** Timeout in milliseconds for non-blocking SQLConnect commands. ;** Too short interval can cause 'false positives', server seems ;** to be failed because it wasn't able to respond within the timeout period. ;** ;** Optional ;** Values : 1..n, default=150 (milliseconds) CheckTimeout= ;** Interval between consecutive non-blocking SQLConnect commands. ;** The value doesn't affect on failover time. Checking (polling) ;** takes place typically after failure, or during system startup. ;** ;** Optional ;** default = 1000 (milliseconds) CheckInterval=
;** HAC user identification ;** Mandatory Username= Password= ;** HSB server user identification ;** Mandatory DBUsername= DBPassword= ;** Identification for application connection test ;** These values are used when ApplicationConnectionTest ;** thread monitors the connection, and availability of ;** the server. ;** If values are not set, and ;** LocalDB.EnableApplicationConnCheck=Yes, then DBUsername, and ;** DBPassword are used. ;** ;** Optional ApplicationConnTestUsername= ApplicationConnTestPassword= [LocalDB] ;** solidDB connect info ;** Mandatory ;** Connect=tcp 2125 Connect= ;** Enable periodical connection testing in the server. ;** In practice, HAC connects to the server, and executes ;** simple command(s) to ensure the responsiveness. ;** ;** Optional ;** default = No EnableApplicationConnTest= ;** Connect info for applications, used in application connection test, ;** if it is enabled. ;** ;** Optional, if not specified, LocalDB.Connect is used. ;** ApplicationConnect=tcp 10.0.0.101 2125 ApplicationConnTestConnect= ;** Enables execution of the user-provided script when application ;** connection test fails. The script is defined with ;** UnresponsiveActionScript. ;** ;** Optional ;** default = No EnableUnresponsiveActions= ;** Number of times the application connection test commands ;** are executed before the server is considered unresponsive. ;** ;** Optional ;** default = 3 RequiredAppConnTestFailures= ;** Timeout in milliseconds for consecutive application connection ;** test commands. ;** ;** Optional ;** default = 5000 (milliseconds) ApplicationConnTestTimeout= ;** Interval between consecutive non-blocking application connection
;** test commands. ;** ;** Optional ;** default = 30000 (milliseconds) ApplicationConnTestInterval= ;** The name of the script, which is used to initiate the db process. ;** ;** Optional, except if HAC controls db process (EnableDBProcessControl=Yes). ;** Value is not effective if EnableHACActions=No or EnableDBProcessControl=No ;** StartScript=/home/solid/start_solid.sh StartScript= ;** The name and location of the script that contains the intended actions that ;** take place if application connection test fails. ;** When calling the script, HAC needs to specify the solidDB ;** process identifier as a parameter. If HAC does not know the solidDB ;** process id, the script cannot be executed. ;** ;** Optional, except if ApplicationConnectionTest=Yes, and ;** EnableUnresponsiveAction=Yes ;** ;** UnresponsiveActionScript=/home/solid/terminate_solid.sh UnresponsiveActionScript= ;** Setting PreferredPrimary=Yes moves local HSB server to as Primary ;** in the case where either of the servers could start as Primary. ;** If both servers have PreferredPrimary=No, or no value, first ;** (new Primary) server wins. ;** ;** Optional ;** Value is not effective if EnableHACActions=No. ;** Values : Yes/No, default no PreferredPrimary= [RemoteDB] ;** solidDB connect info ;** Mandatory ;** Connect=tcp 192.168.3.123 2125 Connect= [ERE] ;** IP address of an ERE ;** Optional ;** Connect=192.168.3.1 EREIP= ;** The number of consecutive ping calls that must ;** fail before HAC concludes that the server is ;** disconnected from ERE. ;** ;** Optional ;** Values : 1..n, default=3 ;** RequiredPingFailures=10 RequiredPingFailures=