- 论坛徽章:
- 0
|
问题终于搞定了,以下为故障解决方法\r\n\r\nLinux下使用HP MSL 6060磁带库\r\n硬件:\r\n服务器:Dell PowerEdge 6650 \r\nHBA卡:Qlogic 2312\r\n软件:\r\nOS:RedFlag Linux DC Server 4.1 SP1 x86\r\nmtx:mtx-1.2.18-1.i386.rpm\r\nHBA卡驱动:\r\n(SP1系统核心默认用的qla驱动为7.02,只要qla驱动高于或者等于7.06都可以识别到机械手)\r\nqla2x00-v7.07.06-dc4.1-sp1-ia32.tgz\r\nhp_qla2x00-7.07.05.08-dc4.1-sp1-ia32.tgz\r\n\r\n\r\n几点需要注意:\r\n1. 系统能否识别磁带库的机械手,主要取决于HBA的驱动;若通过HBA能够识别到磁带库的驱动器(st0)设备,而不能识别机械手,可以通过更新HBA驱动解决(HBA驱动建议用磁带库厂家提供的)\r\n2. 系统识别机械手的设备号在重启系统之后会改变,可以通过scsidev软件来绑定\r\n3. 使用mtx作磁带库操作建议会阅读MAN文档\r\n\r\n使用MSL 6000磁带库操作步骤如下:\r\n一. 更新qla驱动\r\n1. 确认QLA驱动版本型号\r\ncat /proc/scsi/qla2300/2或者3,文件头会显示QLA Driver version\r\n\r\nQLogic PCI to Fibre Channel Host Adapter for QLA2340 :\r\n Firmware version: 3.03.19, Driver version 7.07.0\r\n\r\n2. 更新驱动\r\n- tar zxvf qla2x00-7.07.06-dc4.1-sp1-ia32.zip -C /\r\nrmmod qla2300\r\ndepmod -a\r\ncd /lib/modules/`uname-r `/kernel/drivers/scsi\r\nmodprobe qla2300\r\ndmesg | grep -B 10 -A 10 st0\r\ndmesg | grep -B 10 -A 10 sg0
复制代码 \r\n\r\n检测是否有st及sg设备挂载的信息,如\r\n[1] 若系统能够识别出机械手,在cat /proc/scsi/scsi中会显示出以下信息,\r\n[2] Model信息为磁带库型号:MSL 6000 series\r\n[3] Type信息为Medium Changer,这个type的信息无论是HP磁带库或者IBM磁带库都为此信息\r\n[4] 请记住cat /proc/scsi/sci信息中的“Host: scsi3 Channel: 00 Id: 00 Lun: 00”,可以以此识别系统上真正的机械手挂载点\r\n\r\n详细的/proc/scsi/scsi信息\r\ncat /proc/scsi/scsi\r\n\r\nHost: scsi3 Channel: 00 Id: 00 Lun: 00\r\n Vendor: HP Model: MSL6000 Series Rev: 0430\r\n Type: Medium Changer ANSI SCSI revision: 02\r\nHost: scsi3 Channel: 00 Id: 00 Lun: 01\r\n Vendor: HP Model: Ultrium 2-SCSI Rev: F43W\r\n Type: Sequential-Access ANSI SCSI revision: 03\r\nHost: scsi3 Channel: 00 Id: 00 Lun: 02\r\n Vendor: HP Model: Ultrium 2-SCSI Rev: F43W\r\n Type: Sequential-Access ANSI SCSI revision: 03\r\nHost: scsi3 Channel: 00 Id: 00 Lun: 03\r\n Vendor: HP Model: Ultrium 2-SCSI Rev: F43W\r\n Type: Sequential-Access ANSI SCSI revision: 03\r\nHost: scsi3 Channel: 00 Id: 00 Lun: 04\r\n Vendor: HP Model: Ultrium 2-SCSI Rev: F43W\r\n Type: Sequential-Access ANSI SCSI revision: 03\r\nHost: scsi3 Channel: 00 Id: 00 Lun: 05\r\n Vendor: HP Model: NS E1200-160 Rev: 5669\r\nType: Unknown ANSI SCSI revision: 0 \r\ndmesg信息\r\nst: Version 20040102, bufsize 32768, max init. bufs 4, s/g segs 16\r\nAttached scsi tape st0 at scsi3, channel 0, id 0, lun 1\r\nAttached scsi tape st1 at scsi3, channel 0, id 0, lun 2\r\nAttached scsi tape st2 at scsi3, channel 0, id 0, lun 3\r\nAttached scsi tape st3 at scsi3, channel 0, id 0, lun 4\r\nAttached scsi generic sg1 at scsi1, channel 4, id 6, lun 0, type 3\r\nAttached scsi generic sg42 at scsi3, channel 0, id 0, lun 0, type 8\r\nAttached scsi generic sg47 at scsi3, channel 0, id 0, lun 5, type 1 \r\n\r\nnote:一般磁带库有四个驱动器(st),一个机械手(sg),N多个slot(也就是放磁带的插槽)\r\n[1] 从dmesg信息显示驱动器已(st[0-3])已经识别\r\n[2] 从dmesg信息显示有三个机械手,这里就有问题,需要确认哪一个是真正的机械手\r\n\r\n从cat /proc/scsi/scsi和dmesg的信息可以判断出哪个是真正的机械手\r\nHost: scsi3 Channel: 00 Id: 00 Lun: 00\r\n Vendor: HP Model: MSL6000 Series Rev: 0430\r\nAttached scsi generic sg1 at scsi1, channel 4, id 6, lun 0, type 3\r\nAttached scsi generic sg42 at scsi3, channel 0, id 0, lun 0, type 8\r\nAttached scsi generic sg47 at scsi3, channel 0, id 0, lun 5, type 1 \r\n\r\n很明显,从host、channel、id、lun的设备号可以分析得出机械手是挂载在sg42上\r\n二. 绑定linux系统的设备名 \r\nlinux系统允许为设备起便于记忆的名称,但是这带来了另一个问题,每次启动新设备的名称是可变的。如果由于管理原因,某次启动没有加载磁带库驱动程序,那么下一次启动后磁带库设备的名称有可能发生变化。特别对于设备多的时候,会造成很大的麻烦。 \r\n\r\n为了避免此麻烦,建议安装使用scsidev。\r\nscsidev的设备名是根据设备的scsi属性对应的,scsidev的设备名即使在设备不可用的时候也不改变。 \r\n1. 安装: \r\n[root@wylonwong /root]# tar xzf scsidev-2.22.tar.gz \r\n[root@wylonwong /root]# cd scsidev \r\n[root@wylonwong scsidev]# ./configure \r\ncreating cache ./config.cache \r\nchecking for gcc... gcc \r\nchecking whether the C compiler (gcc ) works... yes \r\nchecking whether the C compiler (gcc ) is a cross-compiler... no \r\nchecking whether we are using GNU C... yes \r\nchecking whether gcc accepts -g... yes \r\nchecking for working const... yes \r\nchecking how to run the C preprocessor... gcc -E \r\nchecking for linux/scsi.h... no \r\nchecking for scsi/scsi.h... yes \r\nchecking for /usr/src/linux/drivers/scsi/scsi.h... yes \r\nchecking for a BSD compatible install... /usr/bin/install -c \r\nupdating cache ./config.cache \r\ncreating ./config.status \r\ncreating Makefile \r\ncreating config.h \r\n[root@wylonwong scsidev]# \r\n[root@wylonwong scsidev]# make \r\ngcc -g -O2 -Wall -DVERSION=\\\"2.22\\\" -o scsidev scsidev.c \r\n[root@wylonwong scsidev]# make install \r\ninstall -o root -g root -m 755 -s scsidev /bin \r\ninstall -o root -g root -m 644 scsidev.8 /usr/share/man/man8 \r\ngzip -9f /usr/share/man/man8/scsidev.8 \r\nif [ ! -d /dev/scsi ]; then mkdir /dev/scsi; fi \r\n#install -d /usr/share/doc/packages/scsidev \r\n#install COPYING boot.diff README scsi.alias /usr/share/doc/packages/scsidev/ \r\n\r\n2. 创建scsidev的设备名: \r\n[root@wylonwong scsidev]# scsidev -sdn \r\nFound /dev/scsi/sgh0-0c0i0l0 (Type 01) R on Adaptec AHA274x/284x/294x \r\n(EISA/VLB/PCI-Fast SCSI) 5.2.4/5.2.0 \r\nFound /dev/scsi/sgh0-0c0i1l0 (Type 01) R on Adaptec AHA274x/284x/294x \r\n(EISA/VLB/PCI-Fast SCSI) 5.2.4/5.2.0 \r\nFound /dev/scsi/sgh0-0c0i6l0 (Type 0 R on Adaptec AHA274x/284x/294x \r\n(EISA/VLB/PCI-Fast SCSI) 5.2.4/5.2.0 \r\nSerial number of /dev/scsi/sgh0-0c0i6l0: \"IBM7801954\" \r\nSerial number of /dev/scsi/sth0-0c0i1l0: \"6811007030\" \r\nSerial number of /dev/scsi/sgh0-0c0i1l0: \"6811007030\" \r\nSerial number of /dev/scsi/sth0-0c0i0l0: \"6811020764\" \r\nSerial number of /dev/scsi/sgh0-0c0i0l0: \"6811020764\" \r\n\r\n3. 得到scsidev设备: \r\n[root@wylonwong scsidev]# ls /dev/scsi/ \r\nnsth0-0c0i0l0 sgh0-0c0i0l0 sgh0-0c0i6l0 sth0-0c0i1l0 \r\nnsth0-0c0i1l0 sgh0-0c0i1l0 sth0-0c0i0l0 \r\n\r\n三. 磁带库操作\r\n1. 使用mtx包,主要用于控制机械手作导带换带、连接slot(插槽)到driver(驱动器)操作\r\n红旗Linux DC Server 4.1有自带mtx-1.2.18-1.i386.rpm安装包,在第一张光盘,安装完之后,会在/usr/sbin/mtx\r\n[1] mtx作检查磁带库状态操作\r\n\r\n- [root@wylonwong scsidev]#mtx –f /dev/sg42 status
复制代码 \r\nStorage Changer /dev/sg42:4 Drives, 60 Slots ( 2 Import/Export )\r\nData Transfer Element 0:Empty\r\nData Transfer Element 1:Empty\r\nData Transfer Element 2:Empty\r\nData Transfer Element 3:Empty\r\n Storage Element 1:Full \r\n Storage Element 2:Full \r\n Storage Element 3:Full \r\n Storage Element 4:Full \r\n Storage Element 5:Full \r\n Storage Element 6:Full \r\n Storage Element 7:Full \r\n Storage Element 8:Full \r\n Storage Element 9:Full \r\n Storage Element 10:Full \r\n Storage Element 11:Empty\r\n Storage Element 12:Empty\r\n Storage Element 13:Empty\r\n Storage Element 14:Empty\r\n Storage Element 15:Full \r\n Storage Element 16:Full \r\n Storage Element 17:Full \r\n Storage Element 18:Full \r\n Storage Element 19:Full \r\n Storage Element 20:Full \r\n Storage Element 21:Full \r\n Storage Element 22:Empty\r\n Storage Element 23:Full \r\n Storage Element 24:Empty\r\n Storage Element 25:Empty\r\n Storage Element 26:Empty\r\n Storage Element 27:Empty\r\n Storage Element 28:Empty\r\n Storage Element 29:Empty\r\n Storage Element 30:Full :VolumeTag=NK0224L1 \r\n Storage Element 31:Full :VolumeTag=NK0225L1 \r\n Storage Element 32:Full \r\n Storage Element 33:Full \r\n Storage Element 34:Full \r\n Storage Element 35:Full \r\n Storage Element 36:Full \r\n Storage Element 37:Full \r\n Storage Element 38:Full \r\n Storage Element 39:Full \r\n Storage Element 40:Empty\r\n Storage Element 41:Empty\r\n Storage Element 42:Empty\r\n Storage Element 43:Empty\r\n Storage Element 44:Empty\r\n Storage Element 45:Full \r\n Storage Element 46:Full \r\n Storage Element 47:Empty\r\n Storage Element 48:Empty\r\n Storage Element 49:Empty\r\n Storage Element 50:Empty\r\n Storage Element 51:Full \r\n Storage Element 52:Full \r\n Storage Element 53:Full \r\n Storage Element 54:Full \r\n Storage Element 55:Empty\r\n Storage Element 56:Full \r\n Storage Element 57:Full \r\n Storage Element 58:Full \r\n Storage Element 59 IMPORT/EXPORT:Empty\r\n Storage Element 60 IMPORT/EXPORT:Empty \r\n\r\n从以上信息显示4个驱动器(driver)全为空,有60个slot,其中有磁带的slot显示为Full,那么我们可以做将slot中的磁带放到驱动器中\r\n\r\n[2] 放带操作\r\n命令格式为mtx –f 机械手设备号 slot号 driver号\r\n[root@wylonwong scsidev]#mtx –f /dev/sg42 load 56 0 \r\n\r\n[3] 拨带操作\r\n[root@wylonwong scsidev]#mtx –f /dev/sg42 unload 56 0 \r\n\r\n除了以上简单操作之外,还可以实现将slot移位,如将原有的slot 56的磁带移动到50,这只是逻辑上的移动;\r\n更详细的操作请查阅man mtx\r\n\r\n四. 重做核心\r\n加载QLA驱动之后,必须重启系统测试QLA驱动是否加载成功,重启之后再检查磁带机的驱动器(st)和机械手(sg)是否识别到,若识别到,一切OK\r\n\r\n[1] 备份原先操作核心\r\ncp –a /boot/initrd-`uname -r`.img /boot/initrd-`uname -r`-`date +%Y%m%d`.img \r\n\r\n[2] 重做核心命令:\r\nmkinitrd -f /boot/initrd-`uname -r`.img `uname -r` \r\n\r\n参考资料:\n\n[ 本帖最后由 wylon 于 2007-12-12 13:58 编辑 ] |
|