博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
分享一起经典故障案例
阅读量:6450 次
发布时间:2019-06-23

本文共 1651 字,大约阅读时间需要 5 分钟。

案例描述:

服务器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超载的,这也是个人以为此故障经典的地方,希望和大家一起分享。

本文转自 linuxzkq 51CTO博客,原文链接:http://blog.51cto.com/linuxzkq/1583377

转载地址:http://fdmwo.baihongyu.com/

你可能感兴趣的文章
组合数据类型
查看>>
Hibernate在线考试系统 03
查看>>
redis底层数据结构
查看>>
Java集合四大家族的故事(四)——Map家族的LinkedHashMap
查看>>
android获取APK签名信息及MD5指纹
查看>>
Linux常用命令
查看>>
数据库高速缓冲区(database buffer cahce)
查看>>
Shell脚本首枚
查看>>
JDK BitSet实现原理
查看>>
Hbase Replication 介绍
查看>>
Nginx配置服务器静态文件支持跨域访问
查看>>
iOS 获取本地视频的缩略图
查看>>
Ubuntu 安装QQ
查看>>
【Android学习笔记】二、创建项目 安装卸载apk
查看>>
show virtual keyboard
查看>>
【转载】Linux升级安装GCC
查看>>
TCPDUMP命令详解
查看>>
value-ref, key-ref, ref local, ref bean
查看>>
shell if怎么判断参数有值
查看>>
tomcat启动脚本
查看>>