features= "queue_if_no_path" despite features "0" set, reported by multipath -ll.
This document (000021020) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server 12 SP5 High Availability Cluster
Situation
Despite setting features "0" in the defaults section of multipath.conf, multipath -ll reports "queue_if_no_path" option.
/etc/multipath.conf snippet.
.... defaults { verbosity 2 polling_interval 5 max_polling_interval 20 reassign_maps "no" multipath_dir "/lib64/multipath" path_selector "service-time 0" path_grouping_policy "failover" uid_attribute "ID_SERIAL" prio "const" prio_args "" features "0" .... # /sbin/multipath -ll 360000a800003a8700840643040484352 dm-269 EMC,SYMMETRIX size=20G features='3 queue_if_no_path queue_mode mq' hwhandler='0' wp=rw `-+- policy='service-time 0' prio=1 status=active |- 15:0:6:46 sdzh 130:688 active ready running |- 15:0:5:46 sdud 66:592 active ready running |- 16:0:2:46 sdqy 133:288 active ready running `- 16:0:4:46 sdzu 131:640 active ready running
Resolution
https://documentation.suse.com/sles/12-SP5/html/SLES-all/cha-multipath.html#sec-multipath-policies-cluster
For instance this directive in multipath.conf, will reestablish the default for all MPIO devices:
overrides { no_path_retry fail } # /sbin/multipath -ll 360000a800003a8700840643040484352 dm-269 EMC,SYMMETRIX size=20G features='2 queue_mode mq' hwhandler='0' wp=rw `-+- policy='service-time 0' prio=1 status=active |- 15:0:6:46 sdzh 130:688 active ready running |- 15:0:5:46 sdud 66:592 active ready running |- 16:0:2:46 sdqy 133:288 active ready running `- 16:0:4:46 sdzu 131:640 active ready runningCommand multipath -T shows the database settings for connected devices. For example:
multipath -T output snippet:
.... devices { device { vendor "IBM" product "^1750500" path_grouping_policy "group_by_prio" prio "alua" failback "immediate" no_path_retry "queue" } }The above directive configured in multipath.conf also supersedes any defaults setting.
Refer to man multipath.conf for additional information.
Cause
For example, when booting with scsi_mod.use_blk_mq=1 dm_mod.use_blk_mq=1, which enables multiqueue for the device mapper, which is changing the queue_mode from the default.
The multipath.conf man page states for queue_mode:
queue_mode <mode> (Since kernel 4.8) Select the the queueing mode per multipath device. <mode> can be bio, rq or mq, which corresponds to bio- based, request-based, and block-multiqueue (blk-mq) request-based, respectively. The default depends on the kernel parameter dm_mod.use_blk_mq. It is mq if the latter is set, and rq otherwise.For queue_if_no_path:
queue_if_no_path (Deprecated, superseded by no_path_retry) Queue I/O if no path is active. Identical to the no_path_retry with queue value. If both this feature and no_path_retry are set, the latter value takes precedence. See KNOWN ISSUES.
Status
Additional Information
echo 1 > /sys/block/sdzh/device/delete echo 1 > /sys/block/sdud/device/delete ....rescan-scsi-bus.sh will re-establish the path.
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:000021020
- Creation Date: 20-Mar-2023
- Modified Date:20-Jul-2023
-
- SUSE Linux Enterprise High Availability Extension
- SUSE Linux Enterprise Server
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com