Linux 上 Informix 集群部署方案
一、方案总览与选型
- 高可用复制类
- HDR(High Availability Data Replication):一主一备(或多备)异步复制,支持快速故障切换与回切,适合大多数 OLTP 场景。
- ER(Enterprise Replication):跨实例/跨站点的多主复制,支持异构拓扑与滚动升级(Informix 11.70+),适合需要跨机房或近零停机升级的业务。
- 共享磁盘类
- MACH 11 共享磁盘(SD)从服务器:与主实例共享磁盘,不维护完整副本,提供读扩展与快速接管能力(Informix 11.50.xC1+)。
- 连接管理与负载均衡
- CM(Connection Manager):多 SLA 路由、读写分离、故障转移与连接集中管理,常与 HDR/ER/SD 组合使用。
- 数据分片扩展
- 分片集群(Sharding)/分库分表:将数据分布到多个节点,提升吞吐与容量,通常与复制/CM 配合实现读写分离与高可用。
以上方案可单独或组合使用,选型取决于RTO/RPO、版本、网络时延、存储架构与运维能力。
二、推荐架构 HDR + CM(通用高可用与读写分离)
- 拓扑与角色
- 节点:Primary(HDR 主)、Secondary(HDR 备)、CM(Connection Manager)、可选 Application/HAProxy/LB。
- 端口:为每个实例配置唯一 service port,并在 /etc/services 登记;CM 监听管理/路由端口。
- 实施步骤(概要)
- 基础环境
- 各节点安装相同 Linux 与 Informix 版本;创建 informix 用户与目录(如 /opt/informix);配置环境变量 INFORMIXDIR、PATH、INFORMIXSQLHOSTS;统一 NTP/Chrony 时间;打通实例间 TCP 端口;准备共享存储(仅对 SD/共享磁盘方案必需)。
- 安装与初始化实例
- 以 informix 用户解压并安装引擎;编辑 onconfig 与 sqlhosts;初始化 rootdbs 与空间;确保 rootdbs 权限为 660;启动实例并校验 onstat -。
- 配置 HDR
- 在 Primary 上设置 HDR 辅助服务器并备份(典型流程:onmode -d primary <secondary_servername>);在 Secondary 上以 HDR 辅助方式启动并完成同步建立;校验 onstat -g dri 与复制延迟。
- 配置 CM
- 创建 CM 配置文件 cmconfig 与 sqlhosts.cm,定义 CLUSTER/GROUP/SLA 与故障切换策略(如 FOC ORDER、PRIORITY、TIMEOUT、RETRY);启动 oncmsm -c cmconfig;验证路由与故障转移。
- 应用接入与验证
- 应用通过 CM 虚拟服务名连接;演练主备切换(如 onmode -d standby ),验证 RTO/RPO 与连接无缝恢复。
该组合具备部署简洁、切换快速、运维可视化的优点,适合大多数生产 OLTP 场景。
三、共享磁盘方案 MACH 11(SD 从服务器)
- 适用场景:需要读扩展、快速接管且具备 SAN/共享块存储 的环境。
- 关键要点
- 主从实例共享同一 chunk 路径/磁盘;SD 从服务器不维护数据副本,接管时依赖共享存储的一致性。
- 版本要求:Informix 11.50.xC1+;配置共享磁盘、实例参数与 sqlhosts,定义 SD 从角色并加入集群;通过 CM 实现连接路由与故障转移。
- 优缺点
- 优点:读扩展便捷、切换路径短;缺点:共享存储为单点,需配合存储级高可用与演练。
此方案适合已有共享存储体系、希望简化数据复制链路并提升读能力的场景。
四、部署与运维要点清单
- 端口与服务:在 /etc/services 为各实例与 CM 注册端口;放通 防火墙/安全组;确保主机名解析一致(/etc/hosts 或 DNS)。
- 时间同步:全集群启用 NTP/Chrony,避免复制与时序异常。
- 权限与目录:确保 rootdbs 权限 660、目录属主为 informix:informix、磁盘挂载与权限一致(共享磁盘方案尤需注意)。
- 日志与诊断:关注 online.log、alert.log;使用 onstat -g dri/sql、onmode -d 系列命令;CM 侧查看 cmconfig 与日志确认路由/故障策略生效。
- 升级与变更:优先采用 ER 滚动升级(11.70+) 降低停机风险;变更前完整备份与演练切换流程。
以上要点覆盖安装、网络、权限、日志与升级的关键环节,可显著提升稳定性与可维护性。