• 之前在 VMware 安装 Ubuntu Server 的时候 磁盘分区 选择了 LVM,所以系统根目录默认占用磁盘大小只有4G,在安装软件时发现磁盘空间4G已经无法满足,所以需要利用 LVM 对磁盘进行扩容
  • 查看文件系统磁盘空间的使用情况
root@ubuntu:~# df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               451M     0  451M   0% /dev
tmpfs                               97M  1.3M   96M   2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  3.9G  3.4G  287M  93% /
tmpfs                              482M     0  482M   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              482M     0  482M   0% /sys/fs/cgroup
/dev/loop0                          92M   92M     0 100% /snap/core/8689
/dev/loop1                          90M   90M     0 100% /snap/core/8268
/dev/sda2                          976M   77M  832M   9% /boot
tmpfs                               97M     0   97M   0% /run/user/0

可以发现 /dev/mapper/ubuntu--vg-ubuntu--lv 虚拟机根目录空间只有3.9G,使用了93%。

  • 查看LVM卷组的信息
root@ubuntu:~# 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               <19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       1024 / 4.00 GiB
  Free  PE / Size       3839 / <15.00 GiB
  VG UUID               hZPoxm-kSBU-fmKs-2yXD-hHoe-3T7e-PCIFSe

Free PE / Size 3839 / <15.00 GiB,这是还可以扩充的大小

  • 使用命令进行磁盘扩容
lvextend -L 10G /dev/mapper/ubuntu--vg-ubuntu--lv      //增大或减小至19G
lvextend -L +10G /dev/mapper/ubuntu--vg-ubuntu--lv     //增加10G
lvreduce -L -10G /dev/mapper/ubuntu--vg-ubuntu--lv     //减小10G
lvresize -l  +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv   //按百分比扩容

resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv            //重新调整逻辑卷大小
  • 具体操作如下
// 按百分比进行磁盘扩容
root@ubuntu:~# lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from 4.00 GiB (1024 extents) to <19.00 GiB (4863 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
  
// 刷新分区 
root@ubuntu:~# resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv 
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 3
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 4979712 (4k) blocks long.

// 查看文件系统磁盘空间的使用情况(发现此时已经扩容到19G)
root@ubuntu:~# df -h
Filesystem                         Size  Used Avail Use% Mounted on
udev                               451M     0  451M   0% /dev
tmpfs                               97M  1.3M   96M   2% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   19G  3.9G   14G  22% /
tmpfs                              482M     0  482M   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
tmpfs                              482M     0  482M   0% /sys/fs/cgroup
/dev/loop0                          92M   92M     0 100% /snap/core/8689
/dev/loop1                          90M   90M     0 100% /snap/core/8268
/dev/sda2                          976M   77M  832M   9% /boot
tmpfs                               97M     0   97M   0% /run/user/0

// 再次查看LVM卷组的信息(可扩容的空间已经成为0)
root@ubuntu:~# vgdisplay
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  4
  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               <19.00 GiB
  PE Size               4.00 MiB
  Total PE              4863
  Alloc PE / Size       4863 / <19.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               hZPoxm-kSBU-fmKs-2yXD-hHoe-3T7e-PCIFSe

涉及的操作命令简单介绍:

  • 查看块设备的信息  【-f】:显示每个块设备的文件系统类型(如ext4、NTFS、FAT32等)以及文件系统的标签(如果有)。
root@ubuntu:/home/michael# lsblk -f
NAME FSTYPE FSVER LABEL UUID                                   FSAVAIL FSUSE% MOUNTPOINTS
loop0
     squash 4.0                                                      0   100% /snap/chromium/2497
loop1
     squash 4.0                                                      0   100% /snap/chromium/2529
loop2
     squash 4.0                                                      0   100% /snap/core20/1950
loop3
     squash 4.0                                                      0   100% /snap/core20/1974
loop4
     squash 4.0                                                      0   100% /snap/core22/806
loop5
     squash 4.0                                                      0   100% /snap/bare/5
loop6
     squash 4.0                                                      0   100% /snap/core22/817
loop7
     squash 4.0                                                      0   100% /snap/cups/974
loop8
     squash 4.0                                                      0   100% /snap/cups/980
loop9
     squash 4.0                                                      0   100% /snap/firefox/2908
loop10
     squash 4.0                                                      0   100% /snap/firefox/2850
loop11
     squash 4.0                                                      0   100% /snap/lxd/22753
loop12
     squash 4.0                                                      0   100% /snap/gnome-3-38-2004/140
loop13
     squash 4.0                                                      0   100% /snap/gtk-common-themes/1535
loop14
     squash 4.0                                                      0   100% /snap/gnome-3-38-2004/143
loop15
     squash 4.0                                                      0   100% /snap/snapd/19361
loop16
     squash 4.0                                                      0   100% /snap/lxd/24061
loop17
     squash 4.0                                                      0   100% /snap/snapd/19457
sda                                                                           
├─sda1
│    ext2   1.0         0c16e136-b08b-48e6-beb1-27379362182b    417.3M    37% /boot
├─sda2
│                                                                             
└─sda5
     LVM2_m LVM2        qjGstm-EyqI-EL1p-tm6H-TZkq-tQt2-0Asw5u                
  ├─ubuntu--vg-root
  │  ext4   1.0         02df78f3-9fac-45f6-a163-bc25f8477529     19.2G    79% /var/snap/firefox/common/host-hunspell
  │                                                                           /
  └─ubuntu--vg-swap_1
     swap   1           f1afd974-2f40-42f3-b9bc-a89da3b559d8                  [SWAP]
sr0                                                                           
  • 显示物理卷的详细信息,包括物理卷的名称、大小、卷组、状态等。
root@ubuntu:/home/michael# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda5
  VG Name               ubuntu-vg
  PV Size               119.28 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              30536
  Free PE               0
  Allocated PE          30536
  PV UUID               qjGstm-EyqI-EL1p-tm6H-TZkq-tQt2-0Asw5u
   
  • 显示卷组的详细信息,包括卷组的名称、物理卷数量、逻辑卷数量、总大小、空闲空间等。
root@ubuntu:/home/michael# vgdisplay 
  --- Volume group ---
  VG Name               ubuntu-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               119.28 GiB
  PE Size               4.00 MiB
  Total PE              30536
  Alloc PE / Size       30536 / 119.28 GiB
  Free  PE / Size       0 / 0   
  VG UUID               xwbdQH-DBvq-qdzk-DQ3H-ofgA-0Y4B-Sl3FwF
   
  • 显示逻辑卷的详细信息,比如逻辑卷的名称、大小、路径、状态等。
root@ubuntu:/home/michael# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/root
  LV Name                root
  VG Name                ubuntu-vg
  LV UUID                zIloDt-sa12-qqXk-7fKM-6Veu-09Pq-aedUBb
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2022-06-29 11:28:04 +0800
  LV Status              available
  # open                 1
  LV Size                <118.33 GiB
  Current LE             30292
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/swap_1
  LV Name                swap_1
  VG Name                ubuntu-vg
  LV UUID                di3eEs-oTyG-4u4z-JlVF-2P7a-6ke0-x6tIqx
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2022-06-29 11:28:04 +0800
  LV Status              available
  # open                 2
  LV Size                976.00 MiB
  Current LE             244
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1
   
  • 显示文件系统使用情况 
  • 【-h】:以易读的方式显示文件系统大小,将字节单位转换为更常见的千字节、兆字节和千兆字节。
  • 【-T】:在输出中显示文件系统类型。
root@ubuntu:/home/michael# df -hT
Filesystem                  Type   Size  Used Avail Use% Mounted on
tmpfs                       tmpfs  791M  3.6M  787M   1% /run
/dev/mapper/ubuntu--vg-root ext4   117G   92G   20G  83% /
tmpfs                       tmpfs  3.9G     0  3.9G   0% /dev/shm
tmpfs                       tmpfs  5.0M  4.0K  5.0M   1% /run/lock
/dev/sda1                   ext2   719M  265M  418M  39% /boot
tmpfs                       tmpfs  791M  116K  791M   1% /run/user/1000
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐