先确认文件系统类型和挂载点,再验证逻辑卷、卷组及物理卷空间是否就绪,然后按ext4或xfs执行对应扩容命令,最后排查底层设备容量是否被内核识别。

确认文件系统类型和挂载点
先明确当前逻辑卷挂载的是什么文件系统,因为不同格式的扩容命令完全不同。运行 df -T /mount/point(把 /mount/point 替换为实际路径,比如 / 或 /data),看输出中的 Type 列。常见结果是 xfs 或 ext4。再用 lsblk -f 核对逻辑卷设备名(如 /dev/mapper/vgname-lvname 或 /dev/vgname/lvname)是否与挂载点匹配。
检查逻辑卷和卷组空间是否真正就绪
文件系统扩不了,往往是因为上层还没“腾出地方”。执行以下三步验证:
- lvs:看目标 LV 的 LSize 是否已变大;没变说明 lvextend 没执行或失败
- vgs:查对应 VG 的 VFree 是否有剩余空间;为 0 说明卷组没扩容,需先 pvresize 或 vgextend
- pvs:确认底层 PV 的 PSize 和 PFree 是否同步增长;若仍是旧值,说明磁盘扩容后未触发 pvresize /dev/sdX
执行对应文件系统扩容命令
这一步必须严格按类型操作,且不能跳过:
- 如果是 ext4:运行 resize2fs /dev/mapper/vgname-lvname(设备路径,不是挂载点)
- 如果是 xfs:运行 xfs_growfs /mount/point(必须是挂载点,不是设备路径)
- 命令无报错不等于成功,执行后立刻用 df -h 验证容量是否更新
排查底层设备容量是否被内核识别
尤其在云平台或虚拟机中扩容磁盘后,内核可能还“不知道”物理尺寸变了:
- 用 lsblk 看磁盘总大小(如 /dev/sda)是否已是新值
- 若显示旧容量,尝试重扫描 SCSI 总线:echo 1 > /sys/class/scsi_device/*/device/rescan(需替换通配符为真实主机号,或逐个试)
- 再运行 blockdev --getsize64 /dev/sda,输出字节数应与预期一致











