4.2. Configuration File Blacklist
The
blacklist
section of the multipath configuration file specifies the devices that will not be used when the system configures multipath devices. Devices that are blacklisted will not be grouped into a multipath device.
In older releases of Red Hat Enterprise Linux, multipath always tried to create a multipath device for every path that was not explicitly blacklisted. As of Red Hat Enterprise Linux 6, however, if the
find_multipaths
configuration parameter is set to yes
, then multipath will create a device only if one of three conditions are met:
- There are at least two paths that are not blacklisted with the same WWID.
- The user manually forces the creation of the device by specifying a device with the
multipath
command. - A path has the same WWID as a multipath device that was previously created (even if that multipath device does not currently exist). Whenever a multipath device is created, multipath remembers the WWID of the device so that it will automatically create the device again as soon as it sees a path with that WWID. This allows you to have multipath automatically choose the correct paths to make into multipath devices, without have to edit the multipath blacklist.If you have previously created a multipath device without using the
find_multipaths
parameter and then you later set the parameter toyes
, you may need to remove the WWIDs of any device you do not want created as a multipath device from the/etc/multipath/wwids
file. The following shows a sample/etc/multipath/wwids
file. The WWIDs are enclosed by slashes (/):# Multipath wwids, Version : 1.0 # NOTE: This file is automatically maintained by multipath and multipathd. # You should not need to edit this file in normal circumstances. # # Valid WWIDs: /3600d0230000000000e13955cc3757802/ /3600d0230000000000e13955cc3757801/ /3600d0230000000000e13955cc3757800/ /3600d02300069c9ce09d41c31f29d4c00/ /SWINSYS SF2372 0E13955CC3757802/ /3600d0230000000000e13955cc3757803/
With the
find_multipaths
parameter set to yes
, you need to blacklist only the devices with multiple paths that you do not want to be multipathed. Because of this, it will generally not be necessary to blacklist devices.
If you do need to blacklist devices, you can do so according to the following criteria:
- By WWID, as described in Section 4.2.1, “Blacklisting by WWID”
- By device name, as described in Section 4.2.2, “Blacklisting By Device Name”
- By device type, as described in Section 4.2.3, “Blacklisting By Device Type”
- By
udev
property, as described in Section 4.2.4, “Blacklisting By udev Property (Red Hat Enterprise Linux 7.5 and Later)” - By device protocol, as described in Section 4.2.5, “Blacklisting By Device Protocol (Red Hat Enterprise Linux 7.6 and Later)”
By default, a variety of device types are blacklisted, even after you comment out the initial blacklist section of the configuration file. For information, see Section 4.2.2, “Blacklisting By Device Name”.
4.2.1. Blacklisting by WWID
You can specify individual devices to blacklist by their World-Wide IDentification with a
wwid
entry in the blacklist
section of the configuration file.
The following example shows the lines in the configuration file that would blacklist a device with a WWID of 26353900f02796769.
blacklist { wwid 26353900f02796769 }
4.2.2. Blacklisting By Device Name
You can blacklist device types by device name so that they will not be grouped into a multipath device by specifying a
devnode
entry in the blacklist
section of the configuration file.
The following example shows the lines in the configuration file that would blacklist all SCSI devices, since it blacklists all sd* devices.
blacklist { devnode "^sd[a-z]" }
You can use a
devnode
entry in the blacklist
section of the configuration file to specify individual devices to blacklist rather than all devices of a specific type. This is not recommended, however, since unless it is statically mapped by udev
rules, there is no guarantee that a specific device will have the same name on reboot. For example, a device name could change from /dev/sda
to /dev/sdb
on reboot.
By default, the following
devnode
entries are compiled in the default blacklist; the devices that these entries blacklist do not generally support DM Multipath. To enable multipathing on any of these devices, you would need to specify them in the blacklist_exceptions
section of the configuration file, as described in Section 4.2.6, “Blacklist Exceptions”.
blacklist { devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" devnode "^(td|ha)d[a-z]" }
4.2.3. Blacklisting By Device Type
You can specify specific device types in the
blacklist
section of the configuration file with a device
section. The following example blacklists all IBM DS4200 and HP devices.
blacklist { device { vendor "IBM" product "3S42" #DS4200 Product 10 } device { vendor "HP" product "*" } }
4.2.4. Blacklisting By udev Property (Red Hat Enterprise Linux 7.5 and Later)
The
blacklist
and blacklist_exceptions
sections of the multipath.conf
configuration file support the property
parameter. This parameter allows users to blacklist certain types of devices. The property
parameter takes a regular expression string that is matched against the udev
environment variable name for the device.
The following example blacklists all devices with the
udev
property ID_ATA
.
blacklist { property "ID_ATA" }
4.2.5. Blacklisting By Device Protocol (Red Hat Enterprise Linux 7.6 and Later)
You can specify the protocol for a device to be excluded from multipathing in the
blacklist
section of the configuration file with a protocol
section. The protocol strings that multipath recognizes are scsi:fcp, scsi:spi, scsi:ssa, scsi:sbp, scsi:srp, scsi:iscsi, scsi:sas, scsi:adt, scsi:ata, scsi:unspec, ccw, cciss, nvme, and undef. The protocol that a path is using can be viewed by running the command multipathd show paths format "%d %P"
.
The following example blacklists all devices with an undefined protocol or an unknown SCSI transport type.
blacklist { protocol "scsi:unspec" protocol "undef" }
4.2.6. Blacklist Exceptions
You can use the
blacklist_exceptions
section of the configuration file to enable multipathing on devices that have been blacklisted by default.
For example, if you have a large number of devices and want to multipath only one of them (with the WWID of 3600d0230000000000e13955cc3757803), instead of individually blacklisting each of the devices except the one you want, you could instead blacklist all of them, and then allow only the one you want by adding the following lines to the
/etc/multipath.conf
file.
blacklist { wwid "*" } blacklist_exceptions { wwid "3600d0230000000000e13955cc3757803" }
When specifying devices in the
blacklist_exceptions
section of the configuration file, you must specify the exceptions in the same way they were specified in the blacklist. For example, a WWID exception will not apply to devices specified by a devnode
blacklist entry, even if the blacklisted device is associated with that WWID. Similarly, devnode
exceptions apply only to devnode
entries, and device
exceptions apply only to device entries.
The
property
parameter works differently than the other blacklist_exception
parameters. If the parameter is set, the device must have a udev
variable that matches. Otherwise, the device is blacklisted. This parameter allows users to blacklist SCSI devices that multipath should ignore, such as USB sticks and local hard drives. To allow only SCSI devices that could reasonably be multipathed, set this parameter to SCSI_IDENT_|ID_WWN)
as in the following example.
blacklist_exceptions { property "(SCSI_IDENT_|ID_WWN)" }