LVM逻辑卷概述
试想有一天随着业务的增加,你的文件系统负载会越来越大,终于到了空间不足的情况,而如果我们还在使用传统的分区方式进行磁盘管理,就不得不将现有的所有的分区全部删除,并重新规划新的存储解决方案。其实从一开始我们就需要一种管理机制,她能帮助我们动态的管理存储,而LVM就提供了这种功能。
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是基于内核的一种逻辑卷管理器。
LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的存储卷,在存储卷上建立文件系统。
LVM使用者在无需停机的情况下可以方便地调整各个分区大小,并提供快照功能.
在上层,用户通过操作PE更改逻辑卷的大小,通过lvm用户无法直接操作磁盘扇区.
使用LVM创建逻辑卷需要我们提前了解以下几个概念
物理卷(Physical Volume,PV)指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(Volume Group,VG)是LVM逻辑概念上的磁盘设备,通过将单个或多个物理卷组合后生成卷组。卷组的大小取决于物理卷的容量和个数。
逻辑卷(Logical Volume,LV)类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
物理长度(Physical Extent,PE)每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。
LVM概念示意图
从LVM概念示意图可以看出,我们将物理磁盘分区可以转换为LVM的物理卷(PV),多个物理卷组合为卷组(VG),逻辑卷(LV)是从卷组中提取出来的存储空间,最后我们可以将逻辑卷挂载到某个挂载点目录上。
创建LVM分区
1.添加硬盘
以同样的方法再添加一块硬盘
2.创建分区
3.创建PV
4.创建VG
5.创建LV
使用vg1创建lv1,初始大小设置为8G
6.格式化LV
7.将/dev/vg1/lv1挂载到/mnt/lv1目录下
其他命令补充
现在有一种需求,创建PV之后,查看PV的详细信息,
创建PV之后,我们现在需要查看PV(/dev/sdc)所属的卷组、大小等详细属性,
查看系统中所有的PV,并以较少的信息显示
现在有一种需求 由于某种原因需要删除一个物理卷(也就是从物理卷中删除一个LVM标签)
显示卷组的信息
创建vg2并指定PE的大小为10M
删除卷组vg2
修改LVM分区容量
随着项目用户量及业务量的增加,linux磁盘的使用率直线上升,原本的磁盘额度已经不能满足需求,这时可行性方案就是对现有的磁盘进行扩容,以下示例是从原本的8G扩充到18G。
1. 判断卷组的容量是否满足需求,由下图可知vg1的空余容量大于10G,这时我们就可以直接扩充lv的容量
1. 扩充lv的容量
3. 扩展文件系统
4. 查看扩展后文件系统大小
当卷组的剩余容量不满足需求,就需要先扩展卷组的容量
假如我们现在需要把一个卷组的剩余大小都增加到一个逻辑卷上
1. 查看卷组的剩余大小
2. 扩展LV的大小
3. 扩展文件系统
4. 查看文件系统大小
如果一个卷组是由多个物理卷(PV)组成,我们可以通过指定卷组中某一个物理卷来扩展逻辑卷的大小
删除LVM分区
当我们不需要逻辑卷分区时,可以使用LVM命令轻松的删除之前创建的物理卷、卷组、逻辑卷。删除的顺序应该与创建的顺序相反,也就是卸载文件系统、删除逻辑卷、删除卷组、删除物理卷这样的顺序。卸载文件系统时需要注意,如果有必要,应该更新/etc/fstab文件。
缩小LV容量
由上图可知物理卷/dev/sdb1 /dev/sdb2 /dev/sdb3 均在卷组vg1中,假设我们想将/dev/sdb3抽离出来
创建精简资源调配卷
假如用户有这样一种需求:在将来需要5GB的存储资源,也就是说这个用户并不是立刻把这5GB空间全部用完。我们就可以通过创建精简资源调配卷来满足客户需求,为用户定义了5GB空间,它就不会在定义卷时就将整个磁盘空间全部分配,它会根据你的数据写入而增长,而在用户看来他的存储空间就是5GB。
1. 创建精简池
2. 查看精简池的详细信息
这里,我们还没有在该精简池中创建虚拟精简卷。在上图中,我们可以看到分配的精简池数据为0.00%。
3. 创建精简卷
4. 查看精简卷信息 此时精简卷中什么数据都没有
5. 创建文件系统
6. 显示精简卷挂载点信息
这里,我们可以看到精简卷已经挂载了,而精简卷只使用了1%的数据空间。那么,让我们从桌面添加一些文件到这个挂载点,以填充一些空间。
再次列出挂载点,并查看精简卷使用的空间,然后列出精简池来查看池中已使用的大小。