2.3. LVM 逻辑卷
在 LVM 中,卷组被分成逻辑卷。下面的部分描述了不同类型的逻辑卷类型。
2.3.1. 线性卷
线性卷将来自一个或多个物理卷的空间集合到一个逻辑卷中。例如:如果您有两个 60GB 的磁盘,您可以创建一个 120GB 的逻辑卷。物理存储是连在一起的。
创建一个线性卷,按顺序为逻辑卷的区域分配物理扩展范围。例如:如 图 2.2 “扩展映射” 中所示,逻辑扩展 1 到 99 可映射到一个物理卷,逻辑扩展 100 到 198 可映射到第二个物理卷。从应用程序的角度来看,它是一个大小为 198 个扩展的设备。
图 2.2. 扩展映射
[D]
构成逻辑卷的物理卷大小应该相同。图 2.3 “具有不等物理卷的线性卷” 显示卷组
VG1
,物理扩展大小为 4MB。这个卷组包括 2 个物理卷,名为 PV1
和 PV2
。物理卷被分成 4MB 单元,因为这是扩展的大小。在本例中,PV1
的大小为 200 个扩展(800MB),PV2
的大小为 100 个扩展(400MB)。您可以创建一个大小在 1 到 300 个扩展(4MB 到 1200MB)的线性卷。在这个示例中,名为 LV1
的线性卷的大小为 300 个扩展。
图 2.3. 具有不等物理卷的线性卷
[D]
您可以从物理区块池中配置多个所需大小的线性逻辑卷。图 2.4 “多个逻辑卷” 显示与 图 2.3 “具有不等物理卷的线性卷” 相同的卷组,但在这种情况下,两个逻辑卷已从卷组中分离出来:
LV1
,大小为 250 个扩展(1000MB)和 LV2
,大小为 50 个扩展(200MB)。
图 2.4. 多个逻辑卷
[D]
2.3.2. 条带逻辑卷
当您向 LVM 逻辑卷写入数据时,文件系统会在基本物理卷之间部署数据。您可以通过创建一个条带逻辑卷来控制将数据写入物理卷的方法。对于大量连续的读取和写入,这样可以提高数据输入/输出的效率。
条带通过以循环模式向预定数目的物理卷写入数据来提高性能。使用条带,I/O 可以并行执行。在某些情况下,这可能会为条带中的每个额外物理卷增加近线性能。
以下示例显示数据在三个物理卷之间进行条带分布。在这个图表中:
- 数据的第一条写入第一个物理卷
- 数据的第二条写入第二个物理卷
- 数据的第三条被写入第三个物理卷
- 数据的第四条写入第一个物理卷
在条带逻辑卷中,条的大小不能超过扩展的大小。
图 2.5. 跨三个 PV 的条带数据
[D]
通过将另一组设备连接到第一个集合的末尾,可以扩展条带逻辑卷。要扩展条带逻辑卷,在基本物理卷集合中必须有足够的可用空间组成卷组来支持条带。例如:如果您有一个双向条带使用了整个卷组,那么向卷组中添加单一物理卷不会允许您扩展条带。反之,您必须在卷组中添加至少两个物理卷。有关扩展条带卷的详情,请参考 第 4.4.17 节 “扩展条带卷”。
2.3.3. RAID 逻辑卷
LVM 支持 RAID0/1/4/5/6/10。LVM RAID 卷有以下特征:
- LVM 使用 MD 内核驱动程序来创建和管理 RAID 逻辑卷。
- RAID1 镜像可以从阵列中临时分离出来,之后再合并回阵列。
- LVM RAID 卷支持快照。
有关创建 RAID 逻辑卷的详情,请参考 第 4.4.3 节 “RAID 逻辑卷”。
注意
RAID 逻辑卷不是集群感知的。虽然可以在一台机器上单独创建和激活 RAID 逻辑卷,但不能在多个机器上同时激活它们。
2.3.4. 精简配置的逻辑卷(精简卷)
逻辑卷可以使用精简模式置备。这可让您创建大于可用扩展的逻辑卷。使用精简配置,您可以管理一个空闲空间的存储池,称为精简池,可在应用程序需要时将其分配给任意数量的设备。然后,当应用程序实际写入逻辑卷时,您可以创建可绑定到精简池的设备以便以后分配。可在需要时动态扩展精简池,以便有效分配存储空间。
注意
不支持集群中跨节点的精简卷。精简池及其所有精简卷必须只在一个集群节点中单独激活。
通过使用精简配置,存储管理员可过量使用物理存储,从而避免购买额外的存储。例如:如果 10 个用户为每个应用程序请求一个 100GB 文件系统,存储管理员可以为每个用户创建一个 100GB 文件系统,但其后端的实际存储可以小于这个大小,它在需要时才使用实际的存储。
注意
在使用精简配置时,存储管理员务必要监控存储池,并在其被完全占用时添加更多容量。
要确定可以使用所有可用空间,LVM 支持数据丢弃功能。这允许重复使用丢弃文件或其他块范围使用的空间。
有关创建精简卷的详情,请参考 第 4.4.5 节 “创建精简配置的逻辑卷”。
精简卷支持新的复制时写入(COW)快照逻辑卷部署,这将允许很多虚拟设备在精简池中共享相同数据。有关精简快照卷的详情,请参考 第 2.3.6 节 “精简配置的快照卷”。
2.3.5. 快照卷
LVM 快照功能提供在特定时间创建设备的虚拟镜像且不会造成服务中断的功能。在提取快照后,当对原始设备进行修改时,快照功能会生成有变化的数据区域的副本,以便重建该设备的状态。
注意
LVM 支持精简配置的快照。有关精简配置快照卷的详情,请参考 第 2.3.6 节 “精简配置的快照卷”。
注意
不支持集群中跨节点的 LVM 快照。您不能在集群卷组中创建快照卷。
因为快照只复制创建快照后修改的数据区域,快照功能需要的存储空间较小。例如,在很少更新的原始卷中,原始容量的 3-5 % 就足以维护快照。
注意
文件系统的快照副本是虚拟副本,不是文件系统的实际介质备份。快照不能替代备份。
预留用来存储原始卷更改的空间的大小取决于快照的大小。例如:如果您要创建快照,且要完全覆盖原始卷,则快照必须至少与原始卷大小方可保存更改。您需要根据预期的更改程度调整快照大小。例如,一个以读为主的卷的短期快照(如
/usr
)需要较少的空间,而不是看到大量写入的卷的长期快照,如 /home
。
如果快照已满,则快照就会变得无效,因为它无法跟踪原始卷中的更改。您应该定期监控快照的大小。快照可以完全重新定义大小,因此如果您有存储容量,则可以增大快照卷以避免丢失快照。另外,如果您发现快照卷超过您的需要,您可以减小卷的大小来为其它逻辑卷最大限度腾出空间。
当您创建快照文件系统时,仍可对原始系统有完全的读和写访问。如果更改了快照中的块,则会标记那个块,永远不会从原始卷中复制该块。
快照有几个用途:
- 最典型的是。当您需要在逻辑卷中执行备份而不停止持续更新数据的 Live 系统时会提取快照。
- 您可以对快照文件系统执行 fsck 命令来检查文件系统的完整性,并确定原始文件系统是否需要文件系统修复。
- 因为快照是可读/写的,您可以根据产品数据测试应用程序,方法是提取一个快照并根据快照运行测试,从而不会影响真实数据。
- 您可以为 Red Hat Virtualization 创建 LVM 卷。LVM 快照可用来创建虚拟客体镜像的快照。这些快照可方便修改现有客户虚拟机或者使用最小附加存储创建新客户虚拟机。有关使用 Red Hat Virtualization 创建基于 LVM 的存储池的详情,请参考 虚拟化管理指南。
有关创建快照卷的详情,请参考 第 4.4.6 节 “创建快照卷”。
您可以使用 lvconvert 命令的
--merge
选项将快照合并到其原始卷中。这个功能的一个作用是在您丢失数据或者文件或者需要将系统恢复到之前的状态时执行系统恢复。合并快照卷后,得到的逻辑卷将具有原始卷的名称、次号码和 UUID,且合并的快照被删除。有关使用这个选项的详情,请参考 第 4.4.9 节 “合并快照卷”。
2.3.6. 精简配置的快照卷
Red Hat Enterprise Linux 支持精简配置的快照卷。精简快照卷允许将很多虚拟设备保存在同一个数据卷中。这简化了管理过程,并允许在快照卷间共享数据。
除了所有 LVM 快照卷以及所有精简卷一样,集群的节点不支持精简快照卷。快照卷必须在一个集群节点中完全激活。
精简快照卷提供以下优点:
- 当有相同原始卷的多个快照时,精简快照卷就可以减少磁盘用量。
- 如果同一来源有多个快照,对原始卷的写入会导致 COW 操作保留数据。增加原始卷的快照数量应该不会造成很大的性能下降。
- 精简快照卷可用于另一个快照的逻辑卷来源。这允许任意深度的递归快照(快照的快照...)。
- 精简逻辑卷的快照也创建一个精简逻辑卷。在要求 COW 操作前,或直到快照已写入前,并不会消耗数据空间。
- 精简快照卷不需要使用原始卷激活,因此当原始快照卷有很多不活跃时,用户可能只激活原始卷。
- 当您删除精简置备快照卷的原始卷时,该原始卷的每个快照都会变为独立的精简置备卷。这意味着,您不需要将快照与原始卷合并,而不必选择删除原始卷,然后使用该独立卷作为新快照的原始卷创建新置备快照。
虽然使用精简快照卷有很多优点,但在有些情况下,旧的 LVM 快照卷功能可能更适合您的需要:
- 您不能更改精简池的块大小。如果精简池的块大小较大(例如: 1MB),且您需要一个短期存在的快照且使用大块的效率不高时,可以选择使用旧的快照功能。
- 您不能限制精简快照卷的大小 ; 如果需要,快照将使用精简池中所有空间。这可能不适用于您的需要。
一般说来,在决定使用什么快照格式时,您应该考虑具体的要求。
注意
在使用精简配置时,存储管理员务必要监控存储池,并在其被完全占用时添加更多容量。有关配置和显示精简配置的快照卷的信息,请参考 第 4.4.7 节 “创建精简配置的快照卷”。
2.3.7. 缓存卷
在 Red Hat Enterprise Linux 7.1 发行版中,LVM 支持使用快速块设备(如 SSD 驱动器)作为大型慢块设备的 write-back 或 write-through 缓存。用户可以创建缓存逻辑卷来提高其现有逻辑卷的性能,或者创建由小而快速的设备组成的新缓存逻辑卷,再加上一个大型、较慢的设备。
有关创建 LVM 缓存卷的详情,请参考 第 4.4.8 节 “创建 LVM 缓存逻辑卷”。