一、引言
在CentOS7中,LVM(Logical Volume Manager)是一种逻辑卷管理功能,它建立在硬盘和分区之上的一个逻辑层来提高磁盘分区管理的灵活性。
LVM由内核驱动和应用层工具组成,利用Linux内核的device-mapper功能来实现存储系统的虚拟化,使系统分区 独立于底层硬件。
通过LVM,可以实现存储空间的抽象化并在上面建立虚拟分区(virtual partitions),可以更简便地扩大和缩小分区,也可以在增删分区时无需担心某个硬盘上没有足够的连续空间。
此外,它还避免了为正在使用的磁盘重新分区的麻烦,以及为调整分区而不得不移动其他分区的不便。
二、LVM基本概念
2.1 物理卷(Physical Volume)
一个可供存储LVM的块设备. 如硬盘分区(MBR或GPT分区)、SAN 的硬盘、RAID 或 LUN,一个回环文件, 一个被内核映射的设备 (例如 dm-crypt),它包含一个特殊的LVM头,它是 LVM 构建的实际硬件或存储系统。
2.2 卷组(Volume Group)
由一个或多个物理卷组成,是一个逻辑上的存储池,可以在上面创建逻辑卷,并在设备文件系统中显示为 /dev/VG_NAME。
2.3 逻辑卷(Logical Volume)
逻辑卷是可供系统使用的最终元设备,它们在卷组中创建和管理,由物理块组成,实际上就是一个虚拟分区,并显示为 /dev/VG_NAME/LV_NAME,通常在其上可以创建文件系统 。
2.4 物理块 (PE,Physical Extends)
一个卷组中最小的连续区域(默认为4 MiB),多个物理块将被分配给一个逻辑卷。你可以把它看成物理卷的一部分,这部分可以被分配给一个逻辑卷。
原理图:
图片
三、LVM动态扩容
3.1 分区
根据上面查到的新加硬盘信息执行,此虚拟机新加磁盘为/dev/vdb。
执行命令:
fdisk /dev/vdb
图片
3.2 把新加的磁盘设置为LVM模式
图片
3.3 确认分区
图片
3.4 将新加的分区 /dev/vdb1 创建为物理卷
pvcreate /dev/vdb1
图片
3.5 给卷组‘centos’扩容,将物理卷 /dev/vdb1 扩展至‘centos’卷组
执行:
vgextend centos /dev/vdb1
图片
3.6 将/dev/vdb1全部扩展至 /home
执行:
lvextend -l +100%FREE /dev/mapper/centos-home
图片
3.7 查看/etc/fstab 确认 /home 文件系统为xfs
图片
3.8 写入文件系统,使扩容生效
执行:
xfs_growfs /dev/mapper/centos-home
图片
至此,已完成磁盘的动态扩容。