首页/系统/信创系统运维速查/LVM 在线扩容(卷与文件系统)
常见问题65 条

LVM 在线扩容(卷与文件系统)

LVM 扩容两步:完 lvextend 扩逻辑卷,再按文件系统类型 xfs_growfs 或 resize2fs 扩容,容量允可时全程在线完成。

信创系统运维速查系统更新于 2026-10-13

LVM 在线扩容是做什么的

LVM 把物理卷组成卷组,再在卷组上划分逻辑卷,容量可以按需调整而不必重建文件系统。扩容是两步动作:先用 lvextend 把逻辑卷变大,再按文件系统类型执行相对应的扩容命令——XFS 用 xfs_growfs 按挂载点扩,ext4 用 resize2fs 按设备扩。只要卷组还有剩余空间,整个过程可以在线完成,不需要卸载文件系统或停机。

基本信息

查看剩余空间vgs 看卷组,lvs 看逻辑卷
扩逻辑卷lvextend -l +100%FREE /dev/mapper/<卷组>-<逻辑卷>
扩 XFSxfs_growfs <挂载点>,必须传挂载点
扩 ext4resize2fs <设备路径>,需传设备
确认结果df -h <挂载点>

典型使用场景

  • 业务分区容量告急,卷组仍有剩余空间,直接在线扩容不影响服务
  • 虚拟化与云环境下扩容云盘后,把新增容量逐层扩到文件系统
  • 数据库数据目录增长较快,按季度评估并扩容,避免触发空间告警
  • 先扩日志分区再观察一段时间,用数据支撑后续容量规划
  • 排查扩容无效:确认扩容动作在哪一层没有生效(阵列、卷组、逻辑卷、文件系统)
  • 交付验收阶段核对实际可用容量与规划值是否一致

完整扩容示例

完整扩容示例
vgs && lvs                      # 确认卷组剩余空间与逻辑卷路径
df -T /data                     # 确认文件系统类型(xfs 或 ext4)
lvextend -l +100%FREE /dev/mapper/vg0-lv_data   # 用尽卷组剩余空间
xfs_growfs /data                # XFS 按挂载点扩容
# ext4 则改用:resize2fs /dev/mapper/vg0-lv_data
df -h /data                     # 确认新容量已生效
# 卷组没有剩余空间时的顺序:加盘 → 建物理卷 → 加入卷组 → 再扩逻辑卷
# pvcreate /dev/sdb && vgextend vg0 /dev/sdb && lvextend -l +100%FREE /dev/mapper/vg0-lv_data

命令与对象对照

步骤命令作用对象
建物理卷pvcreate /dev/sdb新磁盘或分区
扩卷组vgextend vg0 /dev/sdb卷组
扩逻辑卷lvextend -l +100%FREE 路径逻辑卷
扩 XFSxfs_growfs /data挂载点,只能扩不能缩
扩 ext4resize2fs 设备路径设备,支持缩容但风险高
扩容前先确认底层已经扩好:如果是 RAID 阵列或云盘,先在存储层完成扩容,否则卷组看不到新增空间,lvextend 会直接报没有可用空间。
XFS 不支持缩小,规划容量时要留出余量;ext4 虽然支持缩容,但必须卸载并做强制文件系统检查,风险高,生产环境一般不采用。

易错点

  • 只扩逻辑卷不扩文件系统,df 显示容量没有变化,误以为扩容失败
  • XFS 用 resize2fs、ext4 用 xfs_growfs,命令与文件系统类型错配会直接报错
  • 存储层未先扩容就执行 lvextend,卷组没有新增空间可用,操作无法继续
  • 扩容后不核对 df 与实际写入,容量虽有但业务仍报空间不足,需确认是否另有配额或挂载路径问题

数据来源与参考

  • man 8 lvextend
  • man 8 xfs_growfs
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌