项目中需要在lvm上做一些工作。以前对lvm只是听说过,今天做个入门学习。
1. 什么是LVM?
LVM(logical volume management 逻辑卷管理)是一种在海量存储设备上分配存储空间的方法。它比传统的分区方案更加灵活。换句话说,LVM是存储虚拟化的一种形式。特别的,一个逻辑卷管理器可以将多个分区级联、条带整合或者合并成一个更大的逻辑卷。这有很多好处,比如逻辑卷上的文件系统正在进行输入输出时,逻辑卷本身可以调整空间大小甚至移动。这意味着即使在最具挑战的企业环境下业务连续性也可以得到保证。
2. 基本概念和结构
绝大部分卷管理器设计和实现都一样。对照下图,先解释下一些概念:
PV(Physical Volume):一个硬盘分区或者由多个硬盘分区通过RAID(硬件或者软件RAID)形成的“正常”硬盘分区。
PE(Physical Exxtend): 在PV上的一块存储空间。PE在传统的卷管理器(例如在HP-UX和linux上)中大小都一样,也有的PE大小可以按需被分割,合并。
LE(Logical Extend): 和PE大小一样,但一个LE可以映射一个或者多个PE,LE不和PV绑定。考虑当LE映射的PE分布在不同的PV上的情况,写给这个LE的数据就会分散写到提供PE的多个PV上,这样LVM就提供了一定的冗余度。
LV(Logical Volume): 多个LE级联起来,就形成了一个LV。比如2000个LE(每个2MB)就级联成了一个4GB的LV。一个LV代表一个块存储上的可寻址的连续空间。LV就是像虚拟硬盘上的分区(在上面能创建可挂载的文件系统)。
VG(Volume Group):是一组PV的集合(包括PVs上的PEs,LVs和LVs)。PV和LV不能跨多个VG,他们只能属于一个VG。一个VG是我们主要的管理单元,比如你可以将一个VG独立于其他VG在线/离线移动到另一个操作系统。VG就像是一个虚拟的硬盘。
了解完上述基本概念,来看下LVM的结构图: