一.多路径的概念
从上图中可以看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.0 C05.0439-source.tar.gz上传到rhel5的目录下,然后执行解压
[root@localhost ~]# cd /tmp/
[root@localhost tmp]# ls
gconfd-root rdac-LINUX- 09.03.0 C05.0439-source.tar.gz ssh-hLaPQQ3621
[root@localhost tmp]# tar -zxf rdac-LINUX-09. 03.0C 05.0251-source.tar.g
[root@localhost tmp]# ls
gconfd-root rdac-LINUX- 09.03.0 C05.0439-source.tar.gz ssh-hLaPQQ3621
[root@localhost tmp]# tar -zxf rdac-LINUX-09. 03.0C 05.0251-source.tar.g
[root@localhost tmp]# ls
gconfd-root rdac-LINUX-09. 03.0C 05.0251-source.tar.gz
linuxrdac-09. 03.0C 05.0439 ssh-hLaPQQ3621
[root@localhost tmp]# cd linuxrdac-09. 03.0C 05.0439/
[root@localhost linuxrdac-09. 03.0C 05.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
gconfd-root rdac-LINUX-09. 03.0C 05.0251-source.tar.gz
linuxrdac-09. 03.0C 05.0439 ssh-hLaPQQ3621
[root@localhost tmp]# cd linuxrdac-09. 03.0C 05.0439/
[root@localhost linuxrdac-09. 03.0C 05.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.0C 05.0439]# make
make[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5.img'
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/MPP_hba.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_upper.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_sysdep.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppCmn_s2tos3.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppCmn_SysInterface.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhbamisc.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhbatask.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhba.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhbaproc.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhbalib.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhbaio.o
LD [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppUpper.o
LD [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppVhba.o
Building modules, stage 2.
MODPOST
CC /tmp/linuxrdac-09. 03.0C 05.0439/mppUpper.mod.o
LD [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppUpper.ko
CC /tmp/linuxrdac-09. 03.0C 05.0439/mppVhba.mod.o
LD [M] /tmp/linuxrdac-09. 03.0C 05.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.0C 05.0439 -I/tmp/linuxrdac-09. 03.0C 05.0439/mpp_linux_headers/ -I/tmp/linuxrdac-09. 03.0C 05.0439/mpp_linux_sys_headers/ -c ./utility/mppUtil.c -o mppUtil.o
/bin/bash ./genfileattributes bld
gcc -I/tmp/linuxrdac-09. 03.0C 05.0439 -I/tmp/linuxrdac-09. 03.0C 05.0439/mpp_linux_headers/ -I/tmp/linuxrdac-09. 03.0C 05.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
make[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5.img'
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/MPP_hba.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_upper.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_sysdep.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppCmn_s2tos3.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppCmn_SysInterface.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhbamisc.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhbatask.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhba.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhbaproc.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhbalib.o
CC [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppLnx26p_vhbaio.o
LD [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppUpper.o
LD [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppVhba.o
Building modules, stage 2.
MODPOST
CC /tmp/linuxrdac-09. 03.0C 05.0439/mppUpper.mod.o
LD [M] /tmp/linuxrdac-09. 03.0C 05.0439/mppUpper.ko
CC /tmp/linuxrdac-09. 03.0C 05.0439/mppVhba.mod.o
LD [M] /tmp/linuxrdac-09. 03.0C 05.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.0C 05.0439 -I/tmp/linuxrdac-09. 03.0C 05.0439/mpp_linux_headers/ -I/tmp/linuxrdac-09. 03.0C 05.0439/mpp_linux_sys_headers/ -c ./utility/mppUtil.c -o mppUtil.o
/bin/bash ./genfileattributes bld
gcc -I/tmp/linuxrdac-09. 03.0C 05.0439 -I/tmp/linuxrdac-09. 03.0C 05.0439/mpp_linux_headers/ -I/tmp/linuxrdac-09. 03.0C 05.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.0C 05.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.0C 05.0439 -I/tmp/linuxrdac-09. 03.0C 05.0439/mpp_linux_headers/ -I/tmp/linuxrdac-09. 03.0C 05.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):
[root@localhost linuxrdac-09. 03.0C 05.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.0C 05.0439 -I/tmp/linuxrdac-09. 03.0C 05.0439/mpp_linux_headers/ -I/tmp/linuxrdac-09. 03.0C 05.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
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
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格式化分区