[dm-devel] Question regarding failback option in multipath.conf

Eli Klein elijah at aclue.com
Wed Sep 30 19:16:16 UTC 2009


On Sep 30, 2009, at 1:07 PM, John Brier wrote:

> On 09/30/2009 12:41 PM, Eli Klein wrote:
>> I'm running into an issue where the failback option in  
>> multipath.conf is
>> being ignored. I've tried to set this to a value > 0 to cause dm to
>> pause before reinstating a recovered path, but it reinstates the path
>> immediately. The same is true when setting the value to "manual", the
>> path is reinstated immediately. The delay is most useful when a  
>> ethernet
>> switch has failed or rebooted. During the boot of the switch, the
>> interface comes up and drops again multiple times. I'd love to be  
>> able
>> to introduce a delay before DM marks the path as reinstated after a
>> recovery. This would save me the hassle of running into I/O errors  
>> (and
>> occasional filesystem RO) as the path bounces while the switch is  
>> booting.
>>
>> Thanks in advance for any help or suggestions!
>>
>> -Eli
>>
>> I've included my multipath.conf as well as output from multipath - 
>> ll below:
>>
>> multipath.conf:
>>
>> blacklist {
>> devnode "sda$"
>> # devnode "*"
>> }
>>
>> ## By default, devices with vendor = "IBM" and product = "S/390.*"  
>> are
>> ## blacklisted. To enable mulitpathing on these devies, uncomment the
>> ## following lines.
>> #blacklist_exceptions {
>> # device {
>> # vendor "IBM"
>> # product "S/390.*"
>> # }
>> #}
>>
>> ## Use user friendly names, instead of using WWIDs as names.
>> defaults {
>> user_friendly_names yes
>> }
>> ##
>> ## Here is an example of how to configure some standard options.
>> ##
>> #
>> defaults {
>> udev_dir /dev
>> polling_interval 10
>> selector "round-robin 0"
>> path_grouping_policy multibus
>> getuid_callout "/sbin/scsi_id -g -u -s /block/%n"
>> prio_callout /bin/true
>> path_checker readsector0
>> rr_min_io 10
>> rr_weight priorities
>> failback 120
>> features "1 queue_if_no_path"
>> no_path_retry 1
>> user_friendly_name yes
>> }
>
> It looks like you have two defaults {} sections. Is that allowed?  
> Maybe multipath is only picking up the first one? I'd remove the  
> first one/comment out and put user_friendly_names yes in the second  
> one.
>
> Also I think multipath -v3 -d will show you what settings would be  
> applied so you don't have to test the behavior by cycling your  
> ethernet switch.
>
> For example on one of my systems multipath -v3 shows
> mpath1: pgfailback = -2 (controller setting)
>
>
> After you have it configured right run multipath -v3 without the -d  
> (dry run)
>
> Can someone confirm if pgfailback from multipath -v3 output  
> indicates the current setting of failback that multipath is using?
>
> John Brier

Here's the abbreviated output from multipath -v3:

mpath1: pgfailback = 120 (config file default)
mpath1: pgpolicy = multibus (config file default)
mpath1: selector = round-robin 0 (internal default)
mpath1: features = 1 queue_if_no_path (internal default)
mpath1: hwhandler = 0 (internal default)
mpath1: rr_weight = 2 (config file default)
mpath1: minio = 10 (config file default)
mpath1: no_path_retry = 1 (config file default)
pg_timeout = NONE (internal default)
mpath1: set ACT_NOTHING (map unchanged)

It's definitely picking up the settings correctly from multipath.conf,  
but the paths are still reinstated immediately once they're  
reconnected (even if it's just for a split second).

-Eli
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20090930/2debb029/attachment.htm>


More information about the dm-devel mailing list