免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7625 | 回复: 4
打印 上一主题 下一主题

Linux (2.4.21-9.30)识别HP MSL 6000磁带机的机械手(已解决,并付上了解决文档) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-30 21:44 |只看该作者 |倒序浏览
硬件环境:\r\nPC SERVER:IBM X245 \r\nFC HBA      LOGIC 2312\r\nTape Library : HP MSL 6000\r\n软件环境:\r\nRedHat AS 3 (2.4.21-9.30 ) x86\r\n\r\n目标:如何在Linux上使用机械手设备,目前Linux上已经可以使用磁带驱动器(已加载了qla2300驱动,可以使用HBA),若有兄弟知道如何加载,请告知,谢谢\r\n\r\n\r\n以下为硬件信息:\r\ncat /proc/scsi/scsi\r\n
Host: scsi3 Channel: 00 Id: 03 Lun: 00\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: 03 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: 03 Lun: 02\r\n  Vendor: HP       Model: NS E1200-160     Rev: 5606\r\n  Type:   Unknown                          ANSI SCSI revision: 0
\r\nmtx测试/dev/sgo设备信息\r\n
mtx: Request Sense: Long Report=yes\r\nmtx: Request Sense: Valid Residual=no\r\nmtx: Request Sense: Error Code=0 (Unknown?!)\r\nmtx: Request Sense: Sense Key=No Sense\r\nmtx: Request Sense: FileMark=no\r\nmtx: Request Sense: EOM=no\r\nmtx: Request Sense: ILI=no\r\nmtx: Request Sense: Additional Sense Code = 00\r\nmtx: Request Sense: Additional Sense Qualifier = 00\r\nmtx: Request Sense: BPV=no\r\nmtx: Request Sense: Error in CDB=no\r\nmtx: Request Sense: SKSV=no\r\nREAD ELEMENT STATUS Command Failed
\r\n\r\n/proc/scsi目录信息\r\n\r\n
Administrator@wylon-rf /cygdrive/c/scsi\r\n$ ls\r\naic7xxx  ips  qla2300  scsi  sg\r\nAdministrator@wylon-rf /cygdrive/c/scsi/sg\r\n$ ls\r\nallow_dio  debug  def_reserved_size  device_hdr  device_strs  devices  host_hdr  host_strs  hosts  version
\r\n\r\ndmesg信息\r\n
st: Version 20040102, bufsize 32768, max init. bufs 4, s/g segs 16\r\nAttached scsi tape st0 at scsi3, channel 0, id 3, lun 0\r\nAttached scsi tape st1 at scsi3, channel 0, id 3, lun
\n\n[ 本帖最后由 wylon 于 2007-12-13 13:00 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-12-12 13:57 |只看该作者
问题终于搞定了,以下为故障解决方法\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
  1. 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\n
Host: 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\n
st: 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\n
Host: 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
  1. [root@wylonwong scsidev]#mtx –f  /dev/sg42  status
复制代码
\r\n
Storage 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\n
cp –a  /boot/initrd-`uname -r`.img  /boot/initrd-`uname -r`-`date +%Y%m%d`.img
\r\n\r\n[2]        重做核心命令:\r\n
mkinitrd -f /boot/initrd-`uname -r`.img `uname -r`
\r\n\r\n参考资料:\n\n[ 本帖最后由 wylon 于 2007-12-12 13:58 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-12-13 16:35 |只看该作者
这么好的文件怎么没有人加精啊?

论坛徽章:
0
4 [报告]
发表于 2007-12-14 17:22 |只看该作者
我看的时候已经是精华帖了

论坛徽章:
0
5 [报告]
发表于 2007-12-14 18:51 |只看该作者
其实我感觉就是个驱动的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP