【IT168 专稿】最近公司正在进行EMC DMX-3的测试,在测试过程中发生了很多有意思的事情,以后笔者会跟大家分享更多的测试细节。就在前不久,笔者和EMC工程师一起解决了一个DMX3前端口通讯故障的问题。问题本身有一定的偶然性,问题的解决也出人意料,不过解决的过程相信对大家还是有一定帮助,因此写下来与大家一起分享。
问题发生,DMX3前端口速度大失水准
    问题发生在测试的EMC DMX3安装完成之后,本来安装完机器后进行端口速度测试是例行公事了,但是测试的结果却和我们的期望大相径庭,DMX-3每通道I/O速度出奇的慢,每秒不到10M,这可绝对不是DMX-3应有的速度啊?一定是什么地方出现了问题!
    原来,我们一般用DD命令进行连续写的速度测试,命令如下,其中rlv_test是裸设备:
    #time dd if=/dev/zero of=/dev/rlv_test bs=1024k count=10000
    这时候,通过powermt watch的观测结果如下: 
EMC_职场
四条通道I/O不正常
    从上面的观测结果我们可以发现,fscsi0到fscsi3一共4个通道,每个通道每秒的IO个数才8个,写速度每秒钟不到10M。
    到底什么原因让DMX3的端口速度大失水准?这下又把我的好奇心勾引起来了,下决心好好查找一下故障的原因。为了稳妥起见,解决问题的首要还是要求助厂家。一个电话打到EMC支持中心,将故障问题报上去以后,EMC工程师赶到了现场。
    EMC的几个哥们儿也是通过dd命令到文件系统,做了一个类似的测试,如
    #time dd if=/dev/zero of=/u01/test.dat bs=1024k count=10000
    这时通过powermt watch的观测结果如下:
EMC_EMC故障排除纪实_02
fcs0链路I/O不正常
    大家可以看见上面的测试结果显示出fscsi0连接的链路1,才8个IO的时候,队列中就有一个等待,做文件系统测试的时候,就基本没有IO。这时候,EMC哥们儿判断:多半是其中一个链路有问题。
    这里可以看到 EMC的工程师不愧是厂商级别的工程师,没有把问题定位在文件系统与裸设备的差别上,甚至都不怀疑裸设备的硬件问题,而是直接定位到了链路上面。从后面的操作看来,这个判断还是非常准确的,但我们决定通过进一步操作证实故障判断。
锁定故障链路,fcs0是害群之马
    我们一起查看了这台主机连接到存储的拓扑结构图,如下:
EMC_职场_03
 与fcs0链接的主机端口和交换机端口
    从上面的列表中看到,有问题的链路fcs0,通过光纤交换机的25/24 port,连接到存储的8b0前端口,对症下药,我们登陆到该交换机,disable这个通道:“admin>portdisable 25”,这下fcs0故障链路应该被屏蔽掉了,我们又作了个速度测试,发现一切正常,故障果然就是出在链路fcs0上。。。。
EMC_职场_04
 其余三个端口通讯正常
    至于为什么4个通道不正常,三个通道为什么反而正常了呢?这里还与EMC的负载均衡软件powerpath的分配策略有关系:
    原来,powerpath是用于增强存储环境中开放系统的运行性能的软件,主要作用就是智能分配并均衡多个通路的I/O负载,消除I/O通路中的单点故障。powerpath尽量让每个通道的IO均衡,结果,因为fcs0的IO上不去,所以就连累了其他三条链路,把大家的速度都拖慢了。
    找到了问题不代表解决了问题。我们接着一起来到机房,开始试着锁定故障关键点:
    我们把光纤交换机上的25/24口换到15/14口,问题依旧,判断光纤交换机没有问题
    我们把主机fcs0连接到光纤交换机的光纤线换掉,问题依旧,判断主机端的光纤线没有问题
    我们把存储8b0连接到光纤交换机的光纤线换掉,问题依旧,判断存储端的光纤线没有问题
    现在就只剩下主机fcs0的HBA卡,和存储前端口fa-8b0没有被骚扰过了。
    这时,一个EMC的工程师甚至直接建议我找IBM换fcs0的光纤卡,自信满满的说他们的前端口基本不可能坏的。然而,后面的测试就表明,看似不可能出现问题的地方,往往就出现了问题。。。。