这类故障通常不是单点问题,先确认最外层的报错,再往里一层层看。 云盘从一百 G 扩到两百 G,pvresize 和 lvextend 都执行成功,df 里 /data 仍然显示一百 G,xfs_growfs 提示不是挂载中的 XFS 文件系统。
先把影响面控制住,再谈彻底修复,顺序反了容易在高峰期出二次故障。
先分清是哪一类原因
- 对逻辑卷的设备路径执行了 growfs,而它需要的参数是挂载点路径
- 卷上的文件系统实际是 ext4,却用了只支持 XFS 的扩容命令
- 扩容加在了 thin pool 上,没有继续向下扩到 thin volume
按顺序处理
1. 确认逻辑卷上的文件系统类型
lsblk -f /dev/mapper/vg0-data
2. XFS 传挂载点执行扩容
xfs_growfs /data
3. ext4 改用设备路径扩容
resize2fs /dev/mapper/vg0-data
4. 核对块设备与文件系统是否一致
df -h /data && lsblk /dev/vda
怎么确认已经恢复
df -h /data 显示两百 G,lsblk 里逻辑卷的容量与文件系统容量一致,写入大文件不再报空间不足。
容易忽略的地方
LVM 只能扩不能缩,XFS 也不支持缩小,规划时就留出余量比事后回退省事;真需要缩容只能新建卷再迁移数据。 复现步骤最好记下来,下次同类问题可以直接照单执行,不用再从零开始想。