虚拟机 LVM 磁盘扩容详细操作说明

2025-10-10

先说下背景。

这几天新部署了一个 Ubuntu 的环境,系统安装完成后,使用 df -hl 查看空间的时候,发现空间显示的大小,和我本来设置的大小不一致,就研究了一下,顺手做了下记录,方便后面使用。

下面是详细的操作步骤,按步骤操作基本没问题。

1、sudo lvdisplay 查看 lv size 是否和分配的 size 一致:
test@13ubuntu:~$ sudo vgdisplay
[sudo] password for test: 
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID   
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <14.58 GiB
  PE Size               4.00 MiB
  Total PE              3732
  Alloc PE / Size       2560 / 10.00 GiB
  Free  PE / Size       1172 / <4.58 GiB
  VG UUID               L21hv2-ebPf-15d9-a7zO-s1xF-jK84-h2WotM

查看其中的 Free PE 还有可以使用的空间。

2、使用 sudo vgs 和 sudo pvs 查看具体的大小信息:
test@13ubuntu:~$ sudo vgs
  VG        #PV #LV #SN Attr   VSize   VFree 
  ubuntu-vg   1   1   0 wz--n- <14.58g <4.58g
test@13ubuntu:~$ sudo pvs
  PV         VG        Fmt  Attr PSize   PFree 
  /dev/sda3  ubuntu-vg lvm2 a--  <14.58g <4.58g

这个命令查看 VFreePFree 都还有可用空间。

3、执行命令 sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv 来操作扩展:
test@13ubuntu:~$ sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
[sudo] password for rmtest: 
  Size of logical volume ubuntu-vg/ubuntu-lv changed from 10.00 GiB (2560 extents) to <14.58 GiB (3732 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.

命令中的 /dev/ubuntu-vg/ubuntu-lv 也可以使用 df -hl 中显示的路径 /dev/mapper/ubuntu--vg-ubuntu--lv 效果是一样的,不过不用管,直接复制上面的命令就可以用。

4、执行命令 sudo resize2fs /dev/ubuntu-vg/ubuntu-lv 来实际生效:
test@13ubuntu:~$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 2
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 3821568 (4k) blocks long.

这个就是实际执行生效的结果。

5、执行 df -hl 查看修改后的结果:
test@13ubuntu:~$ df -hl
Filesystem                         Size  Used Avail Use% Mounted on
udev                               938M     0  938M   0% /dev
tmpfs                              198M  1.2M  196M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   15G  4.3G  9.3G  32% /
tmpfs                              986M     0  986M   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              986M     0  986M   0% /sys/fs/cgroup
/dev/sda2                          1.4G  114M  1.2G   9% /boot
/dev/loop0                          62M   62M     0 100% /snap/core20/1328
/dev/loop1                          44M   44M     0 100% /snap/snapd/14978
/dev/loop2                          68M   68M     0 100% /snap/lxd/21835
tmpfs                              198M     0  198M   0% /run/user/1000

查看 Size 已经是 15G 了。

6、下面这个是修改前的情况:
test@13ubuntu:~$ df -hl
Filesystem                         Size  Used Avail Use% Mounted on
udev                               938M     0  938M   0% /dev
tmpfs                              198M  1.2M  196M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  9.8G  4.3G  5.0G  47% /
tmpfs                              986M     0  986M   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              986M     0  986M   0% /sys/fs/cgroup
/dev/sda2                          1.4G  114M  1.2G   9% /boot
/dev/loop0                          62M   62M     0 100% /snap/core20/1328
/dev/loop1                          44M   44M     0 100% /snap/snapd/14978
/dev/loop2                          68M   68M     0 100% /snap/lxd/21835
tmpfs                              198M     0  198M   0% /run/user/1000

之前的 Size 是 9.8G。

test@13ubuntu:~$ sudo vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID   
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <14.58 GiB
  PE Size               4.00 MiB
  Total PE              3732
  Alloc PE / Size       3732 / <14.58 GiB
  Free  PE / Size       0 / 0   
  VG UUID               L21hv2-ebPf-15d9-a7zO-s1xF-jK84-h2WotM

通过上面的对比可以看出来,磁盘空间从 9.8G 变成了 15G 可用,并且 Free PE 里面的大小已经是 0 了,这样整个扩容过程就算完成了,上面的命令一个字都不用改,可以直接使用。

汇总所有命令如下:
sudo vgdisplay
sudo vgs
sudo pvs
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
其他使用说明:

#测试运维 2

1
收藏
已读
分享
X