Skip to main content

HBA & multipathing on RHEL

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

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.,
make sure you have the gcc package,
rpm -q gcc
and install the driver,
./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 also allows you to configure failover and multipathing. It uses that module,
with that configuration file,

yum install kernel-devel kernel-headers gcc
yum update kernel
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 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
rpm -q device-mapper-multipath

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"
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>
Note. make sure write cach mirroring is enabled (

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

IBM ESS, DS600, DS9000
Use "sdd" for failover and load balancing.

Popular posts from this blog


The BCD registry file controls which operating system installation starts and how long the boot manager waits before starting Windows. Basically, it’s like the Boot.ini file in earlier versions of Windows. If you need to edit it, the easiest way is to use the Startup And Recovery tool from within Vista. Just follow these steps: 1. Click Start. Right-click Computer, and then click Properties. 2. Click Advanced System Settings. 3. On the Advanced tab, under Startup and Recovery, click Settings. 4. Click the Default Operating System list, and edit other startup settings. Then, click OK. Same as Windows XP, right? But you’re probably not here because you couldn’t find that dialog box. You’re probably here because Windows Vista won’t start. In that case, you shouldn’t even worry about editing the BCD. Just run Startup Repair, and let the tool do what it’s supposed to. If you’re an advanced user, like an IT guy, you might want to edit the BCD file yourself. You can do this

DNS Scavenging.

                        DNS Scavenging is a great answer to a problem that has been nagging everyone since RFC 2136 came out way back in 1997.  Despite many clever methods of ensuring that clients and DHCP servers that perform dynamic updates clean up after themselves sometimes DNS can get messy.  Remember that old test server that you built two years ago that caught fire before it could be used?  Probably not.  DNS still remembers it though.  There are two big issues with DNS scavenging that seem to come up a lot: "I'm hitting this 'scavenge now' button like a snare drum and nothing is happening.  Why?" or "I woke up this morning, my DNS zones are nearly empty and Active Directory is sitting in a corner rocking back and forth crying.  What happened?" This post should help us figure out when the first issue will happen and completely avoid the second.  We'll go through how scavenging is setup then I'll give you my best practices.  Scavenging s

AD LDS – Syncronizing AD LDS with Active Directory

First, we will install the AD LDS Instance: 1. Create and AD LDS instance by clicking Start -> Administrative Tools -> Active Directory Lightweight Directory Services Setup Wizard. The Setup Wizard appears. 2. Click Next . The Setup Options dialog box appears. For the sake of this guide, a unique instance will be the primary focus. I will have a separate post regarding AD LDS replication at some point in the near future. 3. Select A unique instance . 4. Click Next and the Instance Name dialog box appears. The instance name will help you identify and differentiate it from other instances that you may have installed on the same end point. The instance name will be listed in the data directory for the instance as well as in the Add or Remove Programs snap-in. 5. Enter a unique instance name, for example IDG. 6. Click Next to display the Ports configuration dialog box. 7. Leave ports at their default values unless you have conflicts with the default values. 8. Click N