首页/系统/Linux 运维命令速查/lvextend 扩容逻辑卷
磁盘与文件系统51 条

lvextend 扩容逻辑卷

lvextend 给 LV 追加空间,-r 顺带在线扩文件系统(调用 resize2fs/xfs_growfs),是服务器加盘扩容最常用的一条命令。

Linux 运维命令速查系统更新于 2026-10-13

lvextend 是什么

lvextend 给 LVM 逻辑卷追加空间:从它所属卷组(VG)的空闲物理扩展(PE)里划出一部分给逻辑卷(LV),-r 参数顺带把文件系统扩到新容量(ext4 调用 resize2fs,XFS 调用 xfs_growfs)。它是服务器扩容最常用的一条命令,但有个硬前提:卷组里必须有剩余空间。VG 用尽时要先 vgextend 把新盘或分区加进卷组,或者当云盘已经扩容而 PV 没跟上时先执行 pvresize,再回头扩 LV。

基本信息

适用平台Linux(lvm2 套件,主流发行版默认安装)
命令语法lvextend -L +大小|-l +PE数或百分比 [-r] /dev/卷组/逻辑卷
常用选项-L 按容量(支持 +50G 相对写法) -l 按 PE 数或百分比(+100%FREE) -r 同步扩文件系统 -f 跳过确认询问
前置检查vgs 看卷组剩余 VFree、lvs 看当前 LV 大小、df -h 看文件系统用量
权限说明需要 root

典型使用场景

  • 云盘扩容后:云控制台把盘扩到 200G,接着在系统里把 LV 与文件系统一起撑大
  • 卷组有余量:某业务卷写入增长快,直接从 VG 剩余空间补 50G
  • 新盘入池:vgextend 把新盘加入卷组,再按需分配给多个逻辑卷
  • 在线扩容:业务不中断地执行 lvextend -r,把数据卷从 100G 扩到 150G
  • 吃满剩余:用 -l +100%FREE 把卷组最后的空间全部分给指定 LV

常用示例

常用示例
vgs                                      # 先看卷组剩余空间 VFree
lvs /dev/vg0/data                        # 当前 LV 大小与属性
lvextend -L +50G /dev/vg0/data           # 只扩 LV,不动文件系统
lvextend -r -L +50G /dev/vg0/data        # 推荐:同时扩文件系统
lvextend -l +100%FREE /dev/vg0/data      # 用掉卷组全部剩余空间
vgextend vg0 /dev/sdc1                   # 卷组不够时先把新盘加进去
pvresize /dev/sdb                        # 云盘已扩容但 PV 未跟上时先扩 PV
df -h /data                              # 最后核对文件系统可用空间

扩容命令分工

命令作用所处层级
pvresize把物理卷扩到设备实际大小物理卷层,云盘扩容后的第一步
vgextend把新物理卷加入卷组卷组层,增加可用池子
lvextend从卷组分配空间给逻辑卷逻辑卷层,本条命令
resize2fs / xfs_growfs把文件系统扩到逻辑卷大小文件系统层,-r 会自动调用
顺序永远自上而下失败、自下而上成功:先让底层设备变大(分区、PV、云盘),再 lvextend,最后扩文件系统。顺序反了会报文件系统已达上限而无从下手。
XFS 只能增长不能缩小,ext4 虽然支持 resize2fs 缩小但风险明显更高。生产环境不要使用 lvreduce 回收空间,容量规划宁可留富余。

易错点

  • 忘写 -r 只扩了 LV:df 数字不变会让人误以为操作无效,需补一条 resize2fs 或 xfs_growfs
  • 卷组剩余空间不足时 lvextend 直接报错,先 vgs 确认 VFree,必要时 vgextend 加盘
  • 云盘扩容后没有执行 pvresize,物理卷仍是旧尺寸,后续 lvextend 依然失败
  • LVM 快照卷会占用卷组空间,扩容前先用 lvs 看清是谁在消耗 VFree

数据来源与参考

  • man 8 lvextend(lvm2)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌