首页/系统/服务器硬件与 RAID 速查/在线扩容(OCE)与容量使用
RAID 级别与计算68 条

在线扩容(OCE)与容量使用

阵列卡支持在有空闲盘位时用 OCE(Online Capacity Expansion)扩充容量,但扩容后新增空间位于逻辑盘尾部,需要分区与文件系统配合才能真正用上。

在线扩容(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 缩容风险高,操作窗口要留足;中途断电可能让阵列进入需要人工确认的中间状态。

易错点

  • 以为卡上扩容完就结束了:不做分区与文件系统扩展,新增空间在操作系统里根本不可见
  • 扩容过程中断电或强制重启:阵列状态可能进入需要人工确认的中间态,处理不当会丢数据
  • 在降级阵列上扩容:冗余已经不足,任何重分布压力都可能引发二次故障
  • 扩容后忘记核对上限:部分卡或文件系统对单卷容量有上限,扩到一半才发现放不下
  • 没有回退方案就动手:扩容属于不可逆操作,先确认备份可用与回退路径再执行

数据来源与参考

  • Broadcom MegaRAID 用户指南(OCE)
  • man 8 growpart / man 8 xfs_growfs
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌