multipath problem: active provider chosen on passive FC path?

patpro at patpro.net patpro at patpro.net
Tue Dec 9 13:59:12 UTC 2014


On 8 déc. 2014, at 22:33, Patrick Proniewski <patpro at patpro.net> wrote:

>> FC switches are typically active-active, as the FC switch fabric is "intelligent" and doesn't have looping issues like ethernet.
>> 
>> Your issue is probably on the storage array.  Storage arrays typically have an OS profile, and various advanced settings for how a LUN is exported to a client.  Storage arrays typically support SCSI Reservations, where the LUN must be reserved before it can be used.  Also, storage arrays typically have multiple controller cards, and typically an LUN is owned by one of the controllers at a time. The storage array can signal to the client via SCSI that it wants to move the the ownership to another controller.  With proper client support, migrating a LUN to another controller is typically hit-less. 
>> 
>> In your case, the storage array is probably configured to use one controller/path at a time.  And it is probably expecting to see specific SCSI messages between itself and the host.  These type of settings are typically set by the OS profile.
>> 
>> Generally, storage arrays work best if you only send IO to one controller at a time.  And this involves co-ordination between the array and the client using SCSI control messages.  Though active-active paths can usually be supported as well.
> 
> 
> Thank you for your reply. The SAN is an EMC VNX 5300. By default it presents LUNs using ALUA as failover mechanism. I though GEOM could not handle ALUA properly, so I changed the failover setting for this LUN, now the FreeBSD hang during boot. If I boot in single user mode, it boots completely but the result is the same default active path is not functioning correctly.
> 
> Tomorrow, I'll try another failover setting (dubbed "legacy"). The SAN also allows me to specify initiator type (default to Clariion), I'll dig into this setting to see if something exists that is more adapted to FreeBSD host.


Ok, I've tried a lot of things, but the problem is the same: I can create a gmultipath device, play with it, but it will always have very poor performances until providers are marked "FAIL".
Eventually it ends with this kind of situation:

# gmultipath status
              Name    Status  Components
multipath/SPLUNK_2  DEGRADED  da3 (PASSIVE)
                              da7 (FAIL)
                              da2 (ACTIVE)
                              da6 (FAIL)

If I play with every settings, I can come up with more than 70 combinations. Far more than I can afford to test, unfortunately. Unless a clever solution exists that I don't know yet, I'll have to give up on FreeBSD for this project.
I've asked EMC for support. Let's hope it does not end with a "not in compatibility matrix" answer.

Any help still appreciated...

Patrick



More information about the freebsd-scsi mailing list