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
# 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!