this is obsolete doc -- see http://doc.nethence.com/ instead

HBA & multipathing on RHEL 

 

 

Introduction 

The firmware gets updated by the driver or each time the "qla2300" or "qla2400" modules are loaded. Drivers need specific firmware versions. Nevertheless here's QLogic firmware repo : ftp://ftp.qlogic.com/outgoing/linux/firmware/ 

 

Note. it's ok to have a more recent BIOS than firmware, but not the contrary.  

 

 

Driver & Firmware installation 

The driver should be included into the RHEL distribution. If not, use constructor's provided one e.g., 

- HP Approved Software : http://driverdownloads.qlogic.com/QLogicDriverDownloads_UI/Product_detail.aspx?oemid=21 

- IBM Supported Software : http://driverdownloads.qlogic.com/QLogicDriverDownloads_UI/IBM.aspx?companyid=6 

make sure you have the gcc package, 

rpm -q gcc

and install the driver, 

./INSTALL -h
./INSTALL -f -a

 

Note. make sure the default binary isn't a link to gcc 2.95 (as it's sometimes the case on Oracle installs), 

ll /usr/bin/gcc

or check that the gcc version matches the distribution build, 

dmesg | head -1
/usr/bin/gcc --version

 

 

Driver, firmware and BIOS versions 

To check the driver and firmware versions, 

cat /proc/scsi/qla2300/1 | grep Firmware

 

To check the BIOS version, either note it during machine's boot process, or use SANsurfer. 

 

 

SANsurfer installation 

Install the SANsurfer agent on the server and use the SANsurfer Windows GUI to access it. Note. the default password for SANsurfer is "config". 

 

 

BIOS update 

SANsurfer allows you to update HBA's BIOS, FCode and NVRAM (if you do so, read multi-boot's image release notes). 

 

 

Failover & multipathing 

SANsurfer 

SANsurfer also allows you to configure failover and multipathing. It uses that module, 

qla2xxx_conf

with that configuration file, 

/etc/hba.conf

 

DS4000 

Prerequesties, 

yum install kernel-devel kernel-headers gcc 

yum update kernel 

sync 

reboot 

and check after boot, 

uname -r

ls -l /lib/modules 

 

Install IBM RDAC, 

tar xvzf rdac-LINUX-09.03.0C05.0030-source.tar.gz 

cd linuxrdac-09.03.0C05.0030 

make clean 

make 

make install 

 

Edit GRUB, 

cd /boot/grub 

vi menu.lst 

add above the other titles (default=0), 

title CentOS (2.6.18-164.el5) with MPP support 

root (hd0,0) 

kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ 

initrd /mpp-2.6.18-164.el5.img 

N.B. change kernel package version accordingly 

 

Reboot and before Redhat starts up, connect the fiber channel cables, 

shutdown -r now 

once started check everything's fine, 

fdisk -l 

sfdisk -s 

Note. you should see one multipathed disk per LUN, as sdX. 

 

Redhat multipathing 

Prerequesties, 

rpm -q device-mapper-multipath

 

Configure, 

cd /etc
mv multipath.conf multipath.conf.dist
sed '/^#/d; /^$/d' multipath.conf.dist > multipath.conf
vi multipath.conf 

change to blacklist local harddrive only, 

blacklist {
        devnode "sda"
}

enable, 

service multipathd start
chkconfig multipathd on

check everything's fine, 

fdisk -l
sfdisk -s

 

Note. SLES names it "multipath-tools" 

Note. the old method was to use an "md" raid device on both pathes, treating one path as spare, 

#mdadm --create -f -lmp -n2 -x1 /dev/md0 /dev/<channela> /dev/<channelb>

DM Multipath : http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/en-US/RHEL510/DM_Multipath/index.html 

Note. make sure write cach mirroring is enabled (http://marc.info/?l=linux-lvm&m=108690553031551&w=2). 

 

EMC 

Use PowerPath. Also install "navihostagent" and "navicli". 

 

IBM ESS, DS600, DS9000 

Use "sdd" for failover and load balancing. 

 

 

References 

Welcome to SPOCK : http://h20272.www2.hp.com/ 

BIOS : http://en.wikipedia.org/wiki/BIOS 

Extensible Firmware Interface : http://en.wikipedia.org/wiki/Extensible_Firmware_Interface 

FCode : http://en.wikipedia.org/wiki/Open_Firmware#Advantages 

NVRAM : http://en.wikipedia.org/wiki/NVRAM 

Firmware : http://en.wikipedia.org/wiki/Firmware 

 

Multipathing with Qlogic HBAs - failover and LUN load balancing : https://twiki.cern.ch/twiki/bin/view/PSSGroup/Multipathing 

Device-mapper Resource Page : http://sources.redhat.com/dm/ 

LVM2 Resource Page : http://sources.redhat.com/lvm2/ 

 

[linux-lvm] LVM - Multipath / Failover : http://www.redhat.com/archives/linux-lvm/2003-September/thread.html#00160 

[linux-lvm] Multipath without round-robin? : http://www.redhat.com/archives/linux-lvm/2004-June/thread.html#00053 

How do I modify my modules.conf file so my external fiber channel disks stop showing up as /dev/sda and my internal drives as /dev/sdb? : http://kbase.redhat.com/faq/docs/DOC-8079 

How do I modify the /etc/modules.conf file? : http://kbase.redhat.com/faq/docs/DOC-6919 

 

How to setup / use multipathing on SLES : http://support.novell.com/techcenter/sdb/en/2005/04/sles_multipathing.html 

[suse-oracle] qla2xxx failover : http://lists.suse.com/archive/suse-oracle/2005-Apr/index.html#138