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]$
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.