https://access.redhat.com/solutions/2487951
SOLUTION 已验证 - 已更新 2017年五月4日19:30 -
环境
- Red Hat Enterprise Linux 7.2
问题
-
The value of
dev_loss_tmo
is set to20
but still getting the50
in the output of below command:$ less /etc/multipath.conf [...] defaults { user_friendly_names yes fast_io_fail_tmo 10 dev_loss_tmo 20 ### } [...] $ for f in /sys/class/fc_remote_ports/rport-*/dev_loss_tmo; do d=$(dirname $f); echo $(basename $d):$(cat $d/node_name):$(cat $f); done rport-7:0-2:0x50020e8020144afa:50 <--- rport-7:0-3:0x50020e8020144af2:50 <--- rport-8:0-2:0x50020e8020144afb:50 <--- rport-8:0-3:0x50020e8020144af3:50 <---
-
How is the value of
dev_loss_tmo
calculated in RHEL 7 ?
决议
-
For dm-multipath to allow setting
dev_loss_tmo
of 20, set theno_path_retry
to10
andpolling_interval
value to2
:defaults { user_friendly_names yes fast_io_fail_tmo 10 dev_loss_tmo 20 polling_interval 2 ### } devices { device { vendor "HITACHI" product "DF.*" path_grouping_policy multibus path_checker tur features "1 queue_if_no_path" no_path_retry 10 ### } }
-
Then reload the
multipathd
service:$ systemctl reload multipathd
根源
-
device-mapper-multipath
in RHEL7 refuses to delete the paths sooner thanno_path_retry
value. This is because once those paths are gone, no retries could be done on affected paths. So, with above new changes, the minimum allowed value of thedev_loss_tmo
calculated as below:Minimum allowed 'dev_loss_tmo' by dm-multipath = 'no_path_retry' * 'polling_interval' <----- Minimum value of the 'dev_loss_tmo'