一、CentOS层面:物理磁盘与LVM扩容
在CentOS系统中为Informix扩容前,需先通过物理磁盘或LVM扩展底层存储容量,为数据库提供更多空间。
fdisk /dev/sdXY(X为磁盘标识,Y为分区号)进入分区编辑模式,创建新分区(如/dev/sdb1)。pvcreate /dev/sdb1。vg_centos),命令:vgextend vg_centos /dev/sdb1。lvextend -l +100%FREE /dev/mapper/vg_centos-lv_root(+100%FREE表示使用所有可用空间)。resize2fs,XFS用xfs_growfs,命令:resize2fs /dev/mapper/vg_centos-lv_root 或 xfs_growfs /dev/mapper/vg_centos-lv_root。df -h查看磁盘空间,确认扩容生效。二、Informix数据库层面:存储与实例扩容
完成底层存储扩容后,需通过数据库配置调整实现Informix存储空间的扩展。
自动存储供应(推荐,11.7+版本):
Informix 11.7及以上版本支持存储池(Storage Pool)和可扩展块(Extensible Blocks),允许数据库在需要时自动扩展存储,无需手动干预。配置方法:
onconfig文件中设置STORAGE_POOL参数(如STORAGE_POOL = /informix/storage_pool);AUTO_EXTEND = TRUE(主动扩展,空间耗尽前扩容)或AUTO_EXTEND_FAILSAFE = TRUE(被动扩展,事务失败时扩容)。手动扩展dbspace/sbspace:
若使用旧版本或需精确控制存储分配,可通过onspaces实用程序手动增加dbspace(数据库空间,存储表数据)或sbspace(sbspace,存储LOB数据)。步骤:
onspaces -c -d dbspace_name -p /dev/mapper/vg_centos-lv_new -o 0 -s 10G(dbspace_name为dbspace名称,/dev/mapper/vg_centos-lv_new为新chunk路径,10G为chunk大小);onspaces -x -d dbspace_name -p /dev/mapper/vg_centos-lv_new -o 0 -s 5G(向dbspace_name添加5G空间)。水平扩展(集群负载分担):
通过增加Informix集群节点(服务器),配置共享存储(如SAN、NFS)或分布式架构(如SDHA/SAHA高可用),将负载分散到多个节点,提升整体存储和处理能力。步骤:
informix-sdh或informix-saha);onmode -j命令同步数据。垂直扩展(硬件升级):
通过增加物理存储设备(如更大容量的磁盘阵列)或升级服务器内存、CPU,提升Informix实例的存储和处理能力。需注意:
onconfig参数(如BUFFERPOOL大小、LOCKS数量)以充分利用新增硬件资源。三、扩容注意事项
onstat命令监控扩容过程(如onstat -g sp查看存储池状态,onstat -d查看dbspace状态),确保操作顺利完成。