- 首页 >
- 问答 >
-
云计算 >
- centos informix存储扩展方案
centos informix存储扩展方案
小樊
44
2026-01-02 04:48:33
CentOS 上 Informix 存储扩展方案
一、方案总览与选择
- 操作系统层扩容优先采用 LVM,便于在线扩展与回滚;文件系统以 XFS/EXT4 为主,扩容命令不同(XFS 用 xfs_growfs,EXT4 用 resize2fs)。新增磁盘或虚拟磁盘容量后,需先触发内核重扫设备(如遍历 /sys/class/scsi_host 写入 “- - -”),再用 lsblk/fdisk 确认新容量。
- Informix 层扩展常见三种:
- 传统方式新增 chunk(裸设备或熟文件);
- 使用 自动空间管理(Storage Pool + SP_AUTOEXPAND)按需自动加块;
- 扩展已有 dbspace/sbspace(手动加 chunk 或扩展可扩展块)。
- 高可用与性能建议:关键业务优先使用 镜像/RAID 提升冗余,必要时结合应用侧分片/读写分离实现水平扩展。
二、操作系统层扩容步骤
- 识别新增空间(虚拟机或物理机加盘后必做)
- 扫描 SCSI 总线:for host in /sys/class/scsi_host/*; do echo “- - -” > $host/scan; done
- 更新分区表:partprobe
- 确认:lsblk、fdisk -l
- LVM 在线扩容(推荐)
- 新增磁盘:pvcreate /dev/sdX → vgextend /dev/sdX
- 已有 PV 容量变大:pvresize /dev/sdXN
- 扩展 LV:lvextend -l +100%FREE /dev/mapper/-
- 扩展文件系统:
- XFS:xfs_growfs <mount_point>
- EXT4:resize2fs /dev/mapper/-
- 验证:df -h
- 传统分区扩容(风险高,尽量不用在生产根分区)
- fdisk/gdisk 调整分区(保持起始扇区不变,仅扩大结束扇区)→ partprobe → 挂载并按文件系统类型执行 xfs_growfs/resize2fs。
- 建议:/opt/informix 单独挂载在独立 LV 上,便于后续单独扩展且不影响系统盘。
三、Informix 层扩展步骤
- 方案A 传统方式新增 chunk(适合一次性加容量或固定路径)
- 准备存储(LVM 或阵列 LUN),创建目录并授权:mkdir -p /data/informix/chunks;chown informix:informix /data/informix
- 以 informix 用户执行:
- onspaces -c -d <dbspace_name> -p /data/informix/chunks/.dat -o 0 -s <size_in_KB>
- 如需镜像:onspaces -m <dbspace_name> -p <mirror_path> -o 0 -s <size_in_KB>
- 验证:onstat -d;必要时执行 onmode -l(逻辑日志切换)与 onmode -c(检查点)使新 chunk 生效。
- 方案B 自动空间管理(Storage Pool,按需自动加块,减少人工干预)
- 将可用原始设备/熟文件/目录加入存储池(SQL Admin API 或 OAT 图形界面):
- 标记目标块为可扩展(或调整创建/扩展大小、阈值与等待时间)
- 启用自动扩充:SP_AUTOEXPAND 设为非 0;可配置 mon_low_storage 任务频率
- 按需手动触发扩充或扩展块(无需等待自动任务)
- 注意:某些场景下自动扩充可能不会自动作用于 DBSPACETEMP 中的临时空间,需手动为临时空间加块或使用更大的临时 dbspace。
- 方案C 扩展已有 dbspace/sbspace(已有空间不足时)
- 若块标记为可扩展:onspaces -a <dbspace_name> -p <new_chunk_path> -o 0 -s <size_in_KB>
- 或扩展现有可扩展块:onspaces -e <dbspace_name> -s <new_total_size_in_KB>
- 验证:onstat -d;必要时调整 onconfig 中 DBSPACETEMP、SBSPACETEMP 等参数指向新空间。
四、变更前后检查与回退
- 变更前
- 全量备份(操作系统与 Informix:ontape、onbar 或企业级备份工具);
- 记录关键配置:onconfig 参数、sqlhosts、磁盘阈值、镜像策略;
- 选择维护窗口,设置只读/限制写入或短暂停机窗口(视变更类型而定)。
- 变更中
- 操作系统层扩容后,务必执行文件系统扩容命令(xfs_growfs/resize2fs),并用 df -h 验证;
- Informix 层新增 chunk 后,用 onstat -d 确认状态为可用;扩展块后检查空间使用与碎片。
- 变更后
- 业务回归验证(关键查询、导入导出、索引构建、排序);
- 监控空间增长与告警阈值;保留回滚方案(如移除新增 chunk、还原备份)。
五、常见问题与优化建议
- 系统层看不到新增磁盘容量:忘记触发 SCSI 重扫或 partprobe,执行扫描与 partprobe 后再查看 lsblk/fdisk -l。
- 文件系统扩容命令不匹配:XFS 必须用 xfs_growfs <挂载点>,EXT4 用 resize2fs <设备>;用错命令会导致扩容失败或无效。
- 自动扩充未生效于临时空间:DBSPACETEMP 中的临时 dbspace 有时不会自动扩充,需手动为其添加更大的块或临时空间。
- 在线扩容风险:传统分区在线扩容风险高,优先使用 LVM;变更前务必备份与评估回滚路径。
- 性能与冗余:关键业务建议采用 镜像/RAID10 或阵列级别冗余;对大对象与日志/临时空间可分离放置,减少争用。