“发现重复的PV”

“发现重复的PV”
SERVER:~ # pvs
  Found duplicate PV Wb0b2UTCKtpUtSki0k2NnIB24qNj4CEP: using /dev/mapper/36005076304ffc2500000000000004903 not /dev/mapper/36005076304ffc2990000000000004903
  PV                                            VG          Fmt  Attr PSize   PFree  
  /dev/mapper/36005076304ffc2500000000000004903 application lvm2 a--   50.00g  35.00g
  /dev/sda4                                     system      lvm2 a--  133.24g 100.39g
SERVER:~ # 

操作系统是 SLES 11 SP3。

问题:这会是一个问题吗?如果是,如何解决重复的PV消息? :) 磁盘来自 SAN/多路径。

答案1

根据我个人的经验,“重复 PV”通常是由于系统对特定 SAN LUN 具有多路径访问,但 LVM 尚未配置为过滤各个路径的块设备。设备映射器名称甚至看起来像 WWNN/WWPN(尽管我没有足够的 SLES 经验,不知道这是否可能是其他名称)。但不确定为什么 PV 本身会由 DM 设备提供服务。

在 RHEL 中,我会查看/dev/disk/by-path这些是否是相同的 LUN。

这会是一个问题吗?

如果您应该进行多路径设置,这可能是一个问题。例如,如果底层设备应该是,/dev/mapper/mpathf但 LVM/dev/sdf首先找到并决定激活它,那么您对存储的访问并不像您指定的那样冗余。例如,如果路径/dev/sdf沿着 VG,其所有 LV 都可能变得无法访问。

如果是,如何解决重复的PV消息?

使用 LVM,每个 PV 都有一个“LVM header”,它告诉您该 PV 的 UUID、它所在的 VG 的名称以及同一 VG 中所有其他 PV 的 UUID(这就是它如何判断是否存在缺少PV)。所有这些错误都意味着它发现了另一个具有相同 UUID 的 PV。

因此,造成这种情况的原因并不单一,因此很难根据您提供的信息提出解决方案。

声音就像你lvm.conf只需要设置过滤器来忽略各个路径(如前所述),但你必须做更多的研究来确认这一点,因为这几乎是一个WAG(疯狂的猜测)。

以 lvm 过滤器为例:

filter = [ "r/block/", "r/disk/", "r/sd.*/", "a/.*/" ]

上述过滤器会跳过(“删除”)名称中带有“块”或“磁盘”字样的任何设备。它还删除任何以“sd”开头的设备(例如sdf,,sdg等),最后“允许”所有其他设备(“ .*”)。

不过,您可能不想走那么远(因为您使用的/dev/sda4是根 VG)。我只会删除用于各个路径的特定块设备。

但再次确认一下。也可能是一百万个其他的事情(SAN 管理员克隆了一个 LUN 并将其呈现给您的系统,由于某种原因,UUID 之间不太可能发生随机冲突、宇宙射线、运气不佳等)。

更新:

我还应该提到,每次更新/etc/lvm/lvm.conf(RHEL 路径)时,您都应该重建您拥有的任何 initramfs。看起来您正在使用这些作为根 VG 外部的存储(这是最佳实践),但每次修改该文件时,您都应该确保内核在启动时看到与此后相同的文件,以便获得一致的结果。

相关内容