一.多路径的概念
 澶氳矾寰勫師鐞嗗浘
从上图中可以看RaidA映射给Server的Lun可以通过两条路径(paths),这时在Server会看到两不同的Lun,事实是同一个Lun,这就需要做多路径聚合,让不同路径的Lun聚合成同一个Lun,这就是多路径的作用。
 
二.IBM DS在Rhel5或6的多路径软件RDAC
RDAC下载路径:http://www.lsi.com/sep/Pages/rdac/index.aspx#current 下载相应多路径软件,主要看内核版本(uname -a)和位数,但是大版本尽量相同,例如rhel5.5就尽量找5.5的,若是没有相同版本,那么就找内核相同的
 
三.举例,例如Rhel5.4_64bit,由于以上网站没Rhel5.4_64bit的相版本,最后下载了内核相同的版本,如下
 
四.把rdac-LINUX-09.03.0C05.0439-source.tar.gz上传到rhel5的目录下,然后执行解压
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# ls
gconfd-root rdac-LINUX-09.03.0C05.0439-source.tar.gz ssh-hLaPQQ3621
[root@localhost tmp]# tar -zxf rdac-LINUX-09.03.0C05.0251-source.tar.g
[root@localhost tmp]# ls
gconfd-root                rdac-LINUX-09.03.0C05.0251-source.tar.gz
linuxrdac-09.03.0C05.0439 ssh-hLaPQQ3621
[root@localhost tmp]# cd linuxrdac-09.03.0C05.0439/
[root@localhost linuxrdac-09.03.0C05.0439]# ls
genfileattributes      mppiscsi_umountall     mppLnx26p_vhbatask.c
genuniqueid.c          mpp_linux_headers      mpp_rcscript.REDHAT
hbaCheck               mpp_linux_sys_headers mpp_rcscript.SUSE
License.txt            mppLnx26p_sysdep.c     mppSupport
lsvdev                 mppLnx26p_upper.c      Readme.txt
Makefile               mppLnx26p_vhba.c       setupDriver.REDHAT
mppCmn_s2tos3.c        mppLnx26p_vhbaio.c     setupDriver.SUSE
mppCmn_SysInterface.c mppLnx26p_vhbalib.c    setupMpp26p.sh
mpp.conf               mppLnx26p_vhbamisc.c   utility
MPP_hba.c              mppLnx26p_vhbaproc.c
 
五.安装RDAC
解压后大部分都是二进制文件,需要进编译(指令:make)
[root@localhost lmake clean     -----清除旧文件与驱动程序模块
[root@localhost linuxrdac-09.03.0C05.0439]# make
make[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5.img'
CC [M] /tmp/linuxrdac-09.03.0C05.0439/MPP_hba.o
CC [M] /tmp/linuxrdac-09.03.0C05.0439/mppLnx26p_upper.o
CC [M] /tmp/linuxrdac-09.03.0C05.0439/mppLnx26p_sysdep.o
CC [M] /tmp/linuxrdac-09.03.0C05.0439/mppCmn_s2tos3.o
CC [M] /tmp/linuxrdac-09.03.0C05.0439/mppCmn_SysInterface.o
CC [M] /tmp/linuxrdac-09.03.0C05.0439/mppLnx26p_vhbamisc.o
CC [M] /tmp/linuxrdac-09.03.0C05.0439/mppLnx26p_vhbatask.o
CC [M] /tmp/linuxrdac-09.03.0C05.0439/mppLnx26p_vhba.o
CC [M] /tmp/linuxrdac-09.03.0C05.0439/mppLnx26p_vhbaproc.o
CC [M] /tmp/linuxrdac-09.03.0C05.0439/mppLnx26p_vhbalib.o
CC [M] /tmp/linuxrdac-09.03.0C05.0439/mppLnx26p_vhbaio.o
LD [M] /tmp/linuxrdac-09.03.0C05.0439/mppUpper.o
LD [M] /tmp/linuxrdac-09.03.0C05.0439/mppVhba.o
Building modules, stage 2.
MODPOST
CC      /tmp/linuxrdac-09.03.0C05.0439/mppUpper.mod.o
LD [M] /tmp/linuxrdac-09.03.0C05.0439/mppUpper.ko
CC      /tmp/linuxrdac-09.03.0C05.0439/mppVhba.mod.o
LD [M] /tmp/linuxrdac-09.03.0C05.0439/mppVhba.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5.img'
make[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5.img'
Building modules, stage 2.
MODPOST
make[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5.img'
gcc -I/tmp/linuxrdac-09.03.0C05.0439 -I/tmp/linuxrdac-09.03.0C05.0439/mpp_linux_headers/ -I/tmp/linuxrdac-09.03.0C05.0439/mpp_linux_sys_headers/ -c ./utility/mppUtil.c -o mppUtil.o
/bin/bash ./genfileattributes bld
gcc -I/tmp/linuxrdac-09.03.0C05.0439 -I/tmp/linuxrdac-09.03.0C05.0439/mpp_linux_headers/ -I/tmp/linuxrdac-09.03.0C05.0439/mpp_linux_sys_headers/ -c ./utility/mppUtil26p_sysdep.c -o mppUtilSysdep.o
gcc mppUtil.o mppUtilSysdep.o -o mppUtil
gcc -o genuniqueid genuniqueid.c
-----如果有报错根据报错修改,此次没报错,还有编译的内容不一样,显示出来的都有所不同
[root@localhost linuxrdac-09.03.0C05.0439]#
make install
make[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5.img'
Building modules, stage 2.
MODPOST
make[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5.img'
make[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5.img'
Building modules, stage 2.
MODPOST
make[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5.img'
/bin/bash ./genfileattributes bld
gcc -I/tmp/linuxrdac-09.03.0C05.0439 -I/tmp/linuxrdac-09.03.0C05.0439/mpp_linux_headers/ -I/tmp/linuxrdac-09.03.0C05.0439/mpp_linux_sys_headers/ -c ./utility/mppUtil26p_sysdep.c -o mppUtilSysdep.o
gcc mppUtil.o mppUtilSysdep.o -o mppUtil
Checking Host Adapter Configuration...
Detected 1 Emulex Host Adapter Port(s) on the system
Detected 1 LSI Host Adapter Port(s) on the system
Host Adapters from different supported vendors co-exists on your system.
Please wait while we modify the system configuration files.
Your kernel version is 2.6.18-164.el5
Preparing to install MPP driver against this kernel version...
Generating module dependencies...
Creating new MPP initrd p_w_picpath...
        You must now edit your boot loader configuration file, /boot/grub/menu.lst, to
        add a new boot menu, which uses mpp-2.6.18-164.el5.img as the initrd p_w_picpath.
        Now Reboot the system for MPP to take effect.
        The new boot menu entry should look something like this (note that it may
        vary with different system configuration):

        ...

                title Red Hat Linux (2.6.18-164.el5) with MPP support
                root (hd0,5)
                kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=RH9
               
initrd /
initrd-2.6.18-164.el5.img

        ...
MPP driver package has been successfully installed on your system.
------此次已经把驱动程序的安装包成功安装到操作系统上
 
六.检查生成文件与修改引导镜像
[root@localhost ~]# cd /boot/
[root@localhost boot]# ls
config-2.6.18-164.el5
grub
initrd-2.6.18-164.el5.img
initrd-2.6.18-164.el5kdump.img
lost+found
mpp-2.6.18-164.el5.img

symvers-2.6.18-164.el5.gz
System.map-2.6.18-164.el5
vmlinuz-2.6.18-164.el5
 
修改menu.lst

/boot/grub/menu.lst 文件做好备份
redhat5.5
所在目录/boot/grub/menu.lst

把menu.lst最后一条目录initrd /initrd-2.6.18-164.el5.img
修改成initrd /mpp-2.6.18-164.el5.img  (事实就是把initrd修改成mpp)
重启rhel服务器,使用fdisk -l 进去查看,此时会把不同路径相同lun的sdn(n=b,c,d......)聚合成一个sdn,还可以使用fdisk /dev/sdn创建分区,使用 mkfs格式化分区