1、RDAC安装配置手册(Linux)VER 1.0目录1概述51.1RDAC 功能介绍51.2RDAC体系架构介绍62RDAC安装配置步骤102.1RDAC安装准备102.2在Linux系统中RDAC的安装101 概述1.1 RDAC 功能介绍如果在DS4000存储设备中配置有2个控制器, 则在主机和存储设备间就有了实现冗余的I/O通路的基本保证. 有两种不同的方法可以实现冗余的I/O数据通路: 一个是由存储设备方的控制器固件提供的AVT/ADT (Auto Volume Transfer/Auto Disk Transfer)功能; 另一个就是由主机方提供的多路径驱动程序(multipath
2、driver), 如RDAC (Redundant Disk Array Controller).RDAC 和 AVT/ADT可以配合使用,也可以单独使用,下面就各种配置进行简单说明:1)、 RDAC与AVT/ADT同时使用如果主机操作系统有自己的多路径I/O处理机制, 如HP, 就不需要为其安装其它的软件. 如果主机操作系统没有多路径I/O软件,就需要使用RDAC驱动程序, 以使主机有多路径I/O处理机制. 当首选路径有问题时主机操作系统重定向I/O路径, AVT/ADT保证逻辑驱动器可以通过另一个控制器访问. 二者同时作用可确保存储设备上的逻辑驱动器有一条可用的I/O 通路. 在集群环境下
3、,经常会有一块逻辑驱动器同时会被多个主机访问,应根据各个集群的特点来的确定是否激活AVT/ADT的功能。2)、使用RDAC,关闭AVT/ADT如果DS4000关闭了AVT/ADT功能,主机端的RDAC还是能提供冗余的I/O路径。每一个逻辑驱动器还是有一个首选的控制器。 如果从主机到存储这条路径的某一部分有故障,RDAC可以使某一存储控制器管理下的所有逻辑驱动器全部转移到另一控制器上( AVT/ADT只移动受影响的逻辑驱动器)。此种情况下所有主机都必须安装RDAC多路径驱动程序(使用其他多路径驱动程序有可能发生当逻辑驱动器移动时,主机无法访问的问题),以保证在逻辑驱动器发生转移时主机仍可访问它们
4、。一旦问题解决,需要手动地将逻辑驱动器移到首选地控制器上。3)、 不使用RDAC,激活AVT/ADT如果主机不支持多路径驱动程序,还是可将其连到有两个控制器的DS4000上。每个逻辑驱动器还会有首选的控制器。但是当访问路径出问题时,无法切换到另一可用路径,使得数据访问失败。下表例出了主机操作系统 与 RDAC 和AVT/ADT之间不同设置情况下的使用情况。operating systemMultipath driver namemultipath driver and AVT/ADT enabledmultipath driver and AVT/ADT disenabledwindows N
5、T 4.0DS4000 RDACyesyeswindows 2000DS4000 RDACyesyesAIXDS4000 RDACnoyesSolarisDS4000 RDACyesyesHP-UX HP PV-Linksyesno1.2 RDAC体系架构介绍 RDAC is the term used in packaging and documentation Uses Multi-Path Proxy Driver (MPP) Platform independent architecture for creating failover drivers on various OS pla
6、tforms Currently (9.1) supported on Windows 2000/2003 and Linux RDAC is two drivers Bus/filter driver (rdacbus.sys) Disk driver (rdacdisk.sys) Driver split necessary due to Windows 2003 architectural changes, while retaining compatibility with Windows 2000. Separate driver binaries for 32/64-bitADT/
7、AVT介绍:AVT(Auto Volume Transfer)是ADT (Auto Logical Drive Transfer) 原来的名字。它的功能是使失效切换发生在逻辑卷级别,ADT内嵌于DS4000系列的微码中。 如果禁用ADT,失效切换将发生在控制器级别。一个完整的切换过程是需要安装在主机端的RDAC、MPP或第三方的多路径软件(DMP,MPIO,PVlink,Qlogical Failover Driver.)和内嵌于DS4000控制器的微码中的ADT配合使用。其中ADT不是必须的。切换示意图如下:DS4000 Storage Manager中对各个操作系统的ADT/AVT状态定义
8、:这里列出了各种主机类型下默认的ADT状态:ADT状态 主机类型0DisabledDEFAULT1DisabledWindows NT Clustered (SP5 or higher)2DisabledWindows 2000/Server 2003 Non-Clustered3DisabledWindows 2000/Server 2003 Clustered4DisabledNetWare-IBMSAN5EnabledLinux6 (Default)DisabledAIX7EnabledHP-UX8DisabledSolaris9EnabledWindows 2000/Server 20
9、03 Non-Clustered (supports DMP)10DisabledIrix11EnabledNetware Failover12EnabledIBM TS SAN VCE13DisabledLNXCL14EnabledSolaris (with Veritas DMP)15EnabledWindows 2000/Server 2003 Clustered (supports DMP)在Linux环境下禁用ADT/AVT功能:有两种方法在Linux环境下禁用ADT:如果需要打开ADT,就选择主机类型为Linux。如果需要禁用ADT,就选择主机类型为LNXCL。如果主机类型是Lin
10、ux,可以运行脚本DisableADT_Linux.scr,这样即使选择主机类型为Linux,ADT也是关闭的。2 RDAC安装配置步骤2.1 RDAC安装准备对Linux 操作系统的要求Note: DS4800 需要控制器微码版本: 06.16.xx.xx, 06.15.xx.xx or 06.14.xx.xx. 2.2 在Linux系统中RDAC的安装2.2.1 RDAC安装规划1.存在2种Linux RDAC 软件包,每个类型的内核各一种: 2.4 kernel (RHEL 3 and SLES 8)2.6 kernel (RHEL 4 and SLES 9)确认给系统安装了正确的Lin
11、ux RDAC 。 (注意:这2种RDAC软件包都不能用在POWER-based 主机的Linux上,对于POWER系统的Linux上的RDAC的安装请参考IBM TotalStorage DS4000 Storage Manager Installation and Support Guide for AIX, HP-UX , Solaris, and Linux on POWER.) 2. 要参看readme文件,这里包含了对Linux RDAC 软件包的最新介绍和相关的一些条件及限制。必须在与DS4800连接的每一台Linux主机上都要安装RDAC, RDAC软件包安装了多路径设备的驱动
12、,这对于controller failover 支持是非常必要的,安装完RDAC后系统需要重启,所以在安装RDAC之前必须安装non-failover 版本的 fibre channel HBA 设备驱动。2.2.2 RDAC安装限制1. Linux RDAC 驱动不能与HBA-level的多路径 failover/failback 驱动共存,必须修改这类驱动使其处在non-failover 模式,另外, 要参照Linux RDAC readme文件,看对于该版本Linux RDAC 所需要的Fibre Channel HBA 设备驱动的最小版本。2. SteelEye LifeKeeper
13、Clustering 当前仅支持8个LUNs. 用下列方法安装LifeKeeper cluster: a. 用以下的设置重新编译fibre channel Host Bus Adapter 驱动:在qla_settings.h 文件里将QLA2X_PERFORMANCE 设置为 0.b.改变etc/default/LifeKeeper 文件的下列设置: LCMHBEATTIME=5 LCMNUMHBEATS=16c. 完成以上的设置后重启Linux 主机。3. 当配置Linux主机时,当前所有应用于DS4000的限制也将应用于该Linux RDAC release. 4. 该Linux RDA
14、C release并不支持auto-volume transfer/auto-disk transfer (AVT/ADT)模式. AVT/ADT会自动enable Linux 存储分区的主机类型. 用bundled在 IBM Linux RDAC Web package里的脚本或在DS4000 Storage Manager Version 9 Linux CD的Scripts 目录里的脚本将其Disable 。脚本文件名是DisableAVT_Linux.scr。用下列步骤 disable Linux主机类型分区的 AVT/ADT模式:l 打开DS4000 Storage Manager
15、Enterprise Management 窗口 l Highlight 存储系统-DS4800 l 选择Tools. l 选择 Execute Script,一个script 编辑窗口打开. l 在该窗口选择Filel 选择Load Script l 对脚本文件给出全路径名 (例如, /scripts/DisableAVT_Linux.scr) 然后点击OK. l 选择 Tools. l 选择 Verify and Execute. 5. Linux SCSI layer 不支持skipped (sparse) LUNs.假设映射给主机的LUNs不毗邻,则Linux kernel 将不会扫描
16、到remaining LUNs。 因此,对于主机系统skipped LUN 不可用。 总是用连贯的LUN 号映射LUNs,并使用Storage Manager hot_add utiliy 程序。 6. 如果主机有多个HBA端口并且每个HBA端口都能看到2个controllers (over an un-zoned switch), 则Linux RDAC 驱动在controller failover期间可能返回I/O 错误。这种情况要对FC Switches进行划Zone,以使每个HBA端口仅能看见DS4000里的一个controller。7. 当RDAC 驱动检测到一个DS4000 Sto
17、rage Server的所有路径failed时,会立即报告I/O failure. 该行为与IBM fibre channel HBA failover 驱动不同,IBM fibre channel HBA failover 驱动在报告到主机应用的I/O failure之前将等待一段时间,对于此种行为上的不同没有work-around。8. 如果没有存储连接,RDAC是不可能加载virtual HBA driver ,The work-around for this inability将连接主机到DS4000 storage serve并运行hot_add utility。注: 如果没有LUN
18、s映射给DS4000上的主机分区,hot_add utility 不会生成mpp_Vhba module。9. 在Linux RDAC 驱动里仅在5.4x.xx.xx 或以后的微码版本里支持 cluster。10. Linux RDAC驱动不支持LUN deletion.在删除mapping的LUNs之后有必要重启主机 。11.无论何时卸载RDAC,建议重启系统。2.2.3 RDAC安装前提 1. Linux RDAC 驱动is released作为一个 source-code package in the format of a gunzip compressed tar file. 在Li
19、nux console窗口输入下列命令进行解包: tar -zxvf rdac-LINUX-xx.xx.xx.xx-source.tar.gz 注:xx.xx.xx.xx 是RDAC驱动的release 版本号. 源文件将解压到linuxrdac或linuxrdac- 目录 (是指RDAC版本; 例如, linuxrdac-09.01.B5.01). 2. 在安装Linux RDAC驱动之前,正确地在主机上安装non-failover fibre channel HBA 设备驱动。看fibre channel HBA 设备驱动readme文件或fibre channel HBA User Gu
20、ide以指导设备驱动的non-failover 版本。如果需要从source tree建立non-failover fibre channel HBA 设备驱动,the driver source tree被包含在 source-code package里,RDAC安装之前,该驱动必须被加载。3. 在Linux OS 属性文件里检查下列entries :a. 在 RedHat RHEL 3.0 主机上, 假设在 /etc/modules.conf文件里对于physical HBA drivers有一个scsi_hostadapter entry,如果系统有IBM FC2-133 FC HBA,
21、 将有一个scsi_hostadapter entry 类似于别名scsi_hostadapterx qla2300.b. 在 SuSE SLES 8主机上,假设low-level HBA driver 名称被包含在/etc/sysconfig/kernel文件里的INITRD_MODULES 字符串,例如,如果系统有IBM FC2-133 FC HBA, 则INITRD_MODULES 字符串将包含字母qla2300.4. 保证RDAC 安装之前kernel source tree against which to build the Linux kernel version 已被安装。2.
22、2.4 RDAC安装步骤For SuSE distribution only: 1. 从SuSE distribution安装kernel-source. 2. 创建到kernel source 的soft link。ln -sf /usr/src/ /usr/src/linux. 3. 确认kernel 版本synchronization between the driver and running kernel, 在Linux console窗口输入下列命令,输入每一个命令都按Enter. cd /usr/src/linux make mrproper (completely clean
23、the kernel tree)- cp /boot/config-uname -r .config (copy the new config)make oldconfig (update configuration using .config) make dep (rebuild the dependencies)make modules (build the modules-not require on newer kernel version)RDAC driver building for SuSE and RedHat:1. 改变到 linuxrdac 目录. 2. 在该目录移走旧的
24、驱动模块,输入命令: make clean 3. 按 Enter.4. 在多CPU(SMP kernel)的主机上编译所有的driver modules和 utilities, 输入命令:make 5. 按 Enter.RDAC driver installation: 1. 拷贝driver modules 到the kernel module tree 并建立新的RAMdisk image (mpp.img) ,里面包含了RDAC driver modules和在启动期间所需要的所有的driver modules ,输入make install 并按Enter。2.跟随在创建进度末尾展示的
25、指令添加一个新的启动菜单选项,用 /boot/mpp-.img 作为初始的RAMdisk image. 3. 在接近Linux RDAC安装末尾时,如果看到错误信息All of your loopback devices are in use; 则 RDAC RAMDISK 没被创建;安装失败,在Linux console输入下列命令:重要提示:如果系统是RedHat RHEL 3.0, 注意编辑脚本 /sbin/mkinitrd 在下列范围改到3000 to 15000: 下面的指令可能适用于某些RedHat kernel 版本. 添加ramdisk_size=15000 作为一个 kern
26、el boot 参数在新的启动选项里,类似于下面的grub.conf 例子:RDAC driver post-installation: 1. 用新的启动菜单选项重启系统。2. 输入lsmod 已确认driver stack被正确加载。Note: On Red Hat distributions, the following modules should be loaded: scsi_mod, sd_mod, sg, mpp_Upper, mpp_Vhba(*), and Fibre Channel HBA drivers (for example, qla2300).On SuSE dis
27、tributions, the following modules should be loaded: sg, mpp_Upper, mpp_Vhba(*) Fibre Channel HBA drivers. 3. 确认RDAC driver 发现了可用的physical LUNs 并为physical LUNs创建了virtual LUNs ,输入命令ls -lR /proc/mpp 然后按 Enter. 4. 现在能执行到LUNs的I/Os 访问了。5. If you make any changes to the MPP configuration file (/etc/mpp.con
28、f) or the persistent binding file (/var/mpp/devicemapping), run mppUpdate to rebuild the RAMdisk image and to include the new file so that the new configuration file (or persistent binding file) can be used on any subsequent system reboot.6. The file /etc/syslog.conf should have entries for kern.debug, kern.notice, kern.info and kern.warning in order to capture all debug and error messages for MPP driver. Page 12 of 12