磁盘扩容
针对Ubuntu22.04系统进行磁盘扩容。
系统是Ubuntu22.04,部分命令在不同操作系统或许会有区别。
查看磁盘会用到一些命令fdisk -l、df -h
lilac@lilac:~/source$ sudo fdisk -l
Disk /dev/sda: 25 GiB, 26843545600 bytes, 52428800 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: D3A783CB-8E8D-4E98-AA86-9D5BA6A5F1D6
Device Start End Sectors Size Type
/dev/sda1 2048 4095 2048 1M BIOS boot
/dev/sda2 4096 3719167 3715072 1.8G Linux filesystem
/dev/sda3 3719168 41940991 38221824 18.2G Linux filesystem
Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 12.5 GiB, 13421772800 bytes, 26214400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
lilac@lilac:~/source$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 193M 21M 173M 11% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 13G 9.7G 2.0G 84% /
上述两个命令用的比较多,我们需要了解逻辑卷管理(LVM)的概念:
1)/dev/sda3 是物理卷(Physical Volume,PV),它是硬盘上的一个分区,用于存储 LVM 卷组(Volume Group,VG)。
2)/dev/mapper/ubuntu--vg-ubuntu--lv 是逻辑卷(Logical Volume,LV),它是从 LVM 卷组中划分出来的逻辑存储卷。
通常情况下,LVM 允许你将一个或多个物理卷(例如 /dev/sda3)组合成一个卷组(例如 ubuntu–vg),然后从卷组中划分出一个或多个逻辑卷(例如 /dev/mapper/ubuntu–vg-ubuntu–lv),以供文件系统或其他用途使用。这种灵活性使得对存储空间的管理更加方便和灵活。
我们可以使用命令查看逻辑卷组的信息:
lilac@lilac:~$ sudo lvdisplay
--- Logical volume ---
LV Path /dev/ubuntu-vg/ubuntu-lv
LV Name ubuntu-lv
VG Name ubuntu-vg
LV UUID Jm6qHV-cz2m-6QTn-AhRO-XDpR-71o3-qBRb5V
LV Write Access read/write
LV Creation host, time ubuntu-server, 2024-05-01 09:25:34 +0000
LV Status available
# open 1
LV Size 10.00 GiB
Current LE 2560
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
在这个例子中,ubuntu–vg 是卷组的名称,ubuntu–lv 是逻辑卷的名称。
逻辑卷的大小只分配了10G,能否扩容取决于当前是否有未分配的物理空间用于扩展逻辑卷。
我们通过命令查看 “Free PE / Size” 部分,它将显示卷组中的剩余空间量:
lilac@lilac:~$ sudo 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 18.22 GiB
PE Size 4.00 MiB
Total PE 4665
Alloc PE / Size 2560 / 10.00 GiB
Free PE / Size 2105 / 8.22 GiB
VG UUID gK26XX-lBuB-CwQm-hBLZ-QkDA-Oc5h-sHpaZR
卷组 ubuntu-vg 共有 18.22 GiB 的空间。目前,其中 10.00 GiB 已被分配给逻辑卷,剩余空间为 8.22 GiB。
卷组中既然有剩余容量,我们来进行扩容,可以使用 lvextend 命令将逻辑卷 /dev/ubuntu-vg/ubuntu-lv 扩展到卷组中的可用空间:
lilac@lilac:~/source$ sudo lvextend -L +2.5G /dev/ubuntu-vg/ubuntu-lv
Size of logical volume ubuntu-vg/ubuntu-lv changed from 10.00 GiB (2560 extents) to 12.50 GiB (3200 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.
lilac@lilac:~/source$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 193M 21M 173M 11% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 9.8G 9.7G 0 100% /
此时还没有应用到文件系统中,需要特定的工具来扩展文件系统,以便它能够利用新分配的空间,使用resize2fs命令来扩展文件系统:
lilac@lilac:~/source$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.46.5 (30-Dec-2021)
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 3276800 (4k) blocks long.
lilac@lilac:~/source$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 193M 21M 173M 11% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 13G 9.7G 2.0G 84% /
执行这些命令后,你的逻辑卷就会扩展到卷组中的所有可用空间,并且文件系统也会相应地进行扩展。
① 物理分区是硬盘上的分区,它们被用来创建卷组。
② 卷组由一个或多个物理分区组成,它们被用来创建逻辑卷。
③ 逻辑卷是在卷组上创建的虚拟分区,它们被用来存储文件系统和用户数据。