RHEL 10 在线扩容:磁盘→分区→PV→LV→XFS 四层
This content is not available in your language yet.
扩容不是 lvextend 一条命令:磁盘、分区、PV、LV、文件系统是四层,少动一层就会看到“LV 大了但 df 没变”。本页在 399 上从 20G 扩到 24G,root 从 16G 扩到 20G,全程在线。
| 层 | 扩容前 | 扩容后 |
|---|---|---|
磁盘 scsi0 | 20G | 24G |
分区 sda3 | 18G | 22G |
VG rhel | 18G | 22G |
LV root | 16G | 20G |
XFS / | 16G | 20G |
E3 记录:plans/content-expansion/evidence/rhel/rhel-disk-grow/run.json(4 步,含布局、dry-run、df、lvs)。
先给结论:四层都要动
Section titled “先给结论:四层都要动”- hypervisor 扩磁盘;
growpart扩分区;pvresize扩 PV;lvextend -r扩 LV 并调文件系统。
只做 1 层,VM 内看不到;只做 1–3,df 还是旧大小。
扩 VM 磁盘
Section titled “扩 VM 磁盘”qm resize 399 scsi0 24GVM 内立刻看到块设备变大(lsblk 显示 sda 24G),但分区还是 18G。
growpart
Section titled “growpart”sudo growpart /dev/sda 3# CHANGED: partition=3 start=4198400 old: size=37742592 end=41940991# new: size=46133215 end=50331614growpart 只改分区表,不碰数据;--dry-run 可先确认。
pvresize
Section titled “pvresize”sudo pvresize /dev/sda3# Physical volume "/dev/sda3" changed# 1 physical volume(s) resized or updated / 0 physical volume(s) not resizedsudo vgs# rhel 1 2 0 wz--n- <22.00g 0PV 扩完 VG 才有空间;VFree 应该从 0 变成 4G 左右。
lvextend -r
Section titled “lvextend -r”sudo lvextend -r -l +100%FREE /dev/rhel/root# data blocks changed from 4193280 to 5241856# xfs_growfs done# Extended file system xfs on rhel/root.-r 是关键:扩 LV 后自动 xfs_growfs,不用再手动跑。如果没有 -r,df 仍是 16G。
$ df -h //dev/mapper/rhel-root 20G 1.8G 19G 9% /$ sudo lvsroot rhel -wi-ao---- <20.00gswap rhel -wi-ao---- 2.00g$ sudo vgsrhel 1 2 0 wz--n- <22.00g 0全程根分区保持挂载,没有重启。
非 LVM 的差异
Section titled “非 LVM 的差异”393 的根是 plain XFS on sda4(没有 VG/LV),扩容只需:
qm resize 393 scsi0 +4Gsudo growpart /dev/sda 4sudo xfs_growfs /没有 pvresize/lvextend 两步;先 lsblk 确认根是不是 LVM,别照搬。
-
lsblk确认根在哪个分区/LV; - hypervisor 扩容后 VM 内
lsblk看到新大小; -
growpart --dry-run无误; -
pvresize后vgs的 VFree 增加; -
lvextend -r后df增加; - 全程无重启、无 umount;
- 记录扩容前后大小。
未实测与边界
Section titled “未实测与边界”- 未测试 XFS 缩容(不支持在线缩);
- 未测试 swap 扩容;
- 未测试多 PV/多路径扩容;
- 未测试
parted/sfdisk替代 growpart。
- RHEL 10 安装期存储 — LVM/LUKS 布局
- RHEL 10 LVM 高级 — thin pool/snapshot
- 官方:Managing storage devices
以下截图来自 PVE 上的 RHEL 10.2 实测环境。
