一、LVM简介
LVM (Logical Volume Manager) 是一个逻辑卷管理器,它允许用户将多个硬盘分区或者整个硬盘组成一个或多个逻辑卷。LVM 可以在运行时动态地改变逻辑卷的大小,而不需要关机或重新启动系统。它也可以将多个硬盘的存储空间组合在一起,形成一个大容量的存储池,使得数据的管理更加灵活和方便。LVM 已经成为了许多 Linux 发行版的标准功能之一,广泛应用于数据中心、服务器、虚拟化环境等场景中。如下图所示,简单来说LVM就是将分区或者磁盘逻辑转化为PV(Physical Volume),将PV加入到VG(Volume Group)中,再根据需求将VG中的存储空间分配到LV(Logical Volume)中。博文将以扩容/home分区磁盘空间为例介绍EXT4文件系统格式下LVM是如何进行磁盘扩容的。实际上LVM是支持动态调整的,包括扩容和减小,但实际操作中跟文件系统格式也有关系,ext4格式既可以扩容也可以减小(回收未使用的空间),xfs文件系统格式则只支持扩容。
实验环境说明:
- 操作系统:centos7.9
- 文件系统格式:ext4
二、LV扩容
LVM磁盘扩容时,我们先检查VG是否还有剩余空间,如果有我们从VG中分配所需磁盘空间给指定的LV即可。实验环境下/home分区大小为20G,使用的是LVM逻辑卷,假设我们需要调整/home分区大小为30G。
1、检查vg剩余空间
使用vgdisplay命令我们可以看到vg名为centos_s178,已经分配的空间为42GB,剩余的空间为16.99GB。
2、查看LV逻辑卷名称和路径
使用lvdisplay命令查看逻辑卷的情况,可以看到有多个逻辑卷,可以看到逻辑卷路径,逻辑卷名、所属VG、存储空间大小等。
3、扩容指定大小的存储空间到LV
使用lvextend命令扩容逻辑卷大小,-L参数扩容指定大小。
3、查看磁盘大小
4、扩容空间写入文件系统
resize2fs 命令将扩容空间写入文件系统,如果是xfs格式则可以使用命令xfs_growfs代替。
5、再次验证
使用df命令再次查看磁盘大小验证,发现/home分区已经调整为了30G大小。
三、PV扩容
假设我们需要将/home分区扩容为40G,因为VG剩余空间只有16.99G,所以磁盘空间不足,需要先添加磁盘,将磁盘添加到VG中,再将指定空间分配到LV。
1、查看磁盘
新添加或者插入一块磁盘/dev/sdb,使用fdisk命令可以看到。
2、磁盘分区
3、创建PV
4、查看PV信息
5、扩容VG
6、查看VG信息
7、扩容LV
使用命令lvextend LV PV可以将某PV全部分配给指定的LV。使用lvextend命令扩容逻辑卷大小,记得使用-L参数时不带+是将磁盘扩展到指定大小,带+号则是扩容指定大小的空间。lvreduce命令可以减小逻辑卷大小。