LVM 磁盘扩容
LVM 磁盘扩容实操指南——lvresize vs lvextend、云主机 pvresize 流程、非 LVM 分区扩容。
不用 lvextend,在 LVM 里可以用 lvresize 扩容逻辑卷,效果完全一样;非 LVM 则用 growpart/parted 扩分区再扩文件系统。下面分场景说清楚。
一、LVM 环境:用 lvresize 替代 lvextend
lvextend 是 lvresize 的 “只扩容” 别名,功能等价、参数几乎一样。
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。 -
虚拟机 / 云盘:先扩磁盘 →
pvresize→lvresize→ 扩文件系统。 -
非 LVM:
growpart/parted扩分区,再resize2fs/xfs_growfs。
要不要我给你一套可直接复制的一键脚本(含检查与回滚提示),你直接粘贴就能跑?
关联文档
- Linux 磁盘管理 — 磁盘基础
- 磁盘阵列 RAID — RAID 对比