<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div>On Sep 30, 2009, at 1:07 PM, John Brier wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>On 09/30/2009 12:41 PM, Eli Klein wrote:<br><blockquote type="cite">I'm running into an issue where the failback option in multipath.conf is<br></blockquote><blockquote type="cite">being ignored. I've tried to set this to a value > 0 to cause dm to<br></blockquote><blockquote type="cite">pause before reinstating a recovered path, but it reinstates the path<br></blockquote><blockquote type="cite">immediately. The same is true when setting the value to "manual", the<br></blockquote><blockquote type="cite">path is reinstated immediately. The delay is most useful when a ethernet<br></blockquote><blockquote type="cite">switch has failed or rebooted. During the boot of the switch, the<br></blockquote><blockquote type="cite">interface comes up and drops again multiple times. I'd love to be able<br></blockquote><blockquote type="cite">to introduce a delay before DM marks the path as reinstated after a<br></blockquote><blockquote type="cite">recovery. This would save me the hassle of running into I/O errors (and<br></blockquote><blockquote type="cite">occasional filesystem RO) as the path bounces while the switch is booting.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Thanks in advance for any help or suggestions!<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">-Eli<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">I've included my multipath.conf as well as output from multipath -ll below:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">multipath.conf:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">blacklist {<br></blockquote><blockquote type="cite">devnode "sda$"<br></blockquote><blockquote type="cite"># devnode "*"<br></blockquote><blockquote type="cite">}<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">## By default, devices with vendor = "IBM" and product = "S/390.*" are<br></blockquote><blockquote type="cite">## blacklisted. To enable mulitpathing on these devies, uncomment the<br></blockquote><blockquote type="cite">## following lines.<br></blockquote><blockquote type="cite">#blacklist_exceptions {<br></blockquote><blockquote type="cite"># device {<br></blockquote><blockquote type="cite"># vendor "IBM"<br></blockquote><blockquote type="cite"># product "S/390.*"<br></blockquote><blockquote type="cite"># }<br></blockquote><blockquote type="cite">#}<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">## Use user friendly names, instead of using WWIDs as names.<br></blockquote><blockquote type="cite">defaults {<br></blockquote><blockquote type="cite">user_friendly_names yes<br></blockquote><blockquote type="cite">}<br></blockquote><blockquote type="cite">##<br></blockquote><blockquote type="cite">## Here is an example of how to configure some standard options.<br></blockquote><blockquote type="cite">##<br></blockquote><blockquote type="cite">#<br></blockquote><blockquote type="cite">defaults {<br></blockquote><blockquote type="cite">udev_dir /dev<br></blockquote><blockquote type="cite">polling_interval 10<br></blockquote><blockquote type="cite">selector "round-robin 0"<br></blockquote><blockquote type="cite">path_grouping_policy multibus<br></blockquote><blockquote type="cite">getuid_callout "/sbin/scsi_id -g -u -s /block/%n"<br></blockquote><blockquote type="cite">prio_callout /bin/true<br></blockquote><blockquote type="cite">path_checker readsector0<br></blockquote><blockquote type="cite">rr_min_io 10<br></blockquote><blockquote type="cite">rr_weight priorities<br></blockquote><blockquote type="cite">failback 120<br></blockquote><blockquote type="cite">features "1 queue_if_no_path"<br></blockquote><blockquote type="cite">no_path_retry 1<br></blockquote><blockquote type="cite">user_friendly_name yes<br></blockquote><blockquote type="cite">}<br></blockquote><br>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.<br><br>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.<br><br>For example on one of my systems multipath -v3 shows<br>mpath1: pgfailback = -2 (controller setting)<br><br><br>After you have it configured right run multipath -v3 without the -d (dry run)<br><br>Can someone confirm if pgfailback from multipath -v3 output indicates the current setting of failback that multipath is using?<br><br>John Brier<font class="Apple-style-span" color="#000000"><font class="Apple-style-span" color="#144FAE"><br></font></font></div></blockquote><br></div><div>Here's the abbreviated output from multipath -v3:</div><div><br></div><div><div>mpath1: pgfailback = 120 (config file default)</div><div>mpath1: pgpolicy = multibus (config file default)</div><div>mpath1: selector = round-robin 0 (internal default)</div><div>mpath1: features = 1 queue_if_no_path (internal default)</div><div>mpath1: hwhandler = 0 (internal default)</div><div>mpath1: rr_weight = 2 (config file default)</div><div>mpath1: minio = 10 (config file default)</div><div>mpath1: no_path_retry = 1 (config file default)</div><div>pg_timeout = NONE (internal default)</div><div>mpath1: set ACT_NOTHING (map unchanged)</div><div><br></div><div>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).</div><div><br></div><div>-Eli</div></div></body></html>