lvm扩容

1.问题定位
1.1 报错信息的含义是:LVM 认为你给的 100%FREE 计算后是 15574 extents,而当前 LV 已经有 25600 extents
1.2 换句话说:VG 里根本没有 Free Space,所以扩容失败。
1.3 你现在看到 /dev/sda 是 200G,但你的 root LV 只有 100G,是因为 PV /dev/sda3 并没有扩到盘的真实大小

2.前瞻性修复步骤(GPT 分区 + LVM 场景)
2.1 你的分区 /dev/sda3 原本是约 198G,看起来你没有新增磁盘,应该是云盘在线扩容或宿主机调整了磁盘大小。
2.2 要让 LVM 能使用新增空间,需要:扩分区 → 扩 PV → 扩 LV。

3.具体修复步骤
3.1 扩展 GPT 分区 /dev/sda3
对于 GPT,可以直接用 growpart(Cloud-Init 提供的工具,RHEL9/ Rocky9 默认有)

1
growpart /dev/sda 3

如果系统提示找不到 growpart,可使用 parted 手动扩展,我也可以给你 parted 版步骤。

3.2 扩展 PV

1
pvresize /dev/sda3

3.3 查看 VG 剩余空间

1
vgdisplay rl

3.4 使用全部剩余空间扩容 root LV

1
lvextend -l +100%FREE /dev/mapper/rl-root

3.5 在线扩容文件系统(root 通常是 xfs)

1
xfs_growfs /

4.扩容流程图

flowchart TD
    A[磁盘已变大但 LVM 不变] --> B[扩展 GPT 分区 growpart /dev/sda 3]
    B --> C[pvresize /dev/sda3]
    C --> D[vgdisplay 查看 Free]
    D --> E[lvextend -l +100%FREE /dev/mapper/rl-root]
    E --> F[xfs_growfs /]

5.你现在只需要运行以下三条命令(如果 root 是 xfs)

1
2
3
4
growpart /dev/sda 3
pvresize /dev/sda3
lvextend -l +100%FREE /dev/mapper/rl-root
xfs_growfs /

如果你愿意,我可以帮你确认 parted 扩分操作是不是必要(发我 lsblk -f & pvs & vgs)。