Linux (2.6 kernels) and Sun 6320s

Hi,

We have a number of 6320 arrays that we would like to access from x86-64 hosts running RedHat AS4. The hosts have dual port QLogic (QLE2462) HBAs.

The question is how do we achieve this with multipathing? Unfortunately Sun seem to have stopped development of Traffic Manager which worked with the 2.4 series kernels.

Our options seem to be:

(1) Linux 'native' multipathing via device-mapper-multipath

(2) QLogic HBA based failover

The problems for these methods are:

(1) device-mapper-multipath doesn't support the 6320s in either explicit (no hardware handler) or implicit (no path priority checker) modes.

(2) It doesn't seem to work! Perhaps certain array or module settings are needed?

I'm assuming somebody, somewhere must be running a 6xxx series array with modern linux distros......

Thanks

[875 byte] By [Unix-teama] at [2007-11-27 4:34:10]
# 1

Hi,

We have a number of 6320 arrays that we would like to access from x86-64 hosts running RedHat AS4. The hosts have dual port QLogic (QLE2462) HBAs.

The question is how do we achieve this with multipathing? Unfortunately Sun seem to have stopped development of Traffic Manager which worked with the 2.4 series kernels.

Our options seem to be:

(1) Linux 'native' multipathing via device-mapper-multipath

(2) QLogic HBA based failover

The problems for these methods are:

(1) device-mapper-multipath doesn't support the 6320s in either explicit (no hardware handler) or implicit (no path priority checker) modes.

(2) It doesn't seem to work! Perhaps certain array or module settings are needed?

I'm assuming somebody, somewhere must be running a 6xxx series array with modern linux distros......

Thanks

Hi Unix-team

We have a 6140 array with one x4100 running Fedora Linux 6 and have noticed the same issues.

I didn't have to much to do with installing or admining the box but the other admin informs me that he had to recompile the kernel with the Qlogic drivers.

i don't believe there is anything on the storage array that needs tweaking as most of the failover capabilities are done at the HBA level.

I'm looking into this problem as well so as soon as I get more info I'll post back and let you know what I found.

One thing I have kinda learn't is that the linux driver support isn't as good as Windows/Solaris etc

Dave

TheEspa at 2007-7-12 9:44:04 > top of Java-index,Storage Forums,Storage General Discussion...
# 2

for 6140, you can use the MPP RDAC driver (http://www.lsi.com/rdac/ds4000.html)

if your kernel is newer than the supported one, get a vanilla copy and recompile it with "make oldconfig".

there's also a rdac-devicemapper patch, see http://www.cs.wisc.edu/~michaelc/block/dm/dm-hw-handler/v4/

-- randy

_randy_a at 2007-7-12 9:44:04 > top of Java-index,Storage Forums,Storage General Discussion...
# 3

Hi,

We now have some progress on the 6320s.

See http://www.redhat.com/archives/dm-devel/2006-June/msg00088.html and the rest of the thread for the details but to summarise.

There exists (thanks to James Cassidy) a patch for device mapper multipath that creates a path priority checker for the 6320 arrays: mpath_prio_sun_tx

Now with the following multipath.conf file things sort of work:

defaults {

udev_dir/dev

polling_interval10

selector"round-robin 0"

path_grouping_policygroup_by_prio

getuid_callout "/sbin/scsi_id -g -u -s /block/%n"

prio_callout"/sbin/sbin/mpath_prio_sun_tx /dev/%n"

path_selector"round-robin 0"

path_checkertur

rr_min_io100

failbackimmediate

no_path_retryqueue

user_friendly_namesyes

}

And if we look at the output of the multipath tools we see:

SE6320-0 (360003baccb94900045b89be7000632f3)

[size=1638 GB][features=1 queue_if_no_path][hwhandler=0]

\_ round-robin 0 [prio=50][active]

\_ 1:0:0:0 sdb 8:16 [active][ready]

\_ round-robin 0 [prio=1][enabled]

\_ 2:0:0:0 sdf 8:80 [active][ghost]

SE6320-3 (360003baccb94900045b8a2b9000ec987)

[size=1638 GB][features=1 queue_if_no_path][hwhandler=0]

\_ round-robin 0 [prio=50][active]

\_ 2:0:0:6 sdi 8:128 [active][ready]

\_ round-robin 0 [prio=1][enabled]

\_ 1:0:0:6 sde 8:64 [active][ghost]

SE6320-2 (360003baccb94900045b8a0ee000eab02)

[size=1638 GB][features=1 queue_if_no_path][hwhandler=0]

\_ round-robin 0 [prio=50][active]

\_ 2:0:0:4 sdh 8:112 [active][ready]

\_ round-robin 0 [prio=1][enabled]

\_ 1:0:0:4 sdd 8:48 [active][ghost]

SE6320-1 (360003baccb94900045b89edb000104d2)

[size=1638 GB][features=1 queue_if_no_path][hwhandler=0]

\_ round-robin 0 [prio=50][active]

\_ 1:0:0:2 sdc 8:32 [active][ready]

\_ round-robin 0 [prio=1][enabled]

\_ 2:0:0:2 sdg 8:96 [active][ghost]

So we see that each LUN has two paths and one of these is active (prio=50) and one is dormant (prio=1). I've tested the failover by shutting down one of the fabric paths and things seem to cope reasonably well.

I've no idea if these pathches will ever make it into the main device mapper branch but it would be rather nice if they did!

Unix-teama at 2007-7-12 9:44:04 > top of Java-index,Storage Forums,Storage General Discussion...