Ubuntu 上 Informix 高可用配置指南
一、方案总览与选择
- 在 Ubuntu 上,Informix 可通过内置复制与共享磁盘技术,配合 Pacemaker/Corosync 或 Keepalived 实现自动故障切换与统一接入。常见方案与适用场景如下:
| 方案 |
复制/存储方式 |
切换方式 |
典型场景 |
优点 |
注意点 |
| HDR(High Availability Data Replication) |
基于事务日志的主备复制 |
主备切换(可自动) |
同城双活/主备 |
成熟可靠、备机可读(版本差异见下) |
网络时延敏感,需规划切换流程 |
| ER(Enterprise Replication) |
表级/库级复制 |
应用/路由控制 |
多活、汇总、双向 |
灵活粒度与拓扑 |
运维复杂度较高 |
| SDS(Shared Disk Secondary) |
共享磁盘(SAN/iSCSI) |
集群接管 |
高并发 OLTP |
切换快、共享存储 |
需可靠共享存储与仲裁 |
| RSS(Remote Standalone Secondary) |
异步日志复制 |
主备切换 |
异地灾备 |
广域网友好 |
RPO 较大 |
| CLR(Continuous Log Restore) |
日志持续恢复 |
手动/半自动 |
备份/近灾备 |
成本低 |
非实时切换 |
- 版本要点:
- HDR:自 Informix 11.5 起,备机支持读写(需企业版与相应许可)。
- SDS/RSS:自 Informix 11 起提供,适合复杂高可用与广域灾备。
- MACH 11:自 11.50.xC1 起支持多节点高可用特性(含共享磁盘从服务器)。
二、通用前置准备
- 系统与网络
- 两台以上 Ubuntu 节点,时间同步(如 chrony),双网卡/冗余网络,规划用于复制/心跳与业务网段。
- 开放防火墙端口(如 9088/9089 等,具体以 sqlhosts 与服务为准),并配置 /etc/hosts 或 DNS 解析。
- 安装与账户
- 创建 informix 用户与组(示例:groupadd -g 3000 informix; useradd -u 3000 -g 3000 -d /home/informix -m informix)。
- 设置环境变量(示例):
- INFORMIXDIR=/opt/IBM/informix
- INFORMIXSERVER=informix
- ONCONFIG=onconfig.informix
- export INFORMIXDIR INFORMIXSERVER ONCONFIG
- export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
- export PATH=$INFORMIXDIR/bin:$PATH
- 基础配置
- 在 /etc/services 中登记 Informix 服务端口;编辑 $INFORMIXDIR/etc/sqlhosts 定义 DRDA、HDR、SDS 等连接串;准备共享存储(SDS 场景)。
三、两种落地架构示例
四、验证与运维要点
- 健康检查与切换演练
- 使用 onstat - 系列命令查看实例、复制、会话与健康状态;定期执行 主备切换演练 与 网络断连/磁盘故障模拟,验证 RTO/RPO 与告警链路。
- 监控与告警
- 结合 Nagios/Zabbix/Prometheus+Grafana 监控 onstat 指标、复制延迟、磁盘 IO、VIP 漂移与节点存活;配置 短信/企业微信/钉钉 告警。
- 备份与恢复
- 制定 0 级备份 + 增量日志备份 策略;定期验证 物理/逻辑恢复;异地保留副本,完善 灾难恢复预案。
- 客户端接入
- 应用与中间件通过 VIP 或连接路由访问数据库;JDBC/ODBC 连接串中使用服务名(指向 sqlhosts 条目),避免硬编码物理 IP。