「LVM」- 逻辑卷管理

  CREATED BY JENKINSBOT

什么是LVM?

LVM, Logical Volume Manager, 逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制。可以简单的理解为将多张硬盘抽象成一张逻辑硬盘来使用,但实际上还包含了一些更高级的功能,比如便捷的扩容、动态增加存储池空间、镜像冗余等等。

LVM的工作原理其实很简单,它就是通过将底层的物理硬盘抽象的封装起来,然后以逻辑卷的方式呈现给上层应用。在传统的磁盘管理机制中,我们的上层应用是直接访问文件系统,从而对底层的物理硬盘进行读取。而在LVM中,其通过对底层的硬盘进行封装,当我们对底层的物理硬盘进行操作时,其不再是针对于分区进行操作,而是通过一个叫做逻辑卷的东西来对其进行底层的磁盘管理操作。比如说,增加一个物理硬盘,这个时候上层的服务是感觉不到的,因为呈现给上层服务的是以逻辑卷的方式。

LVM最大的特点就是可以对磁盘进行动态管理。因为逻辑卷的大小是可以动态调整的,所以不需要调整硬盘中的数据分布来扩容,而且不会丢失现有的数据。如果我们新增加了硬盘,其也不会改变现有上层的逻辑卷。作为一个动态磁盘管理机制,逻辑卷技术大大提高了磁盘管理的灵活性。

在LVM中的几个概念

物理卷 – PV(Physical Volume)

在LVM中,PV处于最底层,它可以是物理硬盘上的分区,也可以是整个物理硬盘,也可以是RAID设备。

卷组 – VG(Volumne Group)

在PV之上,建立VG。一个VG由一个或多个PV组成,可以说VG是PV的集合。

在VG建立之后,可动态的向VG中添加PV。

可以只有一个VG,也可以拥有多个VG。

逻辑卷 – LV(Logical Volume)

在VG之上,建立LV。在VG中的未分配空间可以用于建立新的LV。

在LV建立后,依旧可以动态地扩展和缩小LV的空间。

系统中的多个LV可以属于同一个VG,也可以属于不同的多个VG。但是,一个LV只能属于一个VG。

物理块 – PE(Physical Extent)

在整个LVM中,PE是最小的储存区块。也就是说,其实我们的数据都是写入PE的。简单的说,这个PE就有点像文件系统里面的block大小。

在LVM1中,默认使用4MB的PE区块,而LVM的LV最多仅能含有65534个PE(lvm1的格式),因此默认的LVM的LV最大容量为4M*65534/(1024M/G)=256G。所以,PE的大小会影响到LVM的最大容量!

不过,在CentOS 6.x以后,由于直接使用LVM2的各项格式功能,因此这个限制已经不存在了。

关系图

参考文献

CentOS 6.3下配置LVM(逻辑卷管理)