LVM 磁盘扩容
1. LVM 环境:用 lvresize 替代 lvextend
lvextend 是 lvresize 的 “只扩容” 别名,功能等价、参数几乎一样。
1.1. 先确认 VG 有空闲空间
vgs # 看 Free 列
lvdisplay # 看 LV 路径,如 /dev/centos/root
1.2. lvresize 扩容(不用 lvextend)
- 吃掉 VG 所有空闲:
lvresize -l +100%FREE /dev/centos/root
- 固定大小(如 +20G):
lvresize -L +20G /dev/centos/root
1.3. 扩文件系统(必须步骤)
- ext4:
resize2fs /dev/centos/root
- xfs(CentOS7+ 默认):
xfs_growfs /
1.4. 验证
df -h
2. 云主机 / 虚拟机:磁盘先扩容 → pvresize → lvresize
虚拟机磁盘先在 hypervisor / 云平台扩大(比如从 40G 加到 80G),然后:
2.1. 刷新内核分区表
partprobe /dev/sda # 或 reboot
2.2. 扩大物理卷 PV(关键,不用新 PV/VG)
pvresize /dev/sda2 # 你的 PV 分区
此时 VG 空闲空间变大。
2.3. lvresize 扩 LV
lvresize -l +100%FREE /dev/centos/root
2.4. 扩文件系统
xfs_growfs /
3. 非 LVM(纯分区):不用 LVM 命令
前提:空闲空间必须紧跟目标分区后面。
3.1. 方法 A:growpart(云主机常用,简单)
# 安装(Ubuntu)
apt install cloud-guest-utils -y
# 扩分区 1 到磁盘末尾
growpart /dev/sda 1
# 扩文件系统
resize2fs /dev/sda1 # ext4
xfs_growfs / # xfs
3.2. 方法 B:parted(手动,GPT/MBR 都支持)
parted /dev/sda
print # 看分区
resizepart 1 100% # 分区 1 扩到整盘
quit
partprobe /dev/sda
resize2fs /dev/sda1
4. 关键结论
- LVM 扩容:
lvresize完全替代lvextend,原地用 VG 空闲空间,不用新 PV/VG。 - 虚拟机 / 云盘:先扩磁盘 →
pvresize→lvresize→ 扩文件系统。 - 非 LVM:
growpart/parted扩分区,再resize2fs/xfs_growfs。 要不要我给你一套可直接复制的一键脚本(含检查与回滚提示),你直接粘贴就能跑?
关联文档
- Linux 磁盘管理:磁盘基础
- 磁盘阵列 RAID:RAID 对比
