
On Fri, Feb 03, 2017 at 12:31:49AM +0100, Gianluca Cecchi wrote:
On Thu, Feb 2, 2017 at 10:53 PM, Benjamin Marzinski <[1]bmarzins@redhat.com> wrote:
> > I'm trying to mitigate inserting a timeout for my SAN devices but I'm not > > sure of its effectiveness as CentOS 7 behavior of "multipathd -k" and then > > "show config" seems different from CentOS 6.x > > In fact my attempt for multipath.conf is this
There was a significant change in how multipath deals with merging device configurations between RHEL6 and RHEL7. The short answer is, as long as you copy the entire existing configuration, and just change what you want changed (like you did), you can ignore the change. Also, multipath doesn't care if you quote numbers.
If you want to verify that no_path_retry is being set as intented, you can run:
# multipath -r -v3 | grep no_path_retry
Hi Benjamin, thank you very much for the explanations, especially the long one ;-) I tried and confirmed that I has no_path_retry = 4 as expected The regex matching is only for merge, correct?
No. Both RHEL6 and RHEL7 use regex matching to determine which device configuration to use with your device, otherwise product "^1814" would never match any device, since there is no array with a literal product string of "^1814". RHEL7 also uses the same regex matching to determine which builtin device configuration a user-supplied device configuration should modify. RHEL6 uses string matching for this.
So in your example if in RH EL 7 I put this device { vendor "IBM" product "^1814" no_path_retry 12 } It would not match for merging, but it would match for applying to my device (because it is put at the end of config read backwards).
correct. The confusing point is that in the merging case, "^1814" in the user-supplied configuration is being treaded as a string that needs to regex match the regular expression "^1814" in the builtin configuration. These don't match. For matching the device configuration to the device, "^1814" in the user-supplied configuration is being treated as a regular expression that needs to regex match the actual product string of the device.
And it would apply only the no_path_retry setting, while all other ones would not be picked from builtin configuration for device, but from defaults in general. So for example it would set path_checker not this way: path_checker "rdac" but this way: path_checker "directio" that is default.. correct?
exactly. -Ben
References
Visible links 1. mailto:bmarzins@redhat.com