Ubuntu 上 Informix 存储管理实操指南
一 存储架构与关键概念
- 核心存储对象包括:DBspace(数据库空间)、Chunk(数据块,实际文件或裸设备)、BLOBspace/SBLOBspace(大对象空间)、Extspace(外部空间)。创建与变更这些对象的主要工具是 onspaces。实例启动后,可用 onstat -d 查看空间与 Chunk 的状态与剩余空间。
- 实例级关键配置在 $INFORMIXDIR/etc/onconfig:如 ROOTNAME/ROOTPATH/ROOTSIZE/ROOTOFFSET 定义根空间;日志、临时目录等也在此配置。空间不足或需要扩展时,优先规划好新的 Chunk 路径与大小,再在线添加。
- 备份与归档体系:传统方式使用 ON-Bar + ISM(Informix Storage Manager) 管理磁带/文件设备池;归档日志与逻辑备份通过 BAR 相关参数与设备池配合执行。
- 系统层面建议:为 informix 用户配置合适的 ulimit(打开文件数、进程数等),并使用 cgroups/systemd 做资源隔离与保障,避免存储/IO 被其他进程挤占。
二 初始化与基础配置
- 创建用户与目录,设置环境变量(示例):
- 创建用户/组:groupadd informix;useradd -g informix informix
- 目录与权限:mkdir -p /opt/IBM/informix/data;chown informix:informix /opt/IBM/informix/data
- 环境变量(写入 ~informix/.bash_profile):
- export INFORMIXDIR=/opt/IBM/informix
- export INFORMIXSERVER=informix
- export ONCONFIG=onconfig.informix
- export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
- export PATH=$INFORMIXDIR/bin:$PATH
- 初始化根空间(onconfig 关键项):
- ROOTNAME=rootdbs;ROOTPATH=/opt/IBM/informix/data/rootdbs.dat
- ROOTOFFSET=0;ROOTSIZE=30000(页,按实例页大小换算为 KB/MB)
- 启动实例:oninit -iv(首次初始化使用 -iv;后续可用 onmode -ky 停库、oninit 启库)。
三 日常空间管理常用操作
- 创建普通 DBspace(示例):
- 准备文件并赋权:touch /dbs/mydbs.dat;chmod 660 /dbs/mydbs.dat
- 创建空间:onspaces -c -d mydbs -p /dbs/mydbs.dat -o 0 -s 1000000
- 为已有 DBspace 增加 Chunk:
- onspaces -a mydbs -p /dbs/mydbs2.dat -o 0 -s 500000
- 创建 BLOBspace(示例):
- onspaces -c -b blob1 -g 8192 -p /dbs/blob1.dat -o 0 -s 1000000
- 镜像与取消镜像:
- 为 DBspace 增加镜像:onspaces -m mydbs -p /dbs/mydbs_mirror.dat -o 0 -m /dbs/mydbs_mirror2.dat 0
- 关闭镜像:onspaces -r mydbs
- 查看空间与 Chunk:onstat -d(关注 size/free、状态与路径)
- 删除空间(谨慎):onspaces -d spacename(需先迁移/清理对象,确保无业务依赖)。
四 扩展与扩容路径
- 文件系统/LVM 在线扩容(适用于已有数据目录所在卷):
- 扩展逻辑卷:sudo lvextend -L +100G /dev/mapper/ubuntu–vg-ubuntu–lv
- 扩展 ext4 文件系统:sudo resize2fs /dev/mapper/ubuntu–vg-ubuntu–lv
- 扩容后,为新 Chunk 预留文件路径与容量,再用 onspaces 增加 Chunk。
- 新增磁盘/阵列:在新磁盘上创建文件系统,挂载到如 /dbs2,赋权 informix:informix,随后用 onspaces -c/-a 创建或扩展空间。
- 版本特性提示:部分版本(如 Informix 11.7)提供自动存储供应能力,可更灵活地增减存储;具体以实际版本与许可为准。
- 变更前务必做好:全量备份、评估锁与长事务、选择业务低峰窗口执行。
五 备份归档与容量保障
- 使用 ON-Bar + ISM 的典型步骤(示例思路):
- 配置设备与卷池:在 ISM 中为备份创建卷池(如 ISMData/ISMLogs 或文件型 ISMDiskData/ISMDiskLogs),并“标示卷”(ism_op -label …)。
- onconfig 关键项:设置 BAR_BSALIB_PATH(指向 XBSA 库)、BAR_ACT_LOG、以及 ISM_DATA_POOL/ISM_LOG_POOL 指向上述卷池。
- 执行备份/恢复:通过 onbar 发起物理/逻辑备份与恢复,按卷池自动分配介质。
- 容量预警与日常巡检:
- 用 onstat -d 观察 free 余量;结合 onstat -m 查看消息日志中的空间告警。
- 结合系统工具(如 df/du、监控告警)建立容量阈值与趋势图,提前扩容。