分享一起经典故障案例

案例描述:

服务器A和B同是属于一个VIP的Real Server,C、D、E、F、G等数十台服务器和A、B同属于一个IDC,同一个网段。

A、B提供后端存储服务,C、D、E、F、G等做web前端




环境:

硬件:
A、B 配置相同,其后分别外接一套存储
C、D、E、F、G等配置也一样

OS: CentOS 4.3 32bit

网络环境:
A、B、C、D的内网同属于一个交换机
E、F、G等的内网同属于一个交换机
但A、B、C、D、E、F、G的内网都同属于一个网段


现象描述:
1:在从A服务器上同步文件时发现在C、D、E、F、G等机器上的下载速度是不同的,有些机器可以达到几十Mb,有些只有几十Kb,同一网段的而且还都是走的内网,这差别也太大了。
2:从C、D、E、F、G测试发现到A服务器的延时很大大约在10ms左右,而到B服务则是正常的,在0.2-0.4ms左右。
3:初步检查A和B的负载以及IO以及连接数,均为发现异常。
4:C、E、F、G等的负载和IO也未发现异常。


问题:
1:导致到A延时较大以及下载速度差别较大的原因到底是什么呢?
2:如何去进一步查找分析原因、并解决问题?
3:如果您遇到这样的问题,改从何着手分析呢?


欢迎大家发表自己的分析思路,此案例的答案稍后公布。。。。。


----------------------------- update @ 2010-04-06 ----------------------------------
答案已经公布请大家翻看帖子查找吧.

附:故障时内网网卡流量分析,看看能否看出什么问题么?





-------------------------------update @ 2010-04-07 -----------------------------------
再次更新下当时的分析处理过程...

下面是我们起初分析处理的过程:
1: 检查这几台服务器所属的交换机,是否有限制?是否交换机过载?
经检查交换机未发现异常,所涉及到的端口都没有错误包记录,也没有Qos类的限制,只是这几台服务器属于一个B段,然后我们就思考是否是服务器上的路由导致的问题,随后检查路由也无异常
网络的原因大致排除掉了,只能再次寻找原因。

2:正当我们纳闷的时候发现延时恢复正常了,下载速度也恢复正常了,随后切回服务,很快故障现象有出现了。
怀疑是网口问题或是网线问题,随后把更换了B和A的网口做了调换问题依然,排除了交换机网口出问题的可能。

3: 继续排查这次定位到了网线上,随后更换了A的内网网线,问题依然。又排除掉了网线的可能。

4:A网卡没有丢包、没有报错,为何B机器没有这样的现象呢,难道.... 随后把A、B的内网做了互换,发现A恢复正常,其他服务器到B的延时开始变大,上述想象再次出现在服务器B上。
随后检查负载均衡的配置没有发现异常。。。。再次没有了头绪


5:到此为止把其他一切外在的因素都排除了,剩下的只有再次排除A本身了。
把之前做的变更全部还原,从新切回服务测试。。。。
这次我们对A和B同时做了流量的分析,终于发现了问题。。。。。



通过内网的流量分析我们发现此时网卡已经达到了千兆网卡的IO峰值,从而形成了网络IO瓶颈。
从而导致上述现象,只是我们在分析的时候未考虑到网卡的IO极限。。。。
从而在分析问题的时候走了很多弯路。
不知道大家有没有遇到过类似的网卡IO达到极限的问题。


总结一下:

1:要尽可能多的了解每个产品线的架构、以及其临时的调整。
2:回滚。但一个故障出现时,我们可以先去试着回滚到正常情况,然后再试着去分析问题。
3:要尽可能先从自身寻找原因。包括 服务、磁盘、存储、还有网卡IO。


通常的思考很难一下定位到网卡IO超载的,这也是个人以为此故障经典的地方,希望和大家一起分享。

你可能感兴趣的:(centos)