--- task: Set up and operate a redundant HAC server pair (steps, hac.sup tabs, switchover, patching) version: R1.03 source: IM 36K10J20-01EN §1.2–§1.5, §2.4–§2.6, §3, §4.3–§4.11, §6.4, §7; hac.sup and scripts checked on the test system 2026-10-01 status: from docs (needs two licensed servers; not practiced) --- # Redundant server pair (HAC) Everything here needs admin rights on both servers and a planned outage. Prepare the files; the user applies them. ## 1. Preparation - Identical servers: same OS, CI Server version and patches, install path, TLS variables, node number and licence (including HAC). - ≥ 2 separate network interfaces/segments between the servers (≤ 4), separate from field networks if possible. One link only = single point of failure and the risk that both servers go active. - Time sync on each server from an NTP/GPS source with jumps ≤ 1 s (not DUR time sync between the pair: same node number). - At least one real IP device per server for the network check (router/switch, priority 1). - CI Service start type *Automatic* (HAC reboots servers). - `TLS_BACKUP_PATH` on a partition at least as large as `TLS_HIS_PATH` (the standby zips its runtime environment before each synchronization; without the variable the scripts use `TLS_LST_PATH`). ## 2. Steps (on every server unless noted) 1. System variable `CI_PRIM` = 0 (primary), 1 (secondary), 2, 3. 2. Start CI Server once; create the optional status items per server (section, e.g. `SYSTEM.HAC1`, items `OPER_MODE`, `OPER_STAT`, `CI_STAT`, `IP_STAT`, `DATA1_MODE`, `DATA1_STAT`, …, all Integer); stop CI Server. 3. `tls\com`: rename `ci_start.cmd`/`ci_stop.cmd` to e.g. `ci_start_old.cmd`/`ci_stop_old.cmd`, copy `hacw_standby.cmd` → `ci_start.cmd`, `hacw_stop.cmd` → `ci_stop.cmd`. 4. `hac.sup` on the primary (Setup File Editor), then copy to the others: | Tab | Set | |---|---| | General | `MODE` (DUAL/TRIPLE/QUAD), `HAC_HOSTS` (host names in priority order), `HAC_UNIT` (status item sections), `HEARTBEAT` | | Network | `PRIMARY`, `SECONDARY` … = the IP address of each network, same order on all servers | | Watchdog | `IP_DEVICE = ,