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
Situation
Despite setting features "0" in the defaults section of multipath.conf, multipath -ll report "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 running
Command 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 supersede 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 retablish 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:28-Mar-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