在线扩容(OCE)
阵列卡在有空闲盘位或可新增整组盘时,支持在线扩容(OCE,Online Capacity Expansion):把新盘加入阵列后重新分布数据,逻辑盘容量随之变大。关键认知是这一步只发生在阵列层——操作系统看到的仍是一块容量变大的逻辑盘,新增空间位于逻辑盘尾部,必须再做分区扩展与文件系统扩展才能真正用上,三步缺一不可。
基本信息
| 前提 | 空闲槽位或成组新增盘;阵列处于 Optimal 状态,不允许在降级时扩容 |
|---|---|
| 影响 | 扩容期间性能下降,过程通常不可逆(部分卡可中断) |
| 后续步骤 | 扩容 LUN → 扩展分区(growpart)→ 扩展文件系统(resize2fs / xfs_growfs) |
| 扩容粒度 | RAID 10 必须成对加盘,RAID 5/6 可逐盘加盘 |
| 文件系统限制 | XFS 只能扩不能缩,ext4 可扩可缩但缩容风险高 |
| 耗时 | 与新增数据重新分布量相关,大阵列可能持续数小时到数天 |
Linux 侧扩展流程
Linux 侧扩展流程
# 1. 卡侧:把新盘加入阵列并等待重新分布完成
storcli /c0/v0 show | grep -i -E 'State|OCE|Size'
# 2. 确认逻辑盘容量已变大(可能需要重新扫描 SCSI)
rescan-scsi-bus.sh -r
lsblk
# 3. 分区与文件系统扩展
growpart /dev/sda 3
pvresize /dev/sda3
lvextend -l +100%FREE /dev/vg0/lv_data
xfs_growfs /data三个层次别混在一起
| 层次 | 动作 | 验证方式 |
|---|---|---|
| 阵列层 | 加入新盘并做容量扩展(OCE) | 卡工具显示逻辑盘容量变大 |
| 分区与卷层 | 扩展分区或物理卷、逻辑卷 | lsblk 与 pvdisplay 显示新容量 |
| 文件系统层 | 在线扩展文件系统 | df -h 显示可用空间增长 |
扩容顺序与检查点
- 扩容前做备份并核对可用空间:扩容失败的回退成本很高
- 确认阵列处于 Optimal,降级状态下不要做任何扩容动作
- 扩容期间压低业务负载,避免重分布与业务 IO 互相争抢
- 每一步都用工具验证结果,不要连续执行到最后才回头看
扩容前必须做备份与容量核对:XFS 只能扩不能缩,LVM 缩容风险高,操作窗口要留足;中途断电可能让阵列进入需要人工确认的中间状态。