Hello,
I'm upgrading some environments from 4.3 to 4.4.
Storage domains are iSCSI based, connected to an Equallogic storage array
(PS-6510ES), that is recognized such as this as vendor/product in relation
to multipath configuration
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 02 Id: 00 Lun: 00
Vendor: DELL Model: PERC H730 Mini Rev: 4.30
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi15 Channel: 00 Id: 00 Lun: 00
Vendor: EQLOGIC Model: 100E-00 Rev: 8.1
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi16 Channel: 00 Id: 00 Lun: 00
Vendor: EQLOGIC Model: 100E-00 Rev: 8.1
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi17 Channel: 00 Id: 00 Lun: 00
Vendor: EQLOGIC Model: 100E-00 Rev: 8.1
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi18 Channel: 00 Id: 00 Lun: 00
Vendor: EQLOGIC Model: 100E-00 Rev: 8.1
Type: Direct-Access ANSI SCSI revision: 05
#
Passing from 4.3 to 4.4 implies passing from CentOS 7 to 8.
The vendor is not in multipath "database" (it wasn't in 6 and 7 too)
In 7 I used this snip to get no_path_retry set:
# VDSM REVISION 1.5
# VDSM PRIVATE
defaults {
. . .
no_path_retry 4
. . .
}
. . .
devices {
device {
# These settings overrides built-in devices settings. It does
# not apply to devices without built-in settings (these use the
# settings in the "defaults" section), or to devices defined in
# the "devices" section.
all_devs yes
no_path_retry 4
}
device {
vendor "EQLOGIC"
product "100E-00"
path_selector "round-robin 0"
path_grouping_policy multibus
path_checker tur
rr_min_io_rq 10
rr_weight priorities
failback immediate
features "0"
}
}
and confirmation of applied config with
# multipath -l
36090a0c8d04f21111fc4251c7c08d0a3 dm-14 EQLOGIC ,100E-00
size=2.4T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=0 status=active
|- 16:0:0:0 sdc 8:32 active undef running
`- 18:0:0:0 sde 8:64 active undef running
36090a0d88034667163b315f8c906b0ac dm-13 EQLOGIC ,100E-00
size=2.0T features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=0 status=active
|- 15:0:0:0 sdb 8:16 active undef running
`- 17:0:0:0 sdd 8:48 active undef running
and
# multipath -r -v3 | grep no_path_retry
Jan 29 11:51:17 | 36090a0d88034667163b315f8c906b0ac: no_path_retry = 4
(config file default)
Jan 29 11:51:17 | 36090a0c8d04f21111fc4251c7c08d0a3: no_path_retry = 4
(config file default)
In 8 I get this; see also the strange line about vendor or product missing,
but it is not true...
# multipath -l
Jan 29 11:52:02 | device config in /etc/multipath.conf missing vendor or
product parameter
36090a0c8d04f21111fc4251c7c08d0a3 dm-13 EQLOGIC,100E-00
size=2.4T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='round-robin 0' prio=0 status=active
|- 16:0:0:0 sdc 8:32 active undef running
`- 18:0:0:0 sde 8:64 active undef running
36090a0d88034667163b315f8c906b0ac dm-12 EQLOGIC,100E-00
size=2.0T features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
`-+- policy='round-robin 0' prio=0 status=active
|- 15:0:0:0 sdb 8:16 active undef running
`- 17:0:0:0 sdd 8:48 active undef running
# multipath -r -v3 | grep no_path_retry
Jan 29 11:53:54 | device config in /etc/multipath.conf missing vendor or
product parameter
Jan 29 11:53:54 | set open fds limit to 8192/262144
Jan 29 11:53:54 | loading /lib64/multipath/libchecktur.so checker
Jan 29 11:53:54 | checker tur: message table size = 3
Jan 29 11:53:54 | loading /lib64/multipath/libprioconst.so prioritizer
Jan 29 11:53:54 | foreign library "nvme" loaded successfully
Jan 29 11:53:54 | delegating command to multipathd
So in my opinion it is currently using queue if no path in 8
Can anyone give me any insight about the message and about how to force the
no_path_retry?
Perhaps any major change in multipath from 7 to 8?
The 8 config is this one:
# VDSM REVISION 2.0
# VDSM PRIVATE
defaults {
. . .
polling_interval 5
. . .
# We use a small number of retries to protect from short outage.
# Assuming the default polling_interval (5 seconds), this gives
# extra 20 seconds grace time before failing the I/O.
no_path_retry 16
. . .
}
# Blacklist internal disk
blacklist {
wwid "36d09466029914f0021e89c5710e256be"
}
# Remove devices entries when overrides section is available.
devices {
device {
# These settings overrides built-in devices settings. It does
# not apply to devices without built-in settings (these use the
# settings in the "defaults" section), or to devices defined in
# the "devices" section.
#### Not valid any more in RH EL 8.3
#### all_devs yes
#### no_path_retry 16
}
device {
vendor "EQLOGIC"
product "100E-00"
path_selector "round-robin 0"
path_grouping_policy multibus
path_checker tur
rr_min_io_rq 10
rr_weight priorities
failback immediate
features "0"
}
}
Thanks in advance,
Gianluca