Duplicate PV Warnings for Multipathed Devices
When using LVM with multipathed storage, some LVM commands (such as
vgs
or lvchange
) may display messages such as the following when listing a volume group or logical volume.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
After providing information on the root cause for these warnings, this section describes how to address this issue in the following two cases.
- The two devices displayed in the output are both single paths to the same device
- The two devices displayed in the output are both multipath maps
7.8.1. Root Cause of Duplicate PV Warning
With a default configuration, LVM commands will scan for devices in
/dev
and check every resulting device for LVM metadata. This is caused by the default filter in the /etc/lvm/lvm.conf
, which is as follows:filter = [ "a/.*/" ]
When using Device Mapper Multipath or other multipath software such as EMC PowerPath or Hitachi Dynamic Link Manager (HDLM), each path to a particular logical unit number (LUN) is registered as a different SCSI device, such as
/dev/sdb
or /dev/sdc
. The multipath software will then create a new device that maps to those individual paths, such as /dev/mapper/mpath1
or /dev/mapper/mpatha
for Device Mapper Multipath, /dev/emcpowera
for EMC PowerPath, or /dev/sddlmab
for Hitachi HDLM. Since each LUN has multiple device nodes in /dev
that point to the same underlying data, they all contain the same LVM metadata and thus LVM commands will find the same metadata multiple times and report them as duplicates.
These duplicate messages are only warnings and do not mean the LVM operation has failed. Rather, they are alerting the user that only one of the devices has been used as a physical volume and the others are being ignored. If the messages indicate the incorrect device is being chosen or if the warnings are disruptive to users, then a filter can be applied to search only the necessary devices for physical volumes, and to leave out any underlying paths to multipath devices.
7.8.2. Duplicate Warnings for Single Paths
The following example shows a duplicate PV warning in which the duplicate devices displayed are both single paths to the same device. In this case, both
/dev/sdd
and /dev/sdf
can be found under the same multipath map in the output to the multipath -ll
command.Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/sdd** not **/dev/sdf**
To prevent this warning from appearing, you can configure a filter in the
/etc/lvm/lvm.conf
file to restrict the devices that LVM will search for metadata. The filter is a list of patterns that will be applied to each device found by a scan of /dev
(or the directory specified by the dir
keyword in the /etc/lvm/lvm.conf
file). Patterns are regular expressions delimited by any character and preceded by a
(for accept) or r
(for reject). The list is traversed in order, and the first regex that matches a device determines if the device will be accepted or rejected (ignored). Devices that don’t match any patterns are accepted. For general information on LVM filters, see Section 5.5, “Controlling LVM Device Scans with Filters”.
The filter you configure should include all devices that need to be checked for LVM metadata, such as the local hard drive with the root volume group on it and any multipathed devices. By rejecting the underlying paths to a multipath device (such as
/dev/sdb
, /dev/sdd
, etc) you can avoid these duplicate PV warnings, since each unique metadata area will only be found once on the multipath device itself.
The following examples show filters that will avoid duplicate PV warnings due to multiple storage paths being available.
- This filter accepts the second partition on the first hard drive (
/dev/sda
and any device-mapper-multipath devices, while rejecting everything else.filter = [ "a|/dev/sda2$|", "a|/dev/mapper/mpath.*|", "r|.*|" ]
- This filter accepts all HP SmartArray controllers and any EMC PowerPath devices.
filter = [ "a|/dev/cciss/.*|", "a|/dev/emcpower.*|", "r|.*|" ]
- This filter accepts any partitions on the first IDE drive and any multipath devices.
filter = [ "a|/dev/hda.*|", "a|/dev/mapper/mpath.*|", "r|.*|" ]
Note
When adding a new filter to the
/etc/lvm/lvm.conf
file, ensure that the original filter is either commented out with a # or is removed.
Once a filter has been configured and the
/etc/lvm/lvm.conf
file has been saved, check the output of these commands to ensure that no physical volumes or volume groups are missing.# pvscan # vgscan
You can also test a filter on the fly, without modifying the
/etc/lvm/lvm.conf
file, by adding the --config
argument to the LVM command, as in the following example.# lvs --config 'devices{ filter = [ "a|/dev/emcpower.*|", "r|.*|" ] }'
Note
Testing filters using the
--config
argument will not make permanent changes to the server's configuration. Make sure to include the working filter in the /etc/lvm/lvm.conf
file after testing.
After configuring an LVM filter, it is recommended that you rebuild the
initrd
device with the dracut
command so that only the necessary devices are scanned upon reboot.7.8.3. Duplicate Warnings for Multipath Maps
The following examples show a duplicate PV warning for two devices that are both multipath maps. In these examples we are not looking at two different paths, but two different devices.
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/mapper/mpatha** not **/dev/mapper/mpathc**
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/emcpowera** not **/dev/emcpowerh**
This situation is more serious than duplicate warnings for devices that are both single paths to the same device, since these warnings often mean that the machine has been presented devices which it should not be seeing (for example, LUN clones or mirrors). In this case, unless you have a clear idea of what devices should be removed from the machine, the situation could be unrecoverable. It is recommended that you contact Red Hat Technical Support to address this issue.
No comments:
Post a Comment