Linux 根目录 / 扩容,99% 都是 LVM 架构,结构从上到下是:
文件系统:(ext4/xfs)挂载在 /,给系统和应用用的实际存储空间逻辑卷 LV:(Logical Volume)比如 /dev/centos/root、/dev/mapper/centos-root卷组 VG:(Volume Group)把多块硬盘 / 分区拼成一个大 “存储池”物理卷 PV:(Physical Volume)真实磁盘分区(sdb1、vda2 等)一句话:硬盘分区 → 加入存储池 → 切一块给根目录 → 刷新文件系统大小pvcreate:把普通分区标记为 LVM 物理卷,让 LVM 能识别vgextend:把新的 PV 加入卷组,扩大 “存储池”lvextend:从存储池切空间,加到逻辑卷(LV)xfs_growfs / resize2fs:让文件系统识别到 LV 变大,真正可用空间增加【lvm格式的】
需求描述
由于环境需要,虚拟机根目录需要扩容至120G。
具体步骤
1、查看本机磁盘环境 df -h , lsblk
可以看到根目录总容量为35G, 设备sda 的总容量为500G。
添加磁盘分区
需要120G 容量,已有35G, 还需添加85G容量。
2、执行命令:fdisk /dev/sda
3、然后查看分区是否创建:lsblk
可以看到sda2 分区已创建。
4、开始扩容创建物理卷:lvm
5、查看物理卷和卷组:
5、将物理卷加入到卷组:
vgextend centos /dev/sda3
可以看到卷组的Free size 增加了。
6、将卷组剩余空间(刚添加的85G)添加到逻辑卷/dev/centos/root :
lvm> lvextend -l +100%FREE /dev/centos/root Size of logical volume centos/root changed from <35.00 GiB (8959 extents) to 119.99 GiB (30718 extents). Logical volume centos/root successfully resized.
7、同步到文件系统
之前只是对逻辑卷扩容,还要同步到文件系统,实现对根目录的扩容。
xfs_growfs /dev/centos/root
8、然后再查看挂载情况:df -h
可以发现有120G的空间挂载在根目录上。