存储 频道

警惕SCSI设备冲突,“内置”“外插”有讲究

    IT168编辑:针对存储人的工作经验和生活感受,IT168“我的存储人生”征文活动正在热烈进行中。回首我们曾经走过的沧海桑田,留下了太多的令人回味的东西,赶紧提笔写下最令你难忘的存储人生感受,与同仁网友们分享。详情请看:IT168我的存储人生征文活动启事

    【IT168 征文专稿】我跨入存储行业的门槛时间不长,但是在这段短短的时间里,经历了无数的第一次。最让我难忘的实施经验是入行后第一次为客户上门实施。那天Boss突然告诉我要去山东出差给用户解决问题,要知道在那以前,我还从来没独立上门给用户服务过,因此一路上心里不停的打着小鼓,就担心自己露怯。

用户报修,超市业务大受影响

    刚到客户那里,就被客户的网管员小刘一把拽进了机房。原来,客户是当地一家较有规模的外资连锁超市,一直依赖这套后台系统进行买卖记账和结算。某天早上,业务人员突然说终端结账系统无法使用,小刘发现是服务器端数据库无法访问,于是被迫启用一套备用服务器支撑业务。

    但是备用服务器性能远远不能满足数据频繁读取的负荷需求,在超市业务最繁忙的时候,也是服务器当机重起最频繁的时候,而且新产生的数据都需要财务加班,手工输入到原有的系统中才能完成当日和当月的结算。所有的业务人员都对小刘怨声载道,连一向和蔼可亲的经理这两天一见到小刘脸色就阴沉下来。

    听过了小刘的诉苦,我详细察看了用户的环境。超市使用了2台IA架构的服务器挂接一台SCSI的磁盘阵列做双机系统。主机采用Windows2000 advanced server操作系统,使用一套超市专用的帐务系统,后台是SQLServer2000。

    两台服务器采用了Windows系统自带的MSCS工作在Active-Passive的主从模式下工作,MSCS检测、管理、切换双机的资源组,以保证SQL服务一直能正常运行。由于超市营业时间较长,服务器白天从8:30开业后一直处于运行状态,提供所有数据库等软件服务,对数据进行存取;晚上20:00客户端关闭,停止服务请求;22:00利用SQL内置的管理工具对主机数据进行备份,把服务器上的数据备份到磁盘上。

    当数据库不可访问的故障发生后,小刘先启动了一套备用的服务器作为帐务系统,然后查看主机的事件查看器,发现主机和备机都有ID2、5、14的报错,时间为前一天晚上22:01(开始备份的时间)。网管员重新启动磁盘阵列,数据库又可被重新访问了。本来小刘把业务系统切换回来以为没事了,但是第二天发生同样的故障,重启磁盘阵列后,数据库又可重新被访问。随后连续的几天内都发生同样的故障。

    经过初步判断,我认为问题应该出在数据连接上,于是采用排除法,先后更换服务器到阵列的内外部线缆、SCSI终结器、磁盘阵列控制器以及整套磁盘阵列,但是问题仍然存在,最后改用了外插SCSI卡,状况良好。我总算可以回北京跟Boss交差了。

回京测试,问题的根源在哪里?
    问题应该是告一个段落了,但是回北京的路途上我却始终没想明白,为什么把内置SCSI换成外置SCSI就解决了问题呢?现在看来,当时的判断更像是凭着直觉做出来的。

    回到北京后,我在实验室中模拟用户了真实环境,在Disk Array上划分了4个Slice分别映射到了LUN1、LUN2、LUN3、LUN4,并配置好SQL SERVER2000。
    1、 服务切换,大数据(约2GB)在不同的分区之间、通过网上邻居共享文件夹中拷贝。
    2、 通过对各分区运行IOmeter 24小时。
    3、 采用强制手段禁用Private net,Public net使用的是混合通讯,在对外服务的同时也发送心跳信号。
    4、 如果强制将Server1的SCSI线缆拔出,相连服务器基本瘫痪,集群切换服务正常。

---------------------------------------------------------------------------------------------------------
驱动程序在 \Device\Scsi\adpu160m2 上检测到控制器错误。
数据:
0000: 0f 00 10 00 01 00 6a 00   ......j.
0008: 00 00 00 00 0b 00 04 c0   .......À
0010: 50 50 00 c1 00 00 00 00   PP.Á....
0018: 49 00 00 00 00 00 00 00   I.......
0020: 00 00 00 00 00 00 00 00   ........
0028: 00 00 00 00 00 00 00 00   ........
0030: 02 00 00 00 06 00 00 00   ........
事件类型: 警告
事件来源: Disk
事件种类: 无
事件 ID: 51
日期:  ××××-××-××
时间:  ××:××:××
用户:  N/A
计算机: NT2
描述:
传呼期间在设备 \Device\Harddisk3\DR3 上检测到一个错误。
数据:
0000: 04 00 22 00 01 00 72 00   .."...r.
0008: 00 00 00 00 33 00 04 80   ....3..€
0010: 2d 01 00 00 00 00 00 00   -.......
0018: 00 00 00 00 00 00 00 00   ........
        
---------------------------------------------------------------------------------------------------------

    设备 \Device\Scsi\adpu160m2 没有在传输等待时间内响应。驱动程序在 \Device\Scsi\adpu160m2 上检测到控制器错误。这两个信息表示从windows中发出的请求命令没有到达指定的外接磁盘中,同时由于连接中断,windows系统开始出现没有响应。

结果分析,警惕SCSI设备冲突
    测试的结果判定服务器和磁盘阵列都没有问题,问题集中在服务器到磁盘阵列的连接线路上。这和我当初在现场的判断完全一致。

    那么连接线路到底出了什么问题呢?

    从SCSI总线原理上分析,SCSI 物理层传送SCSI信号并帮助保护其不受干扰。物理层包含终端器、线缆、增强的适配卡和主板走线、连接器,和其他一些规定如信号导体的阻抗值,连接器的空间,线缆长度等。

    随着各个系统开机或SCSI总线复位, 收到信号的SCSI总线开始更新。同时所有收到信号的SCSI总线始发者开始定位并分别与所有处于SCSI总线上SCSI的目标设备协商。这些协商为执行随后的数据传输建立了精确的机制。总线终结器能告诉SCSI主控制器整条总线在何处终结,并发出一个反射信号给控制器,必须在两个物理终端作一个终结信号才能使用SCSI总线。

    物理总线终结器是一种硬件接头,又分为主动型和被动型两种,主动型使用电压调整器来进行操作,被动型利用总线上的能源信号来操作,被动型比主动型更为精确;自终结电缆可以代替物理总线终结器,也是一种硬件,常用于两个主机连接同一个物理设备。绝大部份 SCSI 设备內置终端器﹐并用一跳线控制ON/OFF 。

    终端器看似很简单﹐但在实际运用过程中问题多出于此。虽然被动式的终端器可以使用在SCSI-I及SCSI-II的规格,但在 SCSI-II以前,由于它的资料传输速率并不是非常的快 (5Mbytes/sec以下) ,因此您可能会经历到在某些情况下,不装Terminator 好像也没有事发生。不过在Fast SCSI 之后 ,随着它的资料传输速率快速增长,在SCSI bus的两端,都必须特别注意Terminator 的设定,而且必须使用主动式Terminator。否则轻者资料传输错误,重者连 SCSI Device 都无法为 Initiator 所辨认出来( 也 就 是 找 不 到 SCSI device)。在我们的实际使用经验中,很多SCSI 硬盘无法顺利安装完成,并不是硬盘本身问题,而是排线品质不好,或是Terminator定位有误差,而产生的讯号不正确所引起的。

    通过检查SCSI ID和总线终结器,我们可以找出大多数冲突现象的解决方法,这是SCSI设备用户必须重视的一点。
 
    我们看见在SCSI总线上,驱动程序、接口、线缆任何一点都可以导致问题。该客户的服务过程中,已更换过线缆、终结、盘阵主机,板载控制器,除非主板厂家推荐,不宜用在挂接外置磁盘设备的集群环境中,因为它集成为主板各组件的一部分,受其它部件的影响,难免会有所侧重或牺牲,导致在此环境下SCSI总线的不稳定。也因此,当SCSI接口改为外置后就解决了用户的SCSI设备冲突的问题。

经验总结,SCSI存储的改进意见

    这是我第一次为客户上门服务的经验,这次经历成为我存储售后工程师的起点,而且整个解决问题和论证的过程也让我觉得受益匪浅。

    根据以上的分析,我对SCSI连接存储系统的用户提出以下几点改进意见:
    1) 为了减少SCSI总线上传输中可能发生的问题,使用外插SCSI卡
    2) 为了保证SCSI总线中信号传输的稳定性,建议使用UPS电源,提供稳定的电压
    3) 注意要对W2K2000和SQL安装最新的补丁以及升级最新的SCSI卡驱动
    4) 确保各接口接触良好

0
相关文章