Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
DM Multipath now enables blacklisting or whitelisting paths by protocol
Device Mapper Multipath (DM Multipath) now supports the "protocol" configuration option in the `blacklist` and `blacklist_exceptions` configuration sections. This enables you to blacklist or whitelist paths based on the protocol they use, such as `scsi` or `nvme`. For SCSI devices, you can also specify the transport: for example `scsi:fcp` or `scsi:iscsi`.
Description of problem:
Right now, there is no way to easily tell multipath that you want to blacklist or whitelist devices based on what protocol and transport method that they are using. You can't easily (for instance) blacklist all devices except scsi devices using Fibre Channel or iSCSI. To solve this multipath needs a new blacklist/blacklist_exceptions type, "protocol". This will allow you to do things like
blacklist {
protocol ".*"
}
blacklist_exceptions {
protocol "(scsi:fcp|scsi:iscsi)"
}
(In reply to Ben Marzinski from comment #0)
> blacklist_exceptions {
> protocol "(scsi:fcp|scsi:iscsi)"
> }
Ben, can you explain why "scsi:fcp" or "scsi:iscsi" is needed, instead of "fcp"
os "iscsi"?
What is the advantage of the longer version?
You can also blacklist other protocols like "nvme" or "dasd". Right now, only "scsi" has multiple transport methods, but in the future multipath will likely need to distinguish between different "nvme" transports as well. This makes it easier to specify exactly what you want to blacklist. It also maps onto how multipath internally distinguishes between device types.
The full list of protocol/transports that multipath recognizes and are available for blacklisting is:
scsi:fcp
scsi:spi
scsi:ssa
scsi:sbp
scsi:srp
scsi:iscsi
scsi:sas
scsi:adt
scsi:ata
ccw
cciss
nvme
oops. There's also "scsi:unspec" for scsi devices that don't have a detected transport (like scsi_debug) and "undef" for devices that don't have a detected protocol at all. Mostly, these are already caught by devnode or property blacklisting, but it is valid to run multipath on devices that don't have a detected procotol. Multipath just doesn't do any protocol specific actions on them.
Hopefully, this should work for you. Here's the information from the manpage:
blacklist section:
protocol Regular expression of the protocol to be excluded. See
below for a list of recognized protocols
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 'multipathd show paths format "%d %P"'
blacklist_exceptions section:
protocol Regular expression of the protocol to be whitelisted.
See the blacklist section for a list of recognized
protocols
Yeah. I think so. The change is pretty self contained. Obviously, the 7.5 change would need to get approved as a zstream. Could you open bugzillas for this?
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2018:3236
Description of problem: Right now, there is no way to easily tell multipath that you want to blacklist or whitelist devices based on what protocol and transport method that they are using. You can't easily (for instance) blacklist all devices except scsi devices using Fibre Channel or iSCSI. To solve this multipath needs a new blacklist/blacklist_exceptions type, "protocol". This will allow you to do things like blacklist { protocol ".*" } blacklist_exceptions { protocol "(scsi:fcp|scsi:iscsi)" }