先说下背景。
这几天新部署了一个 Ubuntu 的环境,系统安装完成后,使用 df -hl 查看空间的时候,发现空间显示的大小,和我本来设置的大小不一致,就研究了一下,顺手做了下记录,方便后面使用。
下面是详细的操作步骤,按步骤操作基本没问题。
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 还有可以使用的空间。
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
这个命令查看 VFree 和 PFree 都还有可用空间。
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 效果是一样的,不过不用管,直接复制上面的命令就可以用。
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.
这个就是实际执行生效的结果。
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 了。
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