这类故障通常不是单点问题,先确认最外层的报错,再往里一层层看。 云盘从一百 G 扩到两百 G,pvresize 和 lvextend 都执行成功,df 里 /data 仍然显示一百 G,xfs_growfs 提示不是挂载中的 XFS 文件系统。

先把影响面控制住,再谈彻底修复,顺序反了容易在高峰期出二次故障。

先分清是哪一类原因

  1. 对逻辑卷的设备路径执行了 growfs,而它需要的参数是挂载点路径
  2. 卷上的文件系统实际是 ext4,却用了只支持 XFS 的扩容命令
  3. 扩容加在了 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 也不支持缩小,规划时就留出余量比事后回退省事;真需要缩容只能新建卷再迁移数据。 复现步骤最好记下来,下次同类问题可以直接照单执行,不用再从零开始想。

作者 9823189