根本原因
当 LVM 未配置为过滤掉底层单路径设备时,会出现“Found duplicate PV(发现重复 PV)”的消息。
/dev/sd*。
多路径软件(例如 device-mapper-multipath、EMC PowerPath 等)为每个受管设备创建一个多路径伪设备。
如果未过滤掉底层单路径设备,LVM 会发现并报告所有引用相同 LVM 设备的重复设备路径。
双路径设备映射器多路径配置的示例设备映射:
/dev/sda, /dev/sdb --> /dev/dm-0 --> /dev/mapper/mpath1
两路径 EMC PowerPath 配置的示例设备映射:
/dev/sda, /dev/sdb --> /dev/emcpowera
解决方案
有关 EMC PowerPath 上的新 LVM 设置,请参阅 EMC PowerPath 文档中的“配置 LVM2 支持”,其中应包含修改“/etc/lvm/lvm.conf”文件以过滤掉底层路径的详细信息
对于 device-mapper-multipath 上的新 LVM 设置:
在底层 SCSI 设备上关闭 LVM 扫描。
可以通过更改“/etc/lvm/lvm.conf”中的过滤器参数来完成。
filter = [ "a/dev/mapper/.*/", "r/dev/sd.*/" ]
注意:此设置在扫描 LVM 磁盘时接受所有 /dev/mapper/* 设备并拒绝所有 /dev/sd* 设备。
有关详细信息,请参阅 LVM2 用户教程。
如果根设备也是多路径 LVM 设备,则在创建新的 initrd 镜像之前对 /etc/lvm/lvm.conf 进行更改。
在需要“multipath on root”的地方,initrd 镜像中需要 lvm.conf,这需要重新制作 initrd。
对于 EMC PowerPath 或者 dm-multipath 磁盘上的现有 LVM 设置,请确保 LVM 卷上数据的完整性:
如上所述更改“/etc/lvm/lvm.conf”
一般来说,应该配置 LVM 以过滤掉所有 sd* 设备,并且只看到 /dev/emcpower* 或者 /dev/mapper/* 设备。
如果有其他非多路径 SCSI 设备 LVM 卷,例如:/dev/cciss/*,则相应地设置过滤器,例如:
filter = [ "r/sd.*/" "a/dev/cciss/*/" "a/dev/emcpower.*/" "a/dev/mapper/*/" ]
使用此设置,'lvmdiskscan' 和 'pvscan' 命令应该只找到 /dev/ccisss/、/dev/emcpower和 /dev/mapper/* 设备。
停止任何访问 LVM 管理的设备/文件系统的应用程序/服务。
卸载所有基于 LVM 的文件系统。
停用所有卷组。
# vgchange -an
- 重新扫描卷组。
# vgscan
- 重新激活卷组。
# vgchange -ay
挂载任何基于 LVM 的文件系统。
启动任何需要访问 LVM 管理的设备/文件系统的应用程序/服务。
注意:如果在启动期间需要引用 LVM 磁盘,例如:在 kdump 捕获内核启动阶段或者配置为 multipath-on-root 时,则需要重新构建 initrd 镜像。
问题
在RHEL/CentOS中LVM使用多路径存储设备时,提示“Found duplicate PV”警告
在 CentOS/RHEL 系统上使用 LVM(逻辑卷管理器)和多路径(例如: device-mapper-multipath 或者 EMC PowerPath 等:
Error: Error informing the kernel about modifications to partition /dev/sda1 -- Device or resource busy. This means Linux won't know about any changes you made to /dev/sda1 until you reboot -- so you shouldn't mount it or use it in any way before rebooting. ... 错误:通知内核有关分区/dev/sda1修改的错误——设备或者资源繁忙。这意味着在重新启动之前,Linux不会知道您对/dev/sda1所做的任何更改,因此在重新启动之前,您不应该以任何方式装载或者使用它。
运行 pvs 命令获取物理卷 (PV) 相关信息时会报告如下消息:
Found duplicate PV G9tZklKg1nrXN7wGADvwHQOQtgd4w58M: using /dev/sdb1 not /dev/sda1 Found duplicate PV G9tZklKg1nrXN7wGADvwHQOQtgd4w58M: using /dev/sda1 not /dev/emcpowera1 ...