温馨提示×

Informix在Linux上的集群配置是怎样的

小樊
42
2025-12-20 21:12:39
栏目: 智能运维

Linux 上 Informix 集群配置概览

在 Linux 上,Informix 的高可用与扩展通常通过内置复制与共享磁盘技术实现,常见方案包括:HDR(High Availability Data Replication)SDS(Shared Disk Secondary)RSS(Remote Standby Server)、**ER(Enterprise Replication)**以及多节点活动集群 MACH 11。其中 MACH 1111.50.xC1 起引入,支持共享磁盘从服务器;ER11.70 起支持跨版本滚动升级,便于集群维护与升级。

典型架构与适用场景

方案 数据同步方式 角色与特点 典型场景
HDR 日志级复制(主→备) 一主一备,备机可读,切换需手工/脚本 高可用、快速接管
SDS 共享磁盘(不复制数据) 多备共享同一磁盘,主写备读,备机不维护完整副本 读扩展、快速切换
RSS 日志级复制(主→远备) 跨机房/广域灾备,备机可读 异地容灾
ER 表级复制(双向/多向) 多节点多活,支持异构与跨版本滚动升级 多活、零停机升级
MACH 11 组合(SDS/RSS 等) 多节点活动集群,统一接入 大规模高可用与扩展
上述方案可组合使用,例如以 HDR 做同城高可用,配合 RSS 做异地灾备,或用 ER 实现多活与滚动升级。

配置步骤示例 HDR 双机高可用

  • 准备与基础配置

    • 在两台服务器安装相同版本的 Informix,创建 informix 用户与目录(如 /opt/informix),并在所有节点设置一致的环境变量:INFORMIXDIR、INFORMIXSERVER、ONCONFIG、INFORMIXSQLHOSTS、PATH、LD_LIBRARY_PATH,建议写入 ~/.bash_profilesource 使其生效。
    • 配置 /etc/hosts/etc/services,确保主机名可解析且监听端口一致;在 sqlhosts 中为主备实例配置 onsoctcp 条目(示例:ifx_ids、ifx_hdr)。
    • 初始化主实例:oninit -ivy,用 onstat - 检查状态,确认监听端口与空间正常。
  • 建立 HDR 关系

    • 在主库将目标备库加入 HDR:onmode -d add dr ifx_hdr(ifx_hdr 为备库在 sqlhosts 中的服务器名)。
    • 在备库初始化为 HDR 备机:oninit -PHY(或按向导完成物理恢复),完成后 onstat -g dri 应显示 HDR 状态为 Active/Standby
    • 验证复制链路与切换演练:在主库插入测试数据,在备库查询验证;按计划执行 onmode -d primary ifx_hdr(主→备)或 onmode -d secondary ifx_ids(备→主)进行切换,切换后复核连接与复制状态。

连接管理与负载均衡

  • 使用 Connection Manager(CM) 统一接入与故障切换:创建 cmconfig 定义集群与 SLA(如 oltp、report 映射到不同实例),在 INFORMIXSQLHOSTS 中配置 group 条目(如 g1)与成员;启动 oncmsm -c cmconfig 后,客户端通过 group 名 连接,由 CM 按 SLA 与优先级自动路由与切换。
  • 如需在数据库前做连接级负载均衡与故障转移,可在 Linux 上部署 HAProxy/Keepalived 等组件实现 VIP 与后端实例的健康检查与切换(注意:数据库协议为专用接口,负载均衡器需支持相应协议或仅做连接转发)。

关键注意事项与排错要点

  • 环境与一致性
    • 各节点 时间同步(NTP/Chrony)主机名解析用户/组与目录权限保持一致;环境变量在所有节点统一配置;监听地址避免使用仅 127.0.0.1,确保远程可达。
  • 网络与端口
    • sqlhosts 使用 onsoctcp 并开放对应端口;在 /etc/services 登记服务名与端口;用 netstat -apn | grep oninitonstat -g ntt 检查监听与连接。
  • 存储与权限
    • 数据空间与 rootdbs 权限设置为 660(属主 informix:informix);共享磁盘(SDS)需在所有节点对同一块设备有一致访问权限与多路径配置。
  • 日志与诊断
    • 启动失败或异常优先查看 $INFORMIXDIR/logs/online.log;HDR/复制状态用 onstat -g drionstat -g rssonstat -g sds 等命令核查;CM 日志位于 INFORMIXDIR/tmp/cmlog(按 cmconfig 配置)。

0