Linux逻辑卷管理LVM功能详解及应用实例
转载请在文首保留原文出处:
介绍
Linux管理员会遇到这样的困境:如何精确评估和分配各硬盘分区容量?不但要考虑到当前所需容量,还要预见以后可能需要的容量。逻辑卷管理(LVM)是一个完美的解决方案:可自如调整文件系统大小并跨越磁盘和分区。本文介绍LVM的功能并提供应用实例,相信会为你带来帮助。
更多信息
LVM概述
从RedHatLinux 8.0开始便可以使用Logical Volume Manager(LVM,逻辑卷管理)来做磁盘空间的分配。LVM是建立在硬盘和分区之上的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在其上建立文件系统,以提高磁盘分区管理的灵活性。
通过LVM系统管理员可以轻松管理磁盘分区,如:将若干个磁盘分区连接为一个整块的卷组(volume group),形成一个存储池。管理员可以在卷组上随意创建逻辑卷组(logical volumes),并进一步在逻辑卷组上创建文件系统。管理员通过LVM可以方便的调整存储卷组的大小,并且可以对磁盘存储按照组的方式进行命名、管理和分配,例如按照使用用途进行定义:“development”和“sales”,而不是使用物理磁盘名“sda”和“sdb”。而且当系统添加了新的磁盘,通过LVM管理员就不必将磁盘的文件移动到新的磁盘上以充分利用新的存储空间,而是直接扩展文件系统跨越磁盘即可。
下图清晰地显示了LVM的层次结构:
图1. Linux LVM架构图
LVM适用场景
LVM适用于:
·通过允许用户添加、更换磁盘,无需停机即可在磁盘间复制、共享内容来管理大容量磁盘设备;
·在小型系统上,用户可以通过LVM轻松地重新划分磁盘分区大小,从而无需在系统安装时估算未来可能用到的最大容量;
·通过“快照”实现备份;
·可为多个物理卷或整个磁盘创建单一逻辑分区(某种程度类似于RAID 0,更与JBOD相似),允许动态更改卷容量。
如前文所述,用户可将LVM看成硬盘和分区之上的逻辑层,从而为管理硬盘的更换、重新分区、及备份带来了连续性和操作便利。
LVM功能特性
通过LVM可实现:
·通过合并新的物理卷或移除现有卷实现在线卷组管理;
·通过在逻辑卷上连接或截断盘区实现逻辑卷在线管理;
·为逻辑卷创建只读快照(LVM1);
·为逻辑卷创建可读写快照(LVM2);
·实现整个或部分逻辑卷条带化跨越多个物理卷,与RAID 0功能相类似;
·实现整个或部分逻辑卷的镜像,与RAID 1功能相类似;
·在物理卷之间在线对逻辑卷进行移动;
·在本地分割或合并卷组(前提是没有逻辑卷跨越分割区)。这一点在将整个逻辑卷迁移出/至离线存储时很有用处;
LVM也可工作于共享存储集群(存放物理卷的物理磁盘在多主机间共享),但需要额外的后台进程在集群节点间传送状态更改信息。
LVM不能:
·跨逻辑卷提供基于Parity的冗余保护,如RAID 5或RAID 6。
实现方式
LVM在每一个物理卷的起始都维护了一个metadata头,并通过唯一的UUID来标识。每一个物理卷头都是整个卷组布局的完全复制,包括所有其他物理卷的UUID,所有逻辑卷的UUID以及物理盘区到逻辑盘区的映射。从而简化了物理卷丢失时的数据恢复。
“vgchange”通过以下步骤添加一个卷组:
1.在所有块设备中搜索物理卷;
2.解析物理卷的metadata头;
3.计算所有可见物理卷的布局;
4.遍历卷组中所有待添加逻辑卷并:
a)检查待添加逻辑卷中所有物理卷是否可见;
b)创建新的空白磁盘设备映射;
c)将其映射到逻辑卷所属物理卷的数据区域。
将逻辑卷在同一卷组的物理卷之间移动,使用“pvmove”工具:
1.为目标设备创建新的空白磁盘设备映射;
2.将镜像应用在源和目标映射。内核将以“degraded”模式开始对数据进行镜像操作并开始从源到目标复制数据以使其维持同步;
3.当镜像到达同步时将源映射更改为目标,并消除源。
磁盘设备映射过程透明,底层存储发生移动时上层应用或文件系统不受影响。
应用实例
创建并显示物理卷:
创建并显示卷组:
创建并显示逻辑卷:
创建文件系统(如ext2):
通过手动挂载测试逻辑卷:
参考
EMC Host Connectivity Guide for Linux
应用于
Linux主机系列