我在一台小主机上装了ubuntu20.04 server,这台主机的硬盘是128g,但是使用df -h 查看磁盘占用发现磁盘竟然只有分到58g,如下:

Filesystem                         Size  Used Avail Use% Mounted on
udev                               1.6G     0  1.6G   0% /dev
tmpfs                              336M  1.7M  335M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   58G  8.9G   46G  17% /
tmpfs                              1.7G     0  1.7G   0% /dev/shm
tmpfs                              5.0M  4.0K  5.0M   1% /run/lock
tmpfs                              1.7G     0  1.7G   0% /sys/fs/cgroup
/dev/loop1                          62M   62M     0 100% /snap/core20/1270
/dev/sda2                          976M  115M  795M  13% /boot
/dev/loop0                          56M   56M     0 100% /snap/core18/2128
/dev/loop2                          71M   71M     0 100% /snap/lxd/21029
/dev/sda1                          511M  5.3M  506M   2% /boot/efi
/dev/loop4                         3.7M  3.7M     0 100% /snap/stress-ng/6356
/dev/loop3                          33M   33M     0 100% /snap/snapd/12704
/dev/loop5                         117M  117M     0 100% /snap/docker/1125
tmpfs                              336M  8.0K  336M   1% /run/user/115
/dev/loop6                          44M   44M     0 100% /snap/snapd/14295
/dev/loop7                          56M   56M     0 100% /snap/core18/2253
/dev/loop8                          68M   68M     0 100% /snap/lxd/21835
tmpfs                              336M   12K  336M   1% /run/user/1000
tmpfs                              336M     0  336M   0% /run/user/0

后来才知道ubuntu server默认采用了lvm磁盘模式,在这种模式下的物理磁盘上层被引入了逻辑磁盘的概念,ubuntu预留了一半空间未分配到逻辑卷组当中,可以通过一些命令来对逻辑卷扩容。

执行lsblk可以列出块设备,包含了硬盘和硬盘的所有分区以及逻辑分区:

NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0                       7:0    0  55.4M  1 loop /snap/core18/2128
loop1                       7:1    0  61.9M  1 loop /snap/core20/1270
loop2                       7:2    0  70.3M  1 loop /snap/lxd/21029
loop3                       7:3    0  32.3M  1 loop /snap/snapd/12704
loop4                       7:4    0   3.6M  1 loop /snap/stress-ng/6356
loop5                       7:5    0 116.6M  1 loop /snap/docker/1125
loop6                       7:6    0  43.3M  1 loop /snap/snapd/14295
loop7                       7:7    0  55.5M  1 loop /snap/core18/2253
loop8                       7:8    0  67.2M  1 loop /snap/lxd/21835
sda                         8:0    0 119.2G  0 disk
├─sda1                      8:1    0   512M  0 part /boot/efi
├─sda2                      8:2    0     1G  0 part /boot
└─sda3                      8:3    0 117.8G  0 part
  └─ubuntu--vg-ubuntu--lv 253:0    0  58.9G  0 lvm  /

执行vgdisplay,显示逻辑卷组分配情况,有一半空间没有分配。

  --- 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               <117.74 GiB
  PE Size               4.00 MiB
  Total PE              30141
  Alloc PE / Size       15071 / 58.87 GiB
  Free  PE / Size       15070 / <58.87 GiB
  VG UUID               prbHqx-ySU0-4XLL-pest-xH4t-W1Uk-kjIH9d

通过以下命令榨干剩余磁盘空间

sudo lvresize -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv (扩容至百分之百)

resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv 执行重新计算

补充:

lvextend -L 80G /dev/mapper/ubuntu--vg-ubuntu--lv      //扩展到80G,如果原来大于80就减少,如果原来小于80就增大
lvextend -L +20G /dev/mapper/ubuntu--vg-ubuntu--lv     //扩容20G
lvreduce -L -20G /dev/mapper/ubuntu--vg-ubuntu--lv     //减小20G

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注