一、什么是LVM
逻辑卷管理LVM(Logical Volume Manager)是一个多才多艺的硬盘系统工具。无论在Linux或者其他类似的系统,都是非常的好用。传统分区使用固定大小分区,重新调整大小十分麻烦。但是,LVM可以创建和管理“逻辑”卷,而不是直接使用物理硬盘。可以让管理员弹性的管理逻辑卷的扩大缩小,操作简单,而不损坏已存储的数据。可以随意将新的硬盘添加到LVM,以直接扩展已经存在的逻辑卷。LVM并不需要重启就可以让内核知道分区的存在。
LVM使用分层结构,如下图所示:
图中顶部,首先是实际的物理磁盘及其划分的分区和其上的物理卷(PV)。一个或多个物理卷可以用来创建卷组(VG)。然后基于卷组可以创建逻辑卷(LV)。只要在卷组中有可用空间,就可以随心所欲的创建逻辑卷。文件系统就是在逻辑卷上创建的,然后可以在操作系统挂载和访问。
二、LVM的创建
由上图我们可得知,LVM包括物理卷(PV),卷组(VG),逻辑卷(LV),要创建一个可以挂载使用的文件系统,需要一步一步来添加:
1、创建物理件卷(PV):
pvcreate:创建物理卷
使用格式:pvcreate [选项] [参数]
[选项]:
-f:强制创建物理卷,不需要用户确认
-u:制定设备的UUID
-y:所有的交互都选择“yes”
[参数]:
指定要创建的物理卷对应的设备名称,可以是多个设备。
ps:创建物理卷之前必须要先对硬盘进行分区,而且必须把设备分区类型选择8e。
实践:创建4个大小为1G的PV
1、我们首先要对硬盘进行分区,分为4个类型为8e的分区。以一个为例,如下图:
重复上面的操作,完成后如下图
2、分区完成后,可以使用pvcreate命令来创建物理卷(PV),如下图:
可以使用pvdisplay来查看PV的信息:
还可以使用pvremove来移除PV。
2、创建卷组(VG)
vgcreate:创建卷组
使用格式:vgcreate [选项] [参数]
[选项]:
-l:卷组上允许创建的最大逻辑卷数,默认值是255
-p:卷组中允许添加的最大物理卷数,默认值是255
-s:卷组上的物理卷的PE大小,默认值是4M
[参数]:
要创建的卷组名
要加入到卷组的PV列表
实践:把上面创建的3个PV组成一个卷组testvg,并且制定PE的大小为16M
使用vgcreate命令,如下图:
可以看到PE的大小已经改变为16M。
可以使用vgremove删除卷组
3、创建逻辑卷(LV)
lvcreate:创建逻辑卷
使用格式:lvcreate [选项] [参数]
[选项]:
-L:指定逻辑卷的大小
-n:指定逻辑卷的的名称
[参数]:
要在指定卷组下创建逻辑卷的卷组名
实践:
在testvg下面创建一个2G的逻辑卷,名称为testlv
使用lvcreate命令,如下:
同样可以使用lvremove来移除LV。
4、格式化LV
使用mkfs命令格式化分区:
三、逻辑卷的扩展即缩减
开头有提到过LVM与传统分区最大的区别就是能够灵活的改变分区大小,同时不影响服务器的正常运行,接下来我就来实验如何实现lv的扩大与缩小:
1、把创建的lvtest扩大500M
我们上面创建的VG大小有3G,还有冗余的空间,具体步骤如下:
(1)、使用lvextend命令把逻辑卷的大小扩大500M,如下图:
(2)、使用resize2fs把文件系统扩大500M,如下图:
(3)、使用lvextend命令查看LV的大小:
注意:要先扩大逻辑卷(PV),然后在扩大文件系统,这个顺序一定不能颠倒。
2、把testlv缩小1G
(1)、先使用e2fsck 检查数据
(2)、使用resize2fs先把文件系统缩减1G,如下图: