在云服务器或虚拟机环境中,很多时候我们会遇到这样的情况:系统盘大小已经调整到更大,但操作系统实际可用的空间并没有增加。这往往是因为磁盘分区、LVM 没有扩容。本文以 Ubuntu 22.04 + LVM 为例,演示如何将磁盘剩余空间全部扩容到根目录 /
。
1. 查看磁盘使用情况
首先查看磁盘和分区结构:
lsblk
示例输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTSvda 252:0 0 400G 0 disk
├─vda1 252:1 0 1G 0 part /boot/efi
├─vda2 252:2 0 2G 0 part /boot
└─vda3 252:3 0 76.9G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 76.9G 0 lvm /
可以看到:
总磁盘大小是 400G
/boot/efi
和/boot
各占 1G + 2G根分区
/
在 LVM 里,只用了 76.9G剩下 约 320G 未被使用。
2. 扩展分区
要让 LVM 能识别更多空间,需要先扩展 vda3
分区。
Ubuntu 下推荐使用 growpart
工具:
sudo apt install cloud-guest-utils -y
sudo growpart /dev/vda 3
运行完成后,vda3
就会扩展到磁盘的全部剩余空间。<br/>再次确认:
lsblk<hr/>
3. 扩展物理卷(PV)
分区扩展后,还需要让 LVM 识别新增空间:
sudo pvresize /dev/vda3<hr/>
4. 扩展逻辑卷(LV)
将所有剩余空间分配给 ubuntu-lv
(根分区 /
):
sudo lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
参数说明:
-r
自动调整文件系统大小-l +100%FREE
使用所有空闲空间
5. 验证扩容结果
最后,查看根分区空间:
df -h
示例输出:
Filesystem Size Used Avail Use% Mounted on/dev/mapper/ubuntu--vg-ubuntu--lv 396G 20G 376G 5% /
可以看到 /
已经从原来的 76.9G 扩展到 接近 400G。
总结
本文演示了如何在 Ubuntu 22.04 下通过 growpart + LVM 扩容,把磁盘未分配的空间全部扩展到根目录 /
。整个过程主要分为 4 步:
growpart
扩展分区pvresize
扩展物理卷lvextend
扩展逻辑卷验证扩容结果
这样就可以无损地利用磁盘的全部容量,避免空间浪费。
评论