Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第 17 章 存储

新内核子系统: libnvdimm

在这个版本中,添加了 libnvdimm,这是负责检测、配置和管理非易失性双内存模块(NVDIMM)的内核子系统。因此,如果系统中存在 NVDIMM,它们会通过 /dev/pmem the 设备节点 公开,并可使用 ndctl 程序进行配置。(BZ#1269626)

支持 NVDIMM 的硬件

在 Red Hat Enterprise Linux 7.3 发布时,一些原始设备制造商(DSL)正在为非易失性双内存模块(NVDIMM)硬件添加支持。随着这些产品在市场中引入,红帽将与这些 OEM 合作来测试这些配置。如果可能,在 Red Hat Enterprise Linux 7.3 上宣布对它们的支持。
由于这是一个新的技术,因此将为每个产品及支持的配置发布特定的支持声明。这将在红帽测试成功后完成,并由 OEM 提供相应的文档支持。
当前支持的 NVDIMM 产品有:
  • HPE Swarm 系统上的 HPE NVDIMM。有关特定配置,请参阅 Hewlett Packard 企业公司支持声明。
不支持没有在这个列表中的 NVDIMM 产品和配置。Red Hat Enterprise Linux 7.3 发行注记将会更新,因为 NVDIMM 产品添加到支持的产品列表中。(BZ#1389121)

新软件包: nvml

nvml 软件包包含非易失性内存库(NVML),这是使用内存映射持久性的库集合,专门用于持久内存优化。(BZ#1274541)

SCSI 现在支持多个硬件队列

nr_hw_queues 字段现在存在于 Scsi_Host 结构中,允许驱动程序使用该字段。(BZ#1308703)

exclusive_pref_bit 可选参数已添加到 多路径 ALUA prioritizer 中

如果 exclusive_pref_bit 参数添加到 多路径 Asymmetric Logical Unit Access (ALUA) prioritizer 中,并且路径具有 Target Port Group Support (TPGS) pref 位,则多路径只使用该路径创建一个路径组,并为路径分配最高优先级。用户现在可以允许首选路径位于具有同样优化的其它路径的路径组中,即默认选项,或通过添加 exclusive_pref_bit 参数在路径组中。(BZ#1299652)

multipathd 现在支持 multipathd 格式的输出命令中的原始格式模式

multipathd 格式的输出命令现在提供 原始格式 模式,它会删除字段之间的标头和其他 padding。另外还添加了对其他格式通配符的支持。原始格式模式可以更轻松地收集和解析多路径设备的信息,特别是在脚本中使用。(BZ#1299651)

改进了 LVM 锁定基础架构

lvmlockd 是 LVM 的下一代锁定特性。它允许 LVM 使用 dlmsanlock 锁定管理器安全地管理来自多个主机的共享存储。sanlock 允许 lvmlockd 通过基于存储的锁定来协调主机,而无需整个集群基础架构。如需更多信息,请参阅 lvmlockd (8) 手册页。
此功能最初作为技术预览在 Red Hat Enterprise Linux 7.2 中引入。在 Red Hat Enterprise Linux 7.3 中,完全支持 lvmlockd。(BZ#1299977)

支持缓存具有限制的精简置备逻辑卷

Red Hat Enterprise Linux 7.3 提供了缓存精简配置的逻辑卷的功能。这为与特定精简池关联的所有精简逻辑卷带来了缓存优势。但是,当以这种方式设置精简池时,目前无法在不先删除缓存层的情况下增大精简池。这也意味着精简池自动增长的功能不可用。用户应小心地监控其精简池的完整性和消耗率,以避免耗尽空间。有关 LVM 缓存卷的详情,请参考 lvmthin (7)手册页。(BZ#1371597)

device-mapper-persistent-data rebase 到版本 0.6.2

device-mapper-persistent-data 软件包已升级到上游版本 0.6.2,它提供很多程序错误修复和增强。值得注意的是,还没有提供池中精简卷信息的 thin_ls 工具。(BZ#1315452)

在指定硬件上支持 DIF/DIX (T10 PI)

Red Hat Enterprise Linux 7.3 完全支持 SCSI T10 DIF/DIX,只要硬件供应商已证明了它,并完全支持特定的 HBA 和存储阵列配置。在其他配置中不支持 DIF/DIX,它不支持在引导设备上使用,且在虚拟客户机中不支持它。
目前,以下供应商已知可以提供这个支持。
FUJITSU 支持 DIF 和 DIX on:
EMULEX 16G FC HBA:
  • EMULEX LPe16000/LPe16002, 10.2.254.0 BIOS, 10.4.255.23 FW,带有:
  • FUJITSU ETERNUS DX100 S3, DX200 S3, DX500 S3, DX600 S3, DX8100 S3, DX8700 S3, DX8900 S3, DX200F, DX60 S3, AF250, AF650
QLOGIC 16G FC HBA:
  • QLOGIC QLE2670/QLE2672, 3.28 BIOS, 8.00.00 FW,带有:
  • FUJITSU ETERNUS DX100 S3, DX200 S3, DX500 S3, DX600 S3, DX8100 S3, DX8700 S3, DX8900 S3, DX200F, DX60 S3
请注意,T10 DIX 需要数据库或其他软件,它们对磁盘块提供校验和的生成和验证。当前不支持的 Linux 文件系统具有此功能。
EMC 支持 DIF on:
EMULEX 8G FC HBA:
  • LPe12000-E 和 LPe12002-E 带有固件 2.01a10 或更高版本,使用以下命令:
  • EMC VMAX3 系列带有 Enginuity 5977; EMC Symmetrix VMAX 系列,带有 Enginuity 5876.82.57 及更高版本
EMULEX 16G FC HBA:
  • LPe16000B-E 和 LPe16002B-E 带有固件 10.0.803.25 或更高版本,使用以下命令:
  • EMC VMAX3 系列带有 Enginuity 5977; EMC Symmetrix VMAX 系列,带有 Enginuity 5876.82.57 及更高版本
QLOGIC 16G FC HBA:
  • QLE2670-E-SP 和 QLE2672-E-SP:
  • EMC VMAX3 系列带有 Enginuity 5977; EMC Symmetrix VMAX 系列,带有 Enginuity 5876.82.57 及更高版本
有关最新状态,请参阅硬件厂商的支持信息。
对于其他 HBA 和存储阵列,对 DIF/DIX 的支持仍为技术预览。(BZ#1379689)

iprutils rebase 到版本 2.4.13

iprutils 软件包已升级到上游版本 2.4.13,它提供很多程序错误修复和增强。值得注意的是,这个更新添加了对在 8247-22L 和 8247-21L 基础附加 SCSI (SAS)后端连接 SCSI (SAS)后端中启用适配器写缓存的支持,以提供显著的性能改进。(BZ#1274367)

multipathd 命令现在可以使用 JSON 格式显示多路径数据

在这个版本中,multipathd 现在包含 show map json 命令来使用 JSON 格式显示多路径数据。这样,其他程序可以更轻松地解析 multipathd show map 输出。(BZ#1353357)

为 Huawei XSG1 阵列添加的默认配置

在这个版本中,多路径为 Huawei XSG1 阵列提供默认配置。(BZ#1333331)

多路径现在包含对 Ceph RADOS 块设备的支持。

RDB 设备需要特殊的 uid 处理,以及自己的检查程序功能,并能够修复设备。在这个版本中,可以在 RADOS 块设备上运行多路径。但请注意,只有在启用了 exclusive-lock 功能的 RBD 镜像在多个客户端之间共享时,才应使用多路径 RBD 支持。(BZ#1348372)

添加了对 PURE FlashArray 的支持

在这个版本中,多路径添加了对 PURE FlashArray 的内置配置支持(BZ39)1300415

为 MSA 2040 阵列添加的默认配置

在这个版本中,多路径为 MSA 2040 阵列提供默认配置。(BZ#1341748)

新的 skip_kpartx 配置选项,允许跳过 kpartx 分区创建

skip_kpartx 选项已添加到 multipath.conf 文件的 defaults、device 和 multipaths 部分中。当此选项被设置为 yes 时,使用 skip_kpartx 配置的多路径设备将不会为其创建任何分区设备。这允许用户在不创建分区的情况下创建多路径设备,即使设备有分区表。此选项的默认值为 no。(BZ#1311659)

多路径 权重路径优先级 器现在支持 wwn 关键字

多路径 权重路径优先级 器现在支持 wwn 关键字。如果使用此选项,与该设备匹配的正则表达式的格式是 host_wwnn:host_wwpn:target_wwnn:target_wwpn。这些标识符可以通过 sysfs 或使用以下 multipathd show paths format wildcard: %N:%R:%n:%r 查找。
weightedpath prioritizer 以前只允许 HBTL 和设备 nam regex 匹配。这些都在重启后都不会保留,因此 在每次启动后需要更改权重 路径优先级参数。此功能提供了一种将 weightedpath prioritizer 与持久设备标识符搭配使用的方法。(BZ#1297456)

新软件包: nvme-cli

nvme-cli 软件包提供 Non-Volatile Memory Express (NVMe)命令行界面来管理和配置 NVMe 控制器。(BZ#1344730)

现在,当 autoresize 没有配置时,LVM2 会显示警告信息

当空间被耗尽时,精简池默认行为不会自动调整精简池的大小。耗尽空间可能会导致各种负面影响。当用户没有使用 autoresize 和精简池已满时,新的警告信息会通知用户可能的问题,以便他们可以采取适当的操作,如调整精简池的大小,或使用精简卷停止。(BZ#1189221)

dmstats 现在支持将文件映射到 dmstats 区域

dmstats 命令的 --filemap 选项现在允许用户轻松配置 dmstats 区域,将 I/O 操作跟踪到文件系统中指定的文件。在以前的版本中,I/O 统计数据仅适用于整个设备或设备的区域,这会将管理员了解到每文件性能的限制。现在,- - filemap 选项允许用户使用与用于任何设备映射器设备 的相同工具来检查文件 I/O 性能。(BZ#1286285)

LVM 不再对外部卷应用 LV 策略

在以前的版本中,LVM 会意外地在外部卷上为 LVM 精简逻辑卷(LV)应用自己的策略,这可能会导致意外的行为。在这个版本中,精简池的外部用户可以使用自己的外部精简卷管理,LVM 不再对此类卷应用 LV 策略。(BZ#1329235)

现在,在创建新精简卷时,精简池总是被检查是否有足够空间

即使用户没有使用带有精简池监控的 autoresize,现在在创建新精简卷时总是检查精简池是否有足够空间。
现在,在以下情况下无法创建新的精简卷:
  • thin-pool 已达到了数据卷容量的 100%。
  • 对于小于 16 MiB 的元数据,精简池元数据少于 25%。
  • 元数据中有超过 4 MiB 的可用空间。(BZ#1348336)

LVM 现在可以设置缓存池块的最大数量

lvm.conf 文件的 allocation 部分中的新 LVM 分配参数 cache_pool_max_chunks 限制缓存池块的最大数量。当此参数未定义或设置为 0 时,会使用内置默认值。(BZ#1364244)

支持从逻辑卷中取消缓存池

现在,如果缓存池中的设备失败,LVM 能够从逻辑卷中取消调整缓存池。在以前的版本中,这种类型的故障需要手动干预,并对 LVM 元数据进行复杂更改,以便将缓存池与原始逻辑卷分开。
要从其 cache-pool 中取消记录逻辑卷,请使用以下命令:
# lvconvert --uncache *vg*/*lv*
请注意以下限制:
  • 缓存逻辑卷必须不活跃(需要重启)
  • 回写缓存 需要 --force 选项,因为可能会丢失数据失败。
(BZ#1131777)

LVM 现在可以跟踪并显示已删除的精简快照逻辑卷

现在,您可以通过在 lvm.conf 配置文件中启用 record_lvs_history 元数据选项将系统配置为跟踪已删除的精简快照逻辑卷。这可让您显示完整的精简快照依赖链,其中包括已经从原始依赖项链中删除的逻辑卷,并成为历史逻辑卷。完整的依赖链(包括历史 LV)可使用新的 lv_full_ancestorslv_full_descendants 报告字段显示。有关配置和显示历史逻辑卷的详情,请参考 逻辑卷管理。(BZ#1240549)