RHEL6.4 RDAC安装方法

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:172

RDAC安装方法 首先把rdac的源文件拷贝到服务器上,rdac可以从管理软件SANtricity中的光盘中取得。Rdac的安装需要系统装好make,gcc等编译工具,此外还需要安装kernel-devel内核源码包在没安装rdac之前在已经映射存在多路径的情况下,自检或者fdisk-l查看磁盘会有io报错 这里以linuxrdac-99.03.0C00.0211.tar.gz版本为例首先解压软件tar –zxvf linuxrdac-99.03.0C00.0211.tar.gzroot@mu01 ~]# cd linuxrdac-99.03.0C00.0211/查看解压出的文件[root@mu01 linuxrdac-99.03.0C00.0211]# lsgenfileattributes mppiscsi_umountall mppLnx26p_vhbatask.cgenuniqueid.c mpp_linux_headers mpp_rcscript.REDHAThbaCheck mpp_linux_sys_headers mpp_rcscript.SUSELicense.txt mppLnx26p_sysdep.c mppSupportlsvdev mppLnx26p_upper.c Readme.txtMakefile mppLnx26p_vhba.c setupDriver.REDHATmppCmn_s2tos3.c mppLnx26p_vhbaio.c setupDriver.SUSEmppCmn_SysInterface.c mppLnx26p_vhbalib.c setupMpp26p.shmpp.conf mppLnx26p_vhbamisc.c utilityMPP_hba.c mppLnx26p_vhbaproc.c执行编译[root@mu01 linuxrdac-99.03.0C00.0211]# makemake[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64' CC [M] /root/linuxrdac-99.03.0C00.0211/MPP_hba.o CC [M] /root/linuxrdac-99.03.0C00.0211/mppLnx26p_upper.o CC [M] /root/linuxrdac-99.03.0C00.0211/mppLnx26p_sysdep.o CC [M] /root/linuxrdac-99.03.0C00.0211/mppCmn_s2tos3.o CC [M] /root/linuxrdac-99.03.0C00.0211/mppCmn_SysInterface.o CC [M] /root/linuxrdac-99.03.0C00.0211/mppLnx26p_vhbamisc.o CC [M] /root/linuxrdac-99.03.0C00.0211/mppLnx26p_vhbatask.o CC [M] /root/linuxrdac-99.03.0C00.0211/mppLnx26p_vhba.o CC [M] /root/linuxrdac-99.03.0C00.0211/mppLnx26p_vhbaproc.o CC [M] /root/linuxrdac-99.03.0C00.0211/mppLnx26p_vhbalib.o CC [M] /root/linuxrdac-99.03.0C00.0211/mppLnx26p_vhbaio.o LD [M] /root/linuxrdac-99.03.0C00.0211/mppUpper.o LD [M] /root/linuxrdac-99.03.0C00.0211/mppVhba.o Building modules, stage 2. MODPOST CC /root/linuxrdac-99.03.0C00.0211/mppUpper.mod.o LD [M] /root/linuxrdac-99.03.0C00.0211/mppUpper.ko CC /root/linuxrdac-99.03.0C00.0211/mppVhba.mod.o LD [M] /root/linuxrdac-99.03.0C00.0211/mppVhba.komake[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'make[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64' Building modules, stage 2. MODPOSTmake[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'gcc -g -I/root/linuxrdac-99.03.0C00.0211 -I/root/linuxrdac-99.03.0C00.0211/mpp_linux_headers/ -I/root/linuxrdac-99.03.0C00.0211/mpp_linux_sys_headers/ -c ./utility/mppUtil.c -o mppUtil.o/bin/bash ./genfileattributes bldgcc -g -I/root/linuxrdac-99.03.0C00.0211 -I/root/linuxrdac-99.03.0C00.0211/mpp_linux_headers/ -I/root/linuxrdac-99.03.0C00.0211/mpp_linux_sys_headers/ -c ./utility/mppUtil26p_sysdep.c -o mppUtilSysdep.ogcc mppUtil.o mppUtilSysdep.o -o mppUtilgcc -o genuniqueid genuniqueid.c执行安装,执行安装完毕后会被/boot目录下生成mpp开头的initrd内核映像文件[root@mu01 linuxrdac-99.03.0C00.0211]# make installmake[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64' Building modules, stage 2. MODPOSTmake[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'make[1]: Entering directory `/usr/src/kernels/2.6.18-164.el5-x86_64' Building modules, stage 2. MODPOSTmake[1]: Leaving directory `/usr/src/kernels/2.6.18-164.el5-x86_64'/bin/bash ./genfileattributes bldgcc -g -I/root/linuxrdac-99.03.0C00.0211 -I/root/linuxrdac-99.03.0C00.0211/mpp_linux_headers/ -I/root/linuxrdac-99.03.0C00.0211/mpp_linux_sys_headers/ -c ./utility/mppUtil26p_sysdep.c -o mppUtilSysdep.ogcc mppUtil.o mppUtilSysdep.o -o mppUtilChecking Host Adapter Configuration...iSCSI software initiator found. Do you want MPP to manage an iSCSI storage array?Do you want to continue (yes or no) ? yesPlease wait while we modify the system configuration files.Your kernel version is 2.6.18-164.el5Preparing to install MPP driver against this kernel version...Generating module dependencies...Creating new MPP initrd image...红色为生成的mpp 内核映像[root@mu01 ~]# cd /boot[root@mu01 boot]# lsconfig-2.6.18-164.el5 initrd-2.6.18-164.el5_old.img mpp-2.6.18-164.el5xen.img vmlinuz-2.6.18-164.el5config-2.6.18-164.el5xen initrd-2.6.18-164.el5xen.img symvers-2.6.18-164.el5.gz vmlinuz-2.6.18-164.el5xengrub initrd-2.6.18-164.el5xen_old.img symvers-2.6.18-164.el5xen.gz xen.gz-2.6.18-164.el5initrd-2.6.18-164.el5.img lost+found System.map-2.6.18-164.el5 xen-syms-2.6.18-164.el5initrd-2.6.18-164.el5kdump.img memtest86+-1.65 System.map-2.6.18-164.el5xen 接下来需要把grub的把内核指向新生成的mpp内核注意:linux系统可能存在多个内核,在哪个内核下编译的rdac生成的mpp映像对应的此内核例如下面的例子系统是在Red Hat Enterprise Linux Server (2.6.18-164.el5xen)内核下编译的那么把需要修改Red Hat Enterprise Linux Server (2.6.18-164.el5xen)内核的initrd指向新生成的mpp内核,假如想Red Hat Enterprise Linux Server (2.6.18-164.el5)内核下mpio软件生效需要进系统时选择进此内核然后然后在此内核下编译指向相应的mpp映像 更改前[root@mu01 grub]# cat grub.conf # grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to this file# NOTICE: You have a /boot partition. This means that# all kernel and initrd paths are relative to /boot/, eg.# root (hd0,0)# kernel /vmlinuz-version ro root=/dev/rootvg/lv0# initrd /initrd-version.img#boot=/dev/sdadefault=1timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle Red Hat Enterprise Linux Server (2.6.18-164.el5xen) root (hd0,0) kernel /xen.gz-2.6.18-164.el5 module /vmlinuz-2.6.18-164.el5xen ro root=/dev/rootvg/lv0 rhgb quiet module /initrd-2.6.18-164.el5xen.imgtitle Red Hat Enterprise Linux Server (2.6.18-164.el5) root (hd0,0) kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/rootvg/lv0 rhgb quiet initrd /initrd-2.6.18-164.el5.img更改后[root@mu01 grub]# cat grub.conf # grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to this file# NOTICE: You have a /boot partition. This means that# all kernel and initrd paths are relative to /boot/, eg.# root (hd0,0)# kernel /vmlinuz-version ro root=/dev/rootvg/lv0# initrd /initrd-version.img#boot=/dev/sdadefault=0timeout=5splashimage=(hd0,0)/grub/splash.xpm.gzhiddenmenutitle Red Hat Enterprise Linux Server (2.6.18-164.el5xen) root (hd0,0) kernel /xen.gz-2.6.18-164.el5 module /vmlinuz-2.6.18-164.el5xen ro root=/dev/rootvg/lv0 rhgb quiet module / mpp-2.6.18-164.el5xen.imgtitle Red Hat Enterprise Linux Server (2.6.18-164.el5) root (hd0,0) kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/rootvg/lv0 rhgb quiet initrd /initrd-2.6.18-164.el5.img查看多路径方法在radc make完毕后会生成mppUtil工具可以./mppUtil –g 0可以显示路径状态[root@mu01 linuxrdac-99.03.0C00.0211]# ./mppUtil -g 0Hostname = mu01Domainname = (none)Time = GMT 08/18/2010 11:58:53 MPP Information:---------------- ModuleName: AS1000G3 SingleController: N VirtualTargetID: 0x000 ScanTriggered: N ObjectCount: 0x000 AVTEnabled: N WWN: 60080e50001828f6000000004c60bd43 RestoreCfg: N ModuleHandle: none Page2CSubPage: Y FirmwareVersion: 7.60.34.xx ScanTaskState: 0x00000000 LBPolicy: LeastQueueDepth Controller 'A' Status:-----------------------ControllerHandle: none ControllerPresent: Y UTMLunExists: Y (007) Failed: N NumberOfPaths: 1 FailoverInProg: N ServiceMode: N Path #1 --------- DirectoryVertex: present Present: Y PathState: OPTIMAL PathId: 77020000 (hostId: 2, channelId: 0, targetId: 0) Controller 'B' Status:-----------------------ControllerHandle: none ControllerPresent: Y UTMLunExists: Y (007) Failed: N NumberOfPaths: 1 FailoverInProg: N ServiceMode: N Path #1 --------- DirectoryVertex: present Present: Y PathState: OPTIMAL PathId: 77010000 (hostId: 1, channelId: 0, targetId: 0) Lun Information--------------- Lun #0 - WWN: 60080e5000181d8c000005e94c6a1995 ---------------- LunObject: present CurrentOwningPath: A RemoveEligible: N BootOwningPath: A NotConfigured: N PreferredPath: A DevState: OPTIMAL ReportedPresent: Y ReportedMissing: N NeedsReservationCheck: N TASBitSet: Y NotReady: N Busy: N Quiescent: N Controller 'A' Path -------------------- NumLunObjects: 1 RoundRobinIndex: 0 Path #1: LunPathDevice: present DevState: OPTIMAL RemoveState: 0x0 StartState: 0x1 PowerState: 0x0 Controller 'B' Path -------------------- NumLunObjects: 1 RoundRobinIndex: 0 Path #1: LunPathDevice: present DevState: OPTIMAL RemoveState: 0x0 StartState: 0x1 PowerState: 0x0 Lun #1 - WWN: 60080e50001828f6000005b64c6a1a08 ---------------- LunObject: present CurrentOwningPath: B RemoveEligible: N BootOwningPath: B NotConfigured: N PreferredPath: B DevState: OPTIMAL ReportedPresent: Y ReportedMissing: N NeedsReservationCheck: N TASBitSet: N NotReady: N Busy: N Quiescent: N Controller 'A' Path -------------------- NumLunObjects: 1 RoundRobinIndex: 0 Path #1: LunPathDevice: present DevState: OPTIMAL RemoveState: 0x0 StartState: 0x1 PowerState: 0x0 Controller 'B' Path -------------------- NumLunObjects: 1 RoundRobinIndex: 0 Path #1: LunPathDevice: present DevState: OPTIMAL RemoveState: 0x0 StartState: 0x1 PowerState: 0x0 Lun #2 - WWN: 60080e5000181d8c000005ed4c6af8c9 ---------------- LunObject: present CurrentOwningPath: A RemoveEligible: N BootOwningPath: A NotConfigured: N PreferredPath: A DevState: OPTIMAL ReportedPresent: Y ReportedMissing: N NeedsReservationCheck: N TASBitSet: N NotReady: N Busy: N Quiescent: N Controller 'A' Path -------------------- NumLunObjects: 1 RoundRobinIndex: 0 Path #1: LunPathDevice: present DevState: OPTIMAL RemoveState: 0x0 StartState: 0x1 PowerState: 0x0 Controller 'B' Path -------------------- NumLunObjects: 1 RoundRobinIndex: 0 Path #1: LunPathDevice: present DevState: OPTIMAL RemoveState: 0x0 StartState: 0x1 PowerState: 0x0 Lun #3 - WWN: 60080e50001828f6000005b84c6af904 ---------------- LunObject: present CurrentOwningPath: B RemoveEligible: N BootOwningPath: B NotConfigured: N PreferredPath: B DevState: OPTIMAL ReportedPresent: Y ReportedMissing: N NeedsReservationCheck: N TASBitSet: N NotReady: N Busy: N Quiescent: N Controller 'A' Path -------------------- NumLunObjects: 1 RoundRobinIndex: 0 Path #1: LunPathDevice: present DevState: OPTIMAL RemoveState: 0x0 StartState: 0x1 PowerState: 0x0 Controller 'B' Path -------------------- NumLunObjects: 1 RoundRobinIndex: 0 Path #1: LunPathDevice: present DevState: OPTIMAL RemoveState: 0x0 StartState: 0x1 PowerState: 0x0 Lun #7 - WWN: 60080e50001828f6000004bc4c60bf47 ---------------- LunObject: none CurrentOwningPath: A RemoveEligible: N BootOwningPath: A NotConfigured: N PreferredPath: A DevState: OPTIMAL ReportedPresent: Y ReportedMissing: N NeedsReservationCheck: N TASBitSet: N NotReady: N Busy: N Quiescent: N Controller 'A' Path -------------------- NumLunObjects: 1 RoundRobinIndex: 0 Path #1: LunPathDevice: present UTMLunDevice: present DevState: OPTIMAL RemoveState: 0x0 StartState: 0x1 PowerState: 0x0 Controller 'B' Path -------------------- NumLunObjects: 1 RoundRobinIndex: 0 Path #1: LunPathDevice: present UTMLunDevice: present DevState: OPTIMAL RemoveState: 0x0 StartState: 0x1 PowerState: 0x0 此外还有个简单的查看路径方法通过/proc/mpp/或者/proc/scsi/mpp查看。因为不同的机型可能查看的文件不太一样不再说明可以根据机型在此目录下查看测试方法格式化存储然后挂载进入存储目录写一个50G的文件然后拔掉一个hba卡的光纤线测试,假如此lun正好是通过此hba卡访问的那么lun会进行控制器切换,切换会有一定的时间一般几十秒,在切换期间ls查看此目录的文件切换时间内会没有任何反应想hang死一样,切换完毕后就正常,切换完毕后插上此hba卡的线拔下另一个hba卡的线测试 dd if=/dev/zero of=test bs=10M count=5000

本文标签:
本文标题:RHEL6.4 RDAC安装方法
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】