Bug 452869 - [RFE] Enhance mpath_prio_hds_modular to more intelligently determine primary/secondary path LUNs
[RFE] Enhance mpath_prio_hds_modular to more intelligently determine primary/...
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: device-mapper-multipath (Show other bugs)
4.7
All Linux
medium Severity medium
: rc
: ---
Assigned To: LVM and device-mapper development team
Corey Marthaler
: FutureFeature, Triaged
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-06-25 10:43 EDT by Bryn M. Reeves
Modified: 2010-10-22 22:13 EDT (History)
17 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-08-26 11:39:58 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Bryn M. Reeves 2008-06-25 10:43:04 EDT
+++ This bug was initially created as a clone of Bug #452617 +++

Escalated to Bugzilla from IssueTracker

-- Additional comment from tao@redhat.com on 2008-06-24 00:22 EST --
We have an enhancement request regarding the /sbin/mpath_prio_hds_modular
utility which is shipped as part of device-mapper-multipath package.

That utility is used for inquiring against Active/Passive arrays' paths to see
which path ought to be primary and which ought to be secondary.  The way A/P
arrays work is that each lun has a default controller owning that path and
accessing that lun via non-default controller incurs a small performance
penatly... because of that you always want to access the luns via their
preferred paths.

The /sbin/mpath_prio_hds_modular when called against a path is used exactly for
that... for primary paths it returns 1 and for secondary paths it returns 0.

Example:

cwidb01 /ms/user/d/dankb/tmp 33# ./mpath_prio_hds_modular /dev/sda  0
cwidb01 /ms/user/d/dankb/tmp 34# ./mpath_prio_hds_modular /dev/sdb
1
cwidb01 /ms/user/d/dankb/tmp 35#


cwidb01 /ms/user/d/dankb/tmp 36# ./mpath_prio_hds_modular -v /dev/sda VENDOR: 
HITACHI
PRODUCT: DF600F         SERIAL:  0x0285
LDEV:    0x0000
CTRL:    1
PORT:    A
CTRL ODD, LDEV EVEN, PRIO 0
0
cwidb01 /ms/user/d/dankb/tmp 37# ./mpath_prio_hds_modular -v /dev/sdb
VENDOR:  HITACHI
PRODUCT: DF600F         SERIAL:  0x0285
LDEV:    0x0001
CTRL:    1
PORT:    A
CTRL ODD, LDEV ODD, PRIO 1
1
cwidb01 /ms/user/d/dankb/tmp 38#

The above just says that sda is the preferred path while sdb is not...  and the
-v output is just extra detail.

Now... the problem is that the logic which this utility is used to determine
which path is primary and which is secondary is solely based on the lun being
odd or even... that is not the case with most installations.  In our case, for
example, lun onwership is done by raid groups... and that is not being reflected
by mpath_prio_hds_modular's output as it's decision is only based on
oddness/evenness of the lun...

The code needs to be enhanced to actually query that from the array rather than
just make the decision purely based on lun number.

We thought maybe a later version of the pkg would have this fixed and just
downloaded multipath-tools-0.4.8 but see that it also has the primitive code
determining lun ownership.
Comment 4 RHEL Product and Program Management 2008-08-26 11:39:58 EDT
Product Management has reviewed and declined this request.  You may appeal this
decision by reopening this request.

Note You need to log in before you can comment on or make changes to this bug.