Re: [dm-devel] Failover between two paths to one LU doesn't work onlinux-iscsi

From: Michael Lyulko <michaell voltaire com>

To: device-mapper development <dm-devel redhat com>

Subject: Re: [dm-devel] Failover between two paths to one LU doesn't work onlinux-iscsi

Date: Wed, 18 Oct 2006 20:55:24 +0200

David Wysochanski wrote:

On Thu, 2006-10-12 at 20:49 +0200, Michael Lyulko wrote:

Dave Wysochanski wrote:

I ran iozone benchmark and manually failed one of two paths. There was
no failover to second path.
The iSCSI initiator retried to reconnect to the first path -
unsuccessfully. When I restored the first

Did you set ConnFailTimeout to a non-zero value? This sounds like it's
still at default (reconnect indefinately). You also need to set the
Multipath variable, but it sounds like you may have done that already.
--
dm-devel mailing list
dm-devel redhat com
https://www.redhat.com/mailman/listinfo/dm-devel

Thanks! Now I set ConnFailTimeout=30 and when one of the paths failed a
fail-over to
second path occurred (I had Multipath=portal). But after the first path
is back (iSCSI session

is established and I can read from the device) multipath -l shows:
<snip>
\_ round-robin 0 [enabled]

\_ 0:0:6:0 sda 8:0 [failed][ready] // still "failed" -
Michael

\_ round-robin 0 [active]
\_ 0:1:6:0 sdb 8:16 [active][ready]

1. How can I configure the DM to automatically detect that a path is
active again?

you probably want "failback immediate"
there's also been some bugs with failback - not sure about your version
- your mileage may vary

"failback immediate" didn't help on both SLES9 sp3 and SLES10. The
device mapper doesn't
rescan automatically the paths, so when the failed path is back to life,
it is still "failed"

in multipath -l output.

Issuing "multipath -p failover" helps to return the path back to
"active". I need an automatic "rescan".

2. I don't have a multipath.conf in /etc. Is
/usr/share/doc/packages/multipath-tools/

the right place to take it from?

Yes, you can start with this. I think there may be a problem with some
of the examples - make sure the "blacklist" keyword is correct - at some
point it changed from "devnode_blacklist" to "blacklist" (not sure which
one is in your version but example may be wrong).

3. What params in multipath.conf are a must in this case of fail-over
setup regarding question no.1?

You might also want to look at no_path_retry and/or queue_if_no_path
options.

SLES9 sp3: both parameters are not in default multipath.conf, so I
suppose they are not supported yet in this distribution.
SLES10: no_path_retry doesn't help. queue_if_no_path is not in the
default multipath.conf.