Linux

LVM 磁盘扩容

·4 分钟阅读·1418 字

LVM 磁盘扩容指南——lvresize 替代 lvextend、云主机 pvresize、非 LVM 分区 growpart

📋 目录

LVM 磁盘扩容

LVM 磁盘扩容实操指南——lvresize vs lvextend、云主机 pvresize 流程、非 LVM 分区扩容。


不用 lvextend,在 LVM 里可以用 lvresize 扩容逻辑卷,效果完全一样;非 LVM 则用 growpart/parted 扩分区再扩文件系统。下面分场景说清楚。


一、LVM 环境:用 lvresize 替代 lvextend

lvextendlvresize 的 “只扩容” 别名,功能等价、参数几乎一样。

1)先确认 VG 有空闲空间

vgs        # 看 Free 列
lvdisplay  # 看 LV 路径,如 /dev/centos/root

2)lvresize 扩容(不用 lvextend)

  • 吃掉 VG 所有空闲:
lvresize -l +100%FREE /dev/centos/root
  • 固定大小(如 +20G):
lvresize -L +20G /dev/centos/root

3)扩文件系统(必须步骤)

  • ext4:
resize2fs /dev/centos/root
  • xfs(CentOS7+ 默认):
xfs_growfs /

4)验证

df -h

二、云主机 / 虚拟机:磁盘先扩容 → pvresize → lvresize

虚拟机磁盘先在 hypervisor / 云平台扩大(比如从 40G 加到 80G),然后:

1)刷新内核分区表

partprobe /dev/sda   # 或 reboot

2)扩大物理卷 PV(关键,不用新 PV/VG)

pvresize /dev/sda2   # 你的 PV 分区

此时 VG 空闲空间变大。

3)lvresize 扩 LV

lvresize -l +100%FREE /dev/centos/root

4)扩文件系统

xfs_growfs /

三、非 LVM(纯分区):不用 LVM 命令

前提:空闲空间必须紧跟目标分区后面

方法 A:growpart(云主机常用,简单)

# 安装(Ubuntu)
apt install cloud-guest-utils -y

# 扩分区 1 到磁盘末尾
growpart /dev/sda 1

# 扩文件系统
resize2fs /dev/sda1   # ext4
xfs_growfs /           # xfs

方法 B:parted(手动,GPT/MBR 都支持)

parted /dev/sda
print                 # 看分区
resizepart 1 100%     # 分区 1 扩到整盘
quit

partprobe /dev/sda
resize2fs /dev/sda1

四、关键结论

  • LVM 扩容:lvresize 完全替代 lvextend,原地用 VG 空闲空间,不用新 PV/VG。

  • 虚拟机 / 云盘:先扩磁盘 → pvresizelvresize → 扩文件系统。

  • 非 LVM:growpart/parted 扩分区,再 resize2fs/xfs_growfs

要不要我给你一套可直接复制的一键脚本(含检查与回滚提示),你直接粘贴就能跑?


关联文档