第 2 章 LVM 组件

第 2 章 LVM 组件

 

本章论述了 LVM 逻辑卷组件。

2.1. 物理卷

LVM 逻辑卷的底层物理存储单元是一个块设备,比如一个分区或整个磁盘。要在 LVM 逻辑卷中使用该设备,则必须将该设备初始化为物理卷(PV)。将块设备初始化为物理卷会在该设备的起始扇区附近放置一个标签。

默认情况下,LVM 标签是放在第二个 512 字节扇区。可以将标签放在最开始的四个扇区之一来覆盖这个默认设置。这样就允许在必要时 LVM 卷可与其他使用这些扇区的用户共同存在。

LVM 标签可为物理设备提供正确的识别和设备排序,因为在引导系统时,设备可以任何顺序出现。LVM 标签在重新引导和整个集群中保持不变。

LVM 标签可将该设备识别为 LVM 物理卷。它包含物理卷的随机唯一识别符(UUID)。它还以字节为单位记录块设备的大小,并记录 LVM 元数据在设备中的存储位置。

LVM 元数据包含系统中 LVM 卷组的配置详情。默认情况下,卷组中的每个物理卷中都会在其元数据区域保留一个一样的元数据副本。LVM 元数据很小,并以 ASCII 格式保存。

现在,LVM 允许在每个物理卷中保存 0、1 或者 2 个元数据副本。默认是保存一个副本。一旦设置了在物理卷中保存的元数据备份数目之后就无法再更改。第一个副本保存在设备的起始位置,紧挨着标签。如果有第二个副本,会将其放在设备的末尾。如果不小心写入了不同于想要写入的磁盘,从而覆盖了磁盘的起始部分,那么可以使用在设备末尾的元数据第二个副本恢复元数据。

有关 LVM 元数据和更改元数据参数的详情请参考 附录 D, LVM 卷组元数据

2.1.1. LVM 物理卷布局

图 2.1 “物理卷布局” 显示 LVM 物理卷的布局。LVM 标签在第二个扇区,接下来是元数据区,之后是设备的可用空间。

注意

在 Linux 内核(及整个文档)中,每个扇区的大小为 512K。

图 2.1. 物理卷布局

2.1.2. 一个磁盘中有多个分区

LVM 允许在磁盘分区以外创建物理卷。Red Hat 通常建议创建可覆盖整张磁盘的单一分区,并将其标记为 LVM 物理卷,理由如下:

方便管理

如果每个真实磁盘只出现一次,那么在系统中追踪硬件就比较容易,这在磁盘失败时尤为突出。另外,单一磁盘中有多个物理卷可导致内核在引导时发出未知分区类型警告。

条带化性能

LVM 无法知道两个物理卷是否在同一物理磁盘中。如果要在两个物理卷处于同一物理磁盘中时创建条带逻辑卷,则条带可能位于同一磁盘的不同分区中。这样会降低性能而不是提升性能。

虽然不建议这样做,但可能会在某种情况下需要将磁盘分为不同的 LVM 物理卷。例如:如果一个系统中有几张磁盘,在将现有系统迁移至 LVM 卷时,可能需要在分区间移动数据。另外,如果有一个非常大的磁盘,并想要有一个以上的卷组以便管理,则需要将该磁盘分区。如果磁盘中有一个以上的分区,同时那些分区处于同一卷组中,则在创建条带卷指定逻辑卷中所包含分区时要特别小心。

2.2. 卷组

物理卷合并为卷组(VG)。这样就创建了磁盘空间池,并可使用它分配逻辑卷。

在卷组中,可用来分配的磁盘空间被分为固定大小的单元,我们称之为扩展。扩展是可进行分配的最小空间单元。在物理卷中,扩展指的是物理扩展。

逻辑卷会被分配成与物理卷扩展相同大小的逻辑扩展。因此卷组中逻辑卷的扩展大小都是一样的。卷组将逻辑扩展与物理扩展匹配。

2.3. LVM 逻辑卷

在 LVM 中是将卷组分为逻辑卷。以下小节论述了逻辑卷的不同类型。

2.3.1. 线性卷

线性卷是将一个或者多个物理卷整合为一个逻辑卷。例如:如果有两个 60GB 的磁盘,则可以创建一个 120GB 的逻辑卷。其物理存储是连续的。

创建线性卷可按顺序为逻辑卷的区域分配物理扩展范围。例如:如 图 2.2 “扩展映射” 所述,逻辑扩展 1 到 99 可与一个物理卷对映,逻辑扩展 99 到 198 可与第二个物理卷对映。从应用程序的角度来看,就是有一个大小为 198 个扩展的设备。

图 2.2. 扩展映射

组成逻辑卷的物理卷不一定要一样大小。图 2.3 “物理卷大小不同的线性卷” 演示了物理扩展为 4MB 的卷组 VG1。这个卷组包括两个物理卷,分别名为 PV1 和 PV2。该物理卷可分为 4MB 的单元,因为这是扩展的大小。在这个示例中,PV1 大小为 200 个扩展(800MB),PV2 大小为 100 个扩展(400MB)。您可以创建大小在 1 到 300 个扩展(4MB 到 1200MB)之间的任意线性卷。在这个示例中,该线性卷名为 LV1,大小为 300 个扩展。

图 2.3. 物理卷大小不同的线性卷

可以使用物理扩展池创建一个以上任意大小的线性逻辑卷。图 2.4 “多逻辑卷” 演示与 图 2.3 “物理卷大小不同的线性卷” 中相同的卷组,但在这个示例中是使用卷组创建两个逻辑卷:即大小为 250 个扩展(1000MB)的 LV1 和大小为 50 个扩展(200MB)的 LV2。

图 2.4. 多逻辑卷

2.3.2. 条带逻辑卷

向 LVM 逻辑卷写入数据时,文件系统在基本物理卷之间部署数据。可以通过创建条带逻辑卷控制数据向物理卷写入的方法。对于大批量的读取和写入,这样可以提高数据输入/输出的效率。

条带化数据可通过以 round-robin 模式向预定数目的物理卷写入数据来提高性能。使用条带模式,I/O 可以平行执行。在有些情况下,这样可以使条带中每个附加的物理卷获得类似线性卷的性能。

以下示例显示数据在三个物理卷之间进行条状分布。在这个图表中:

在第一个物理卷中写入第一个数据条带

在第二个物理卷中写入第二个数据条带

在第三个物理卷中写入第三个数据条带

在第四个物理卷中写入第四个数据条带

在条状逻辑卷中,条带大小不能超过扩展的大小。

图 2.5. 跨三个物理卷的条带数据

条带逻辑卷可通过在第一组设备的末尾连接另一组设备来扩大容量。要扩展条带逻辑卷,就必须在基本物理卷中有足够的可用空间组成卷组来支持条带卷。例如:如果有一个双向条带使用了整个卷组,那么向卷组中添加单一物理卷不会允许您扩展该条带。反之,必须在卷组中添加至少两个物理卷。有关扩展条带卷的详情请参考 第 4.4.15.1 节 “扩展条带卷”

2.3.3. RAID 逻辑卷

LVM 支持 RAID1/4/5/6/10。LVM RAID 卷有以下特征:

通过利用 MD 内核驱动程序的 LVM 创建和管理 RAID 逻辑卷。

RAID1 映象可临时从该阵列中分离,且稍后可合并回该阵列中。

LVM RAID 卷支持快照。

有关创建 RAID 逻辑卷的详情,请查看 第 4.4.3 节 “RAID 逻辑卷”

注意

集群无法识别 RAID 逻辑卷。由于 RAID 逻辑卷可单独在机器中创建并激活,不可以同时在一台以上机器中激活。如果需要非互斥镜像卷,则必须使用 mirror 片段类型创建卷,如 第 4.4.4 节 “创建镜像卷” 所示。

2.3.4. 精简配置逻辑卷(精简卷)

逻辑卷可进行简化配置。这样可创建超出可用扩展的逻辑卷。使用精简配置,可以管理剩余空间的存储池,也称精简池。需要时应用程序可将精简池分配给任意数量的设备。然后在之后应用程序实际写入该逻辑卷时创建设备,将其绑定到精简池中。需要时可动态扩展该精简池,以便进行有效的存储空间分配。

注意

集群中的节点间不支持精简卷。该精简池及其所有精简卷只能以独占方式在一个集群节点中激活。

存储管理员可使用精简配置过度使用物理存储,一般是为避免购买额外的存储。例如:如果十位用户每人为其应用程序申请 100GB 文件系统,则存储管理员可为每位用户创建看似为 100GB 的文件系统,支持该文件系统的实际存储小于 100GB,且只在需要时使用。使用精简配置时,关键是存储管理员要监控存储池,并在其开始变满时开始添加更多的容量。

为确定所有可用空间均可以使用,LVM 支持数据放弃。这样可重复使用之前被已放弃文件或其他块范围使用的空间。

有关创建精简卷的详情,请查看 第 4.4.5 节 “创建精简配置逻辑卷”

精简卷支持写时复制快照逻辑卷的新实施,该实施可允许虚拟设备共享精简池中的同一数据。有关精简快照卷的详情,请查看 第 2.3.6 节 “精简配置快照卷”

2.3.5. 快照卷

LVM 的快照功能为您提供了在某个特定时刻,在不导致服务中断的情况下创建设备的虚拟映射功能。在提取快照后,当对原始设备进行修改时,快照功能可生成有变化的数据区域的副本,以便重建该设备的状态。

注意

LVM 支持精简配置的快照。有关精简配置的快照卷的详情,请查看 第 2.3.6 节 “精简配置快照卷”

注意

在集群中不支持跨节点的 LVM 快照。不能在集群的卷组中创建快照卷。

因为快照只复制在生成快照之后修改的数据区域,扩展特性需要的存储空间较小。例如,对于很少更新的原始数据,原始容量的 3-5% 就足以进行快照维护。

注意

文件系统的快照副本是虚拟副本,不是文件系统的真实介质备份。快照不能替代备份过程。

预留用于保存原始卷更改的空间大小取决于快照的大小。例如:如果要生成一个快照,且要完全覆盖原始卷,则快照应该至少与原始卷同样大小方可保存更改。需要根据预期的更改程度设置快照大小。例如:对于一个多数用于读取卷的短期快照,比如 /usr,它所需空间要比经常会有写入操作的卷,比如 /home 的长期快照要小。

如果快照已满,则快照就会变得无效,因为它已经无法跟踪原始卷的更改。您应该常规监控快照的大小。快照是可以重新设定大小的,因此如果您有额外的存储容量,您可以增大快照卷容量以避免漏掉快照。相反,如果您发现快照卷超过您的需要,您可以减小它来为其它逻辑卷最大限度释放空间。

创建文件系统的快照时,仍可对原始系统有完全的读和写访问。如果修改了快照中的一个块,就会标记出那个块,并再不从原始卷中复制这个块。

快照功能有几个用途:

最典型的就是,当需要在不影响那个不断更新数据系统的情况下在逻辑卷中执行备份,可以提取一个快照。

可以在快照文件系统中执行 fsck 命令检查文件系统的完整性,并决定原始文件系统是否需要修复。

因为快照是可读/写的,因此可以根据产品数据测试应用程序,方法是提取一个快照并根据快照运行测试而不接触真实数据。

可创建用于 Red Hat Virtualization 的LVM 卷。LVM 快照可用于创建虚拟机映象的快照。这些快照可提供修改现有虚拟机或使用最小附加存储创建新虚拟机的简便方式。有关使用 Red Hat Virtualization 创建基于 LVM 存储池的详情,请查看《虚拟化管理指南》。

有关创建和修改快照卷的详情请参考 第 4.4.6 节 “创建快照卷”

可使用 lvconvert 命令的 --merge 选项将快照合并到其原始卷中。如果丢失数据或文件,或需要将系统恢复到之前的状态,则可使用这个功能执行系统回退。合并快照卷后,得到的逻辑卷会使用原始卷的名称,次要版本号及合并快照的 UUID 都会被删除。有关使用此选项的详情,请查看 第 4.4.8 节 “合并快照卷”

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 驱动器)作为较大慢速块设备的回写或写入缓存。用户可创建缓存逻辑卷以改进其现有逻辑卷的性能,或创建由一个小且快速设备与一个大慢速设备组成的新缓存逻辑卷。

有关 LVM 缓存的详情,包括卷创建示例,请查看 lvmcache(7) man page。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值