System Administration
cancel
Showing results for 
Search instead for 
Did you mean: 

DM Multipath with SVSP on SLES11 SP1

Andreas Haumer
Occasional Visitor

DM Multipath with SVSP on SLES11 SP1

We have a SVSP installation with two HP EVA 4400 as backend storage and two data path modules and want to integrate a SLES11 SP1 server with two HP AE312A HBA (QLogic based Dual Port FC 4GBit HBA), but this configuration seems to have problems with DM multipathing.

First, I could not install the HP DM Multipathing software package (HPDMmultipath-4.4.0) as SLES11 SP1 is not supported (only SLES11), but the multipath-tools in the HP package seems to be older (2007, v0.4.5?) than the SLES11 SP1 multipath-tools (v0.4.8), anyway.

I then tried to use the onboard utilities provided by SLES11 SP1 (multipath-tools-0.4.8-40.23.1, original SLES11 SP1 Linux kernel qla2xxx driver).
With that, I can successfully activate mutlipathing to a vDisk, but only if I use the paths active at mapping creation time! I have to blacklist the standby paths to get a working mapping:

blacklist {
[...]
devnode "^sdb[0-9]*"
devnode "^sdd[0-9]*"
devnode "^sdf[0-9]*"
devnode "^sdh[0-9]*"
}

# multipath -ll
svsp (3600a0b80001111550000ace86fa4734c) dm-8 HP,HSVX700
size=480G features='1 queue_if_no_path' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=4 status=active
|- 5:0:0:1 sda 8:0 active ready running
|- 7:0:0:1 sde 8:64 active ready running
|- 6:0:0:1 sdc 8:32 active ready running
`- 8:0:0:1 sdg 8:96 active ready running

I then can use this multipath device, create a filesystem, mount it, etc.

But if I use all 8 paths provided by SVSP (4 active, 4 standby), the multipath mapping creation is rejected and no mapping is created:

reject: svsp (3600a0b80001111550000ace86fa4734c) undef HP,HSVX700
size=480G features='1 queue_if_no_path' hwhandler='0' wp=undef
|-+- policy='round-robin 0' prio=0 status=undef
| |- 5:0:1:1 sdb 8:16 undef faulty running
| |- 6:0:1:1 sdd 8:48 undef faulty running
| |- 7:0:1:1 sdf 8:80 undef faulty running
| `- 8:0:1:1 sdh 8:112 undef faulty running
`-+- policy='round-robin 0' prio=4 status=undef
|- 5:0:0:1 sda 8:0 active ready running
|- 7:0:0:1 sde 8:64 active ready running
|- 6:0:0:1 sdc 8:32 active ready running
`- 8:0:0:1 sdg 8:96 active ready running

I tried various settings in /etc/multipath.conf but could not find a working one with all 8 paths enabled.
Even multipath-tools seems to provide a default configuration for this hardware (entry for HP HSVX700), which does not work, too.
But blacklisting the 4 standby paths in /etc/multipath.conf is not a real solution I want to use in production, of course.

Does anyone actually use this kind of setup (HP SVSP with SLES11 SP1) and can provide me with a working configuration example?

Or is this really a non supported setup? (I found a short HP knowledge base article which seems to indicate that SVSP DM multipathing is not supported yet(?) with Linux)

Many thanks in advance!
2 REPLIES
Andreas Haumer
Occasional Visitor

Re: DM Multipath with SVSP on SLES11 SP1

Hi!

We did some more testing and now we have a configuration which seems to work just as expected!

# multipath -ll
svsp (3600a0b80001111550000ace86fa4734c) dm-8 HP,HSVX700
size=480G features='1 queue_if_no_path' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=4 status=active
| |- 5:0:0:1 sda 8:0 active ready running
| |- 6:0:0:1 sdc 8:32 active ready running
| |- 7:0:0:1 sde 8:64 active ready running
| `- 8:0:0:1 sdg 8:96 active ready running
`-+- policy='round-robin 0' prio=2 status=enabled
|- 5:0:1:1 sdb 8:16 active ghost running
|- 8:0:1:1 sdh 8:112 active ghost running
|- 6:0:1:1 sdd 8:48 active ghost running
`- 7:0:1:1 sdf 8:80 active ghost running

The trick was to use option "hp_sw" for configuration parameter "path_checker".

My /etc/multipath.conf now contains the following settings:

defaults {
udev_dir /dev
polling_interval 10
selector "round-robin 0"
path_grouping_policy failover
getuid_callout "/lib/udev/scsi_id -g -u /dev/%n"
prio const
path_checker tur
rr_min_io 100
rr_weight uniform
failback immediate
no_path_retry 12
user_friendly_names yes
}

blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z][[0-9]*]"
devnode "^cciss!c[0-9]d[0-9]*"
}

multipaths {
multipath {
wwid 3600a0b80001111550000ace86fa4734c
alias svsp
}
}

device {
vendor "HP"
product "HSVX700"
path_grouping_policy group_by_prio
getuid_callout "/lib/udev/scsi_id -g -u /dev/%n"
path_checker hp_sw
path_selector "round-robin 0"
prio hp_sw
rr_weight uniform
failback immediate
hardware_handler "0"
rr_min_io 100
}

There might be room for optimization, but for now we are happy. All tests (reboot, failover, switchback, ...) did work fine.

Just in case someone is looking for a solution for the same problem... ;-)
Michael Leu
Honored Contributor

Re: DM Multipath with SVSP on SLES11 SP1

Very much appreciated! :-)

For compatibility check out SPOCK:
http://hp.com/storage/spock/ (select View by Array/OS)

It looks like SVSP 3 alone is not supported with SLES, but the EVA Cluster is... strange. And on RHEL they used the native Qlogic failover drives. I really hope they start supporting it with DM multipath.