## 适用场景
数据盘写满但业务不能停,在线扩容是标准解法。顺云控制台完成云盘容量扩展后,操作系统内的分区与文件系统还停留在旧大小,需要两步把新空间接上,全程不需要重启,也不需要卸载。
## 步骤清单
第一步扩分区,第二步扩文件系统。growpart 参数是设备名与分区号,中间用空格分隔;resize2fs 针对的是设备分区,xfs 则不同,用 xfs_growfs 加挂载点,两种文件系统的命令不要混用。
growpart /dev/vdb 1 resize2fs /dev/vdb1 xfs_growfs /data
扩之前先用 lsblk 确认盘的总容量已经是新值,如果控制台显示已扩而系统看到的还是旧容量,需要刷新 SCSI 总线让内核重新识别尺寸,cloud-utils 包里通常带有刷新工具。分区表是 GPT 时,growpart 会自动把结尾的备份分区表挪到新边界。
## 验证方法
df -h 看文件系统容量是否已到新值,lsblk 看分区边界是否贴齐磁盘总大小。再实际写入一批文件确认新空间可用,写入与读取正常才算数。扩容完成后把监控里这块盘的水位告警阈值复核一遍。
## 注意事项
操作前建议先打一个快照,虽然在线扩容是低风险操作,但分区表级别的动作永远值得多一道保险。若分区上叠了 LVM,步骤会多一层,先扩分区再 pvresize,之后再扩逻辑卷。多分区共用一块盘时,growpart 只扩指定分区,空间分配要提前想清楚。
扩容之外,顺带把缩容的边界说清楚:云盘容量只增不减是常态,文件系统层面在线缩小也基本不可行。规划容量时按增长曲线预留,写满之前扩容,比事后迁移省事得多。多块数据盘的场景,把不同业务分盘放置,扩容操作互不影响,日志盘与数据盘混在一块盘上是常见的规划失误。
验收时还要看业务层:数据库类的写入是否恢复、应用日志里的空间告警是否清零。曾有过扩容完成但应用的临时目录仍指向旧小盘的场景,盘有余量,应用还在报警,逐层确认才能收口。把这次扩容的盘符、前后容量与耗时记进运维台账,容量增长的趋势数据就有了积累,下次扩容的时点可以提前预判。