存储5——逻辑卷管理LVM
1. LVM概念
LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现。LVM将一个或多个硬盘的分区在逻辑上集合,相当于一个大硬盘来使用,当硬盘的空间不够使用的时候,可以继续将其它的硬盘的分区加入其中,这样可以实现磁盘空间的动态管理,相对于普通的磁盘分区有很大的灵活性。
与传统的磁盘与分区相比,LVM为计算机提供了更高层次的磁盘存储。它使系统管理员可以更方便的为应用与用户分配存储空间。在LVM管理下的存储卷可以按需要随时改变大小与移除(可能需对文件系统工具进行升级)。LVM也允许按用户组对存储卷进行管理,允许管理员用更直观的名称(如"sales'、 'development')代替物理磁盘名(如'sda'、'sdb')来标识存储卷。
2. LVM术语
LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。首先我们讨论以下几个LVM术语:
物理存储介质(The physical media):这里指系统的存储设备:硬盘,如:/dev/hda1、/dev/sda等等,是存储系统最低层的存储单元。
物理卷(physical volume):物理卷就是指硬盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
卷组(Volume Group):LVM卷组类似于非LVM系统中的物理硬盘,其由物理卷组成。可以在卷组上创建一个或多个“LVM分区”(逻辑卷),LVM卷组由一个或多个物理卷组成。
逻辑卷(logical volume):LVM的逻辑卷类似于非LVM系统中的硬盘分区,在逻辑卷之上可以建立文件系统(比如/home或者/usr等)。
PE(physical extent):每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。
LE(logical extent):逻辑卷也被划分为被称为LE(Logical Extents) 的可被寻址的基本单位。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
简单来说就是:
PV:是物理的磁盘分区
VG:LVM中的物理的磁盘分区,也就是PV,必须加入VG,可以将VG理解为一个仓库或者是几个大的硬盘。
LV:也就是从VG中划分的逻辑分区
如下图所示PV、VG、LV三者关系:
3. LVM整体结构
逻辑卷管理器(LVM)通过将数据在存储空间的逻辑视图与实际的物理磁盘之间进行映射来控制磁盘资源。实现方式是在传统的物理设备驱动层之上加载一层磁盘设备驱动代码。该磁盘存储逻辑视图供应用程序使用并独立于底层物理磁盘结构
如下结构层次图描述了固定磁盘存储的管理,各层级之间有明确定义的映射关系(包括卷组(datavg),逻辑卷(lv04和mirrlv),逻辑分区(LP1,…),物理卷(hdisk9),和物理分区(PP8))。
每一个单独的磁盘设备被称为物理卷并赋予一个名称,通常是/dev/hdiskx(x是系统中唯一的整数值)。每一个正在使用的物理卷都属于一个卷组(VG),除非它是作为原始存储磁盘设备或现成备份盘(通常称为热备盘)。每个物理卷包含一定数量相互叠加的磁盘(或盘片),被分成固定大小的物理分区。出于空间分配的考虑,将每一个物理卷划分成五个区域:(外部边缘,外中间,中心,内中间,以及内部边缘),这些可看做通过磁盘盘片垂直切割的圆柱段(参见图3)。每一区域的物理分区数随着磁盘设备总容量而变化。
逻辑卷管理器(LVM)是操作系统命令、库子程序、其他允许用户建立和控制逻辑卷存储的集合。如前文所述,逻辑卷管理器(LVM)通过将数据在存储空间的逻辑视图与实际的物理磁盘之间进行映射来控制磁盘资源。实现方式是在传统的物理设备驱动层之上加载一层磁盘设备驱动代码。该磁盘存储逻辑视图供应用程序使用并独立于底层物理磁盘结构
逻辑卷管理器(LVM)通过同样的方式来管理RAID磁盘阵列。RAID阵列被当做单一磁盘来处理,即使在绝大多数情况下它的容量相当可观。
安装成功后,系统有一个卷组(root卷组称为rootvg),包括了启动系统所必须的逻辑卷以及安装脚本指定的其他逻辑卷。连接到系统的其他物理卷可被添加到卷组中(使用extendvg命令),或用于创建新卷组(使用mkvg命令)。
卷组和物理卷有如下关系:
- 单个系统上,一个或多个物理卷可组成一个卷组。
- 物理卷不能在卷组之间共享。
- 整个物理卷成为卷组的一部分。
- LVM独立于物理卷。因此不同类型的物理卷可组成一个卷组。
每个卷组内,定义了一个或多个逻辑卷。逻辑卷是用来存储数据的磁盘区域,对于应用来说是连续的,但是在实际物理卷上有可能非连续。逻辑卷可以扩展、重定位、跨越多个物理卷,并且其内容可以复制以提供更好地灵活性和可扩展性。
每一个逻辑卷包含一个或多个逻辑分区(LPs)。每一个逻辑分区对应至少一个物理分区。如果逻辑卷是镜像保护的,那么系统会分配额外的物理分区用以存储各逻辑分区的复制数据。为了保证可用性,这些数据通常位于不同的物理卷,但有时出于性能的考虑,也可能位于同一物理卷。
逻辑卷可通过命令或SMIT菜单形式创建或修改。
逻辑卷只能属于一个卷组。一个逻辑卷可以:
- 位于一个物理卷
- 跨越一个卷组的多个物理卷
- 多个镜像位于同一卷组的不同物理卷
总结:
物理卷:一个存储磁盘设备,可被分为多个物理分区
卷组:一个或多个物理卷的集合,独立于类型
逻辑卷:一组逻辑分区的集合,每一逻辑卷可映射到卷组内任一物理分区。如果使用镜像,逻辑分区映射到2个或3个物理分区。
逻辑卷管理器:通过逻辑卷磁盘驱动控制上述成员。它负责管理物理分区的复杂结构,包括镜像,对用户/应用呈现单一的逻辑分区。