How to mount a LUN from a Xiotech Emprise 5000 using multipathd on RHEL or CentOS 5.3

DO NOT DO THIS
turns out the multipath.conf example from xone is all sorts of wrong, it effectively gets ignored and you’re using the defaults (which it turns out work ok-ish). hopefully I’ll update here when I have two days to blow on the phone support game.

Well if you wanted to you could read the official xiotech docs which in turn reccomend you the redhat docs.  That would be a great way to kill a day in frustration while sifting through a lot of noise.  Here’s how to get a very basic example working quickly:

1.) make sure you have device-mapper-multipath installed

[jim@sql1 ~]$ rpm -qa | grep multi
device-mapper-multipath-0.4.7-23.el5_3.4

if you do, doesn’t hurt to yum update it. if not, install it.

2.) edit /etc/multipath.conf

first comment out the blacklist lines near the top

#blacklist {
#        devnode "*"
#}

then append this to the bottom

devices {
        device {
                vendor                  "XIOTECH "
                product                 "ISE1400         "
                path_grouping_policy    multibus
                getuid_callout          "/sbin/scsi_id -g -u -d /dev/%n"
                path_checker            tur
                prio_callout              "none"
                path_selector           "round-robin 0"
                failback                    immediate
                no_path_retry           12
                user_friendly_names yes
        }
}

3.) setup and prod multipath

[jim@sql1 ~]$ sudo /sbin/chkconfig multipathd on
[jim@sql1 ~]$ sudo /etc/init.d/multipathd start
Starting multipathd daemon:
[jim@sql1 ~]$ sudo /sbin/multipath -v2

notice it returns nothing, the redhat docs say it should, but it doesn’t. its just scanning the paths, if you want to see what it has discovered/conifgured run this:

[jim@sql1 ~]$ sudo /sbin/multipath -ll
mpath1 (36001f93000a63000019b000200000000) dm-2 XIOTECH,ISE1400
[size=100G][features=0][hwhandler=0][rw]
\_ round-robin 0 [prio=1][active]
 \_ 2:0:0:1 sdb 8:16  [active][ready]
\_ round-robin 0 [prio=1][enabled]
 \_ 3:0:0:1 sdc 8:32  [active][ready]

take note of the “mpath1″ part there

4.) filesystem stuff time

format the disk (I’m not bothering with fdisk/partitions or lvm in this example, complicate as you see fit)

[jim@sql1 ~]$ sudo /sbin/mkfs.ext3 /dev/mapper/mpath1
<snip>
[jim@sql1 ~]$ sudo mkdir /mnt/xio
[jim@sql1 ~]$ sudo vi /etc/fstab

and stick this line on the bottom

/dev/mapper/mpath1      /mnt/xio                ext3         defaults,noatime        1 1

then you’re pretty much set, mount it

[jim@sql1 ~]$ sudo mount /mnt/xio
[jim@sql1 ~]$ cd /mnt/xio/
[jim@sql1 xio]$ ls
lost+found
[jim@sql1 xio]$ sudo dd if=/dev/zero of=./foo bs=8k count=1310720
1310720+0 records in
1310720+0 records out
10737418240 bytes (11 GB) copied, 24.9054 seconds, 431 MB/s
[jim@sql1 xio]$

One Response to “How to mount a LUN from a Xiotech Emprise 5000 using multipathd on RHEL or CentOS 5.3”

  1. jim says:

    I was doing some large transfers the other day and out of curiosity checked the xiotech’s performance page. I noticed the iops were exlusively on one mrc and not the other. I’m not sure if thats just aggregated that way because of lun ownership on the controllers or if because this multipath config doesn’t work in the round-robin manner its supposed to. Haven’t had time to really dig into it though because in actuality active/passive is fine for me.

Leave a Reply