温馨提示×

Ubuntu Informix集群如何搭建管理

小樊
38
2025-12-11 04:09:26
栏目: 智能运维

Ubuntu 上搭建与管理 Informix 集群的实用指南

一、方案选型与前置准备

  • 方案选型
    • 高可用与读写分离:优先采用 HDR(High‑Availability Data Replication) 一对多,主备自动切换,适合大多数业务。
    • 同城双活/多活与负载分担:采用 RSS(Remote Standalone Server) 多节点,分担读负载,故障域隔离。
    • 共享存储与一致性:采用 SDS(Shared Disk Secondary),共享磁盘阵列,切换依赖磁盘仲裁与集群软件。
    • 大规模横向扩展:采用 ER(Enterprise Replication),跨域/跨城多活,强一致或最终一致可选。
  • 节点规划
    • 建议至少 3 台 Ubuntu 服务器(1 主 + 1 HDR + 1 RSS/仲裁或管理节点),统一 Ubuntu LTS 版本与补丁级别。
    • 规划实例名、服务端口、复制端口、共享磁盘(如用 SDS)、心跳与业务网段分离。
  • 系统与账户
    • 创建 informix 用户与组(示例 UID/GID 3000),家目录 /opt/informix,安装目录 /opt/IBM/informix
    • 设置环境变量(示例):
      • export INFORMIXDIR=/opt/IBM/informix
      • export INFORMIXSERVER=ol_informix
      • export ONCONFIG=onconfig.ol_informix
      • export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
      • export LD_LIBRARY_PATH=$INFORMIXDIR/lib:$LD_LIBRARY_PATH
      • export PATH=$INFORMIXDIR/bin:$PATH
  • 网络与基础
    • 主机名唯一、/etc/hosts 可解析;业务网与复制网分离。
    • 时间同步 NTP/Chrony;关闭 swap;SSH 免密互通(用于管理脚本与复制)。
    • 防火墙仅开放 SSH、SQL 监听端口、HDR/RSS 复制端口 等必要端口。

二、单机实例安装与初始化(每个节点)

  • 安装介质与用户
    • 上传并解压 IBM Informix 安装包(如 .tar),以 root 执行安装脚本(示例:ids_install 或 installserver),按向导完成安装;安装完成后以 informix 用户继续配置。
  • 目录与权限
    • 创建数据目录(示例):mkdir -p /opt/IBM/informix/data;创建默认数据文件(示例):touch /opt/IBM/informix/data/datadbs.dat;chmod 660 并设置属主 informix:informix
  • 配置文件
    • 复制模板:cp $INFORMIXDIR/etc/onconfig.std $INFORMIXDIR/etc/onconfig.ol_informix
    • 关键参数示例(按实际磁盘与内存调整):
      • ROOTNAME rootdbs;ROOTPATH /opt/IBM/informix/data/rootdbs;ROOTSIZE 300000(页)
      • MSGPATH $INFORMIXDIR/tmp/online.log;CONSOLE $INFORMIXDIR/tmp/online.con
      • DBSERVERNAME ol_informix;SERVERNUM 唯一(如 10/11/12
      • NETTYPE onsoctcp,1,50,NET;监听端口在 /etc/services 定义(示例 9088/tcp
  • sqlhosts 与系统服务
    • /etc/services 增加:informix 9088/tcp
    • $INFORMIXDIR/etc/sqlhosts 示例:
      • ol_informix onsoctcp node1 informix
      • hdr_informix onsoctcp node2 informix
      • rss_informix onsoctcp node3 informix
  • 初始化与验证
    • 首次初始化:oninit -ivy
    • 常用检查:onstat -;onstat -d;onstat -g ntt;onstat -g sql;dbaccess demo -;tail $INFORMIXDIR/tmp/online.log

三、集群部署步骤(以 HDR 为主,RSS 为辅)

  • 主节点准备
    • 确认实例健康(onstat -),无长事务与锁冲突;备份关键系统表(如 sysutils、sysmaster 视图导出)。
  • 创建 HDR 备机
    • 在备机(node2)安装相同版本与补丁,目录结构一致;初始化为空实例(oninit -ivy 后 onmode -ky)。
    • 在主节点添加 HDR:onmode -d add_hadr hdr_informix node2[:port]
    • 观察备机同步:onstat -g hadr;主备一致后切换为只读:onmode -d primary hdr_informix
  • 创建 RSS 节点(可选)
    • 在第三台(node3)安装相同版本;初始化为空实例。
    • 在主节点添加 RSS:onmode -d add_rss rss_informix node3[:port]
    • 验证:onstat -g rss;RSS 默认只读,可分担报表/查询。
  • 切换与回切演练
    • 计划内切换:主节点 onmode -d standby hdr_informix;备机提升为主:onmode -d primary hdr_informix
    • 故障切换:主节点宕机后,备机自动接管;原主恢复后可作为新的备机加入:onmode -d add_hadr hdr_informix node1
    • 演练后核对:onstat -g hadr/rss、复制积压、LSN/一致性、应用连接串切换策略。

四、日常运维与监控管理

  • 启停与状态
    • 启动:oninit;关闭:onmode -ky;快速重启:onmode -c all
    • 状态与诊断:onstat -(概要)、onstat -d(空间)、onstat -g ntt(网络)、onstat -g sql(会话)、onstat -g hadr/rss(复制)、onstat -m(消息)
  • 备份与恢复
    • 逻辑备份:dbexport dbname;恢复:dbimport dbname
    • 物理备份:ontape -s -L 0;增量:ontape -s -L 1;时间点恢复:ontape -r
  • 空间与性能
    • 扩空间:onspaces -c -d datadbs -p /path/file -o 0 -s 500000(页)
    • 缓冲与日志:合理设置 BUFFERPOOLLOGFILES/LOGSIZE/LOGBUFFPHYSBUFF,避免日志满与检查点过长
  • 监控与告警
    • 日志轮转:logrotate 管理 online.log;关键指标:复制积压、长事务、锁等待、磁盘使用率、会话数
    • 建议接入 Prometheus + node_exporter/自定义脚本,阈值告警(如复制积压 > 1GB、剩余空间 < 20%)。

五、常见问题与排错要点

  • 节点无法加入复制
    • 核对 sqlhosts 主机名/IP、端口一致;防火墙放行;SERVERNUM 唯一;时间同步;实例版本/补丁一致。
  • 复制积压持续增长
    • 检查备机/ RSS 负载与 I/O;优化长事务与批量作业;必要时提升网络带宽或调整页面大小/缓冲参数。
  • 切换失败或数据不一致
    • 以最近一次 0 级备份 重建备机/ RSS;核对 onstat -g dr 错误;回放日志验证一致性。
  • 初始化或启动失败
    • 查看 MSGPATH 日志;确认 ROOTPATH 权限与可用空间;检查 NETTYPE 与监听端口占用;必要时 onmode -ky 后重初始化。

0