13.14. 对多路径 LVM 设备进行重复的物理卷警告进行故障排除


当将 LVM 与多路径存储搭配使用时,列出卷组或者逻辑卷的 LVM 命令可能会显示如下信息:

Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/dm-5 not /dev/sdd
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/emcpowerb not /dev/sde
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/sddlmab not /dev/sdf

您可以排除这些警告来了解 LVM 显示它们的原因,或者隐藏警告信息。

13.14.1. 重复 PV 警告的根本原因

当设备映射器多路径(DM 多路径)、EMC PowerPath 或 Hitachi Dynamic Link Manager (HDLM)等多路径软件管理系统上的存储设备时,每个路径都会作为不同的 SCSI 设备注册。

然后多路径软件会创建一个映射到这些独立路径的新设备。因为每个 LUN 在 /dev 目录中有多个指向同一底层数据的设备节点,所以所有设备节点都包含相同的 LVM 元数据。

表 13.1. 不同多路径软件的设备映射示例
多路径软件到 LUN 的 SCSI 路径多路径设备映射到路径

DM Multipath

/dev/sdb/dev/sdc

/dev/mapper/mpath1/dev/mapper/mpatha

EMC PowerPath

/dev/emcpowera

HDLM

/dev/sddlmab

由于多个设备节点,LVM 工具会多次查找相同的元数据,并将其作为重复报告。

13.14.2. 重复 PV 警告的情况

LVM 在以下任一情况下显示重复的 PV 警告:

指向同一设备的单路径

输出中显示的两个设备都是指向同一设备的单一路径。

以下示例显示一个重复的 PV 警告,在该示例中重复的设备是同一设备的单一路径。

Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/sdd not /dev/sdf

如果您使用 multipath -ll 命令列出当前的 DM 多路径拓扑,您可以在相同的多路径映射中找到 /dev/sdd/dev/sdf

这些重复的信息只是警告,并不意味着 LVM 操作失败。相反,它们会提醒您 LVM 只使用其中一个设备作为物理卷,并忽略其它设备。

如果消息表示 LVM 选择了不正确的设备,或者警告是否对用户造成破坏,您可以应用过滤器。过滤器将 LVM 配置为只搜索物理卷所需的设备,并将任何基本路径留给多路径设备。因此,不再会出现警告。

多路径映射

输出中显示的两个设备都是多路径映射。

以下示例显示两个设备都有重复的 PV 警告,它们是多路径映射。重复的物理卷位于两个不同的设备中,而不是位于同一设备的两个不同路径中。

Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/mapper/mpatha not /dev/mapper/mpathc

Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/emcpowera not /dev/emcpowerh

对于同一设备上的单一路径的设备来说,这种情形比重复的警告更为严重。这些警告通常意味着机器正在访问它不应该访问的设备:例如: LUN 克隆或镜像(mirror)。

除非您明确知道您应该从机器中删除哪些设备,否则这个情况可能无法恢复。红帽建议联系红帽技术支持来解决这个问题。

13.14.3. 防止重复 PV 警告的 LVM 设备过滤器示例

以下示例显示 LVM 设备过滤器,它避免了由单一逻辑单元(LUN)由多个存储路径导致的重复物理卷警告。

您可以为逻辑卷管理器(LVM)配置过滤器来检查所有设备的元数据。元数据包括上面包含根卷组的本地硬盘,以及任何多路径设备。通过拒绝多路径设备的底层路径(如 /dev/sdb/dev/sdd),您可以避免这些重复的 PV 警告,因为 LVM 在多路径设备上一次只查找一个唯一的元数据区域。

  • 要接受第一个硬盘上的第二个分区以及任何设备映射器(DM)多路径设备,并拒绝任何其他分区,请输入:

    filter = [ "a|/dev/sda2$|", "a|/dev/mapper/mpath.*|", "r|.*|" ]
  • 要接受所有 HP SmartArray 控制器和任何 EMC PowerPath 设备,请输入:

    filter = [ "a|/dev/cciss/.*|", "a|/dev/emcpower.*|", "r|.*|" ]
  • 要接受第一个 IDE 驱动器上的任何分区以及任何多路径设备,请输入:

    filter = [ "a|/dev/hda.*|", "a|/dev/mapper/mpath.*|", "r|.*|" ]

13.14.4. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.