Linux 上 Informix 高可用总体思路
在 Linux 上构建 Informix 的高可用,通常采用“数据复制 + 连接路由 + 自动故障转移 + 监控与演练”的组合架构。常见复制技术包括 HDR(High Availability Data Replication) 与 ER(Enterprise Replication);连接层通过 Connection Manager 提供自动重连与可选的负载均衡;主机层可叠加 Pacemaker/Keepalived 实现 VIP 与资源管控;同时配合 ontape 备份与 onstat/onmode 监控,形成完整的可用性与容灾闭环。
主流方案对比与适用场景
| 方案 |
拓扑与原理 |
主要优点 |
典型场景 |
版本要点 |
| HDR(一主一备) |
基于逻辑日志的同步复制,备机可升级为读写(分布式写入) |
切换快、运维简单、备机可分担只读/报表 |
同城双机热备、快速故障接管 |
11.5+ 支持备机读写;切换可用 onmode primary/secondary 与 DRAUTO 策略 |
| ER(企业复制) |
多主/多备的复制网格,跨机房/广域 |
灵活拓扑、支持异构与部分表复制 |
多活/近实时容灾、读写分离与就近访问 |
11.70+ 支持滚动升级(零停机) |
| MACH 11 共享磁盘(SD) |
多节点共享磁盘,SD 从节点与主节点共享磁盘 |
统一存储、部署相对简洁 |
共享存储环境、读扩展 |
11.50.xC1+ 支持 SD 从服务器 |
| 共享存储 + 外部 HA(Pacemaker/Keepalived) |
共享存储承载数据,HA 管控实例与 VIP |
成熟稳定、与存储厂商方案兼容 |
传统 SAN/NAS 场景 |
需与复制/应用配合,避免脑裂 |
| Connection Manager + 客户端路由 |
客户端连 CM,自动故障切换与可选负载均衡 |
对应用透明、集中连接管理 |
多实例/多站点接入 |
需配置 enableWLB、连接上限与刷新间隔等参数 |
| 上述方案可单独或组合使用:例如 HDR/ER 负责数据连续性,CM 负责连接 HA,Pacemaker/Keepalived 负责主机与 VIP 的自动切换。 |
|
|
|
|
落地实施步骤
- 规划与版本
- 明确 RPO/RTO、网络时延、机房拓扑与存储类型;选择 HDR/ER/MACH 11 等复制技术;确保 IDS 版本满足特性需求(如 HDR 读写备机需 11.5+,ER 滚动升级需 11.70+)。
- 复制部署
- HDR:准备主备两实例,开启日志,建立 HDR 连接,按需设置 DRAUTO(0 手动、1 自动、2 条件);验证日志应用延迟与切换流程(如 onmode primary/secondary)。
- ER:定义复制域与复制表,建立 ER 队列,设置一致性/冲突策略,验证双向/多向复制与回切。
- MACH 11:配置共享磁盘与 SD 从节点,验证磁盘路径与权限一致性。
- 连接层高可用
- 部署 IBM Connection Manager,在客户端连接串或 db2dsdriver.cfg 中配置 CM 地址/端口;启用 enableWLB、设置 maxTransports、maxRefreshInterval 等,实现自动重连与可选负载均衡;非 Java 客户端亦可通过 db2cli.ini/db2dsdriver.cfg 获取连接信息。
- 主机与网络层
- 使用 Pacemaker/Keepalived 管理实例启停与 VIP,配置 STONITH/隔离、健康检查脚本与切换策略,避免脑裂;确保跨节点时间同步(如 NTP/chrony)。
- 备份与演练
- 制定 ontape 全量/增量备份与异地保存策略,定期做 备份校验与恢复演练;结合 onstat/onmode 与 Zabbix/Nagios 建立监控告警与容量阈值。
运维与切换要点
- 切换与回切
- HDR 切换:常用命令为 onmode -ky(优雅停主)、onmode primary/secondary(角色切换);DRAUTO 决定自动/条件切换行为,切换后校验复制方向与一致性。
- ER 切换:按复制域暂停/恢复队列,必要时重建一致性点,回切前确认目标节点追平日志。
- 变更与升级
- 利用 ER 的滚动升级(11.70+) 实现多节点低/零停机升级;HDR 升级需按主备顺序执行并充分验证。
- 客户端容错
- 通过 Connection Manager 的 enableWLB 与连接上限控制,减少单点拥塞;对不支持自动重连的应用,合理设置 maxRefreshInterval 与超时,避免长事务中断。
- 监控与容量
- 持续监控 onstat -g dri、逻辑日志使用、复制延迟、会话与锁等待;对磁盘、I/O、网络与连接数设置阈值告警,并定期做 容灾演练 验证 RPO/RTO。