LVM的用途
问题情景
假设一种情况,你开了一家公司,开始因为规模不大,所以你在规划主机的时候,只给你的邮件filesystem分了10G,然后你的公司规模越来越大,员工越来越多,导致你的filesystem不够用,这个时候该怎么办?最直接方法就是再加一块新硬盘,然后再重新分区,格式化,将/mail数据拷贝进来,然后将原来的分区卸载重新挂载新的partition。整个过程繁琐低效,如果加的硬盘大小不够,以后还需要再重复这种操作;如果加的硬盘太大,还会导致磁盘的容量被浪费掉,我们再想将这个partition缩小时,又需要再来一遍上边的流程,简直犹如噩梦一般繁琐。
LVM登场
LVM的出现完美解决了以上情景的问题,LVM(逻辑卷管理)的优点在于它可以弹性调整filesystem的容量!所谓的LVM就是将一些硬盘,磁盘分区等合并成一个较大的磁盘,然后根据需要对这个大磁盘进行分区,这些分区都是可以动态的扩展和缩小的。因此再遇到上述的问题时,我们可以通过扩展或缩小分区的大小就可以解决问题,而且我们需要多少,就分多少,也不会造成成磁盘资源的浪费。
LVM的结构
了解LVM之前我们先需要了解LVM的基本构成元素
- PV(物理卷)
PV物理卷就是指硬盘分区或从逻辑上与磁盘分区具有相同功能的设备(如 RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如硬盘,分区等)比较,却包含有与LVM相关的管理参数。 - VG(卷组)
LVM卷组类似于非LVM系统中的物理硬盘,其有物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组有一个或多个物理卷组成。 - LV(逻辑卷)
LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统。 - PE(数据存储的最小单位)
类似于文件系统中的存储单位block,他们的作用是一样的,PE的默认大小为4M,而LVM的VG最多仅能含有65534个PE,因此默认的VG有256G,我们可以在创建VG的时候通过设定PE的大小来决定VG的大小。
结构
LVM的结构分为三层,最底层为PV,有PV组成一个较大的磁盘,也就是把PV整合成一个VG;第二层为VG,VG是由PV整和出来的大磁盘,通过设定PE的大小,则可以设定VG的大小。第三层为LV层,通过对VG进行分区,行成了LV层,LV层通过取PE来弹性改变分区的大小。
图示
LVM结构图:
VG、PE、LV之间的关系图
LVM的实现
准备工作:准备一块或多块硬盘,或只用一块硬盘的多个分区也可以,这里我准备了sdb、sdc两块磁盘。
接下来便可以创建LVM了
1.创建物理逻辑卷
查看物理卷
2.创建并查看卷组VG
3.创建并查看逻辑卷LV
4查看LVM
注:LVM的名称
/dev/dm-0 或 /dev/mapper/vglshy-lvlsy 或 /dev/vglsy/lvlsy
5.LVM格式化挂载
扩展逻辑卷
逻辑卷的扩展有两种情况
第一种情况 : 直接扩展lv,通过VG提供PE
1.查看当前逻辑卷大小
2.扩展逻辑卷并查看
3.扩展文件系统
第二种情况: VG空间不够,往VG中增加PV,即扩展VG。
1.查看当前VG大小
2.若没有足够的物理卷,则需要添加硬盘或创建分区,创建新的PV,再进行扩展。扩展前查看是否由可用的物理卷。
3.经过查看,发现我我们还有一个5G大小的分区未使用,则通过/dev/sdc2来扩展VG
4.扩展lv
注:这里lvextend -r 就是同步扩展了文件系统
删除LVM
1.卸载
2.删除逻辑卷LV
3.删除卷组VG
4.删除物理块PV