糟糕的一天
我工作的一天
拓扑如下图所示:
如上所示,连接门禁和监控的网段是一个完全独立的网段,与外网并没有直接的联系。
发现到解决用时
从发现问题到定位到问题,到最终解决问题用了大概用了8个小时的时间。
定位问题期间,复现问题8次,解决过程总结成如下内容;
故障初现
2021/3/5(周五)中午11点左右,公司所有的门禁、摄像头,不断重启,无法正常使用,同网段的电脑和台式机并不受影响。
A同事第一个发现了面板机不断重启的问题现象,第一判断是电的问题,很有可能是电压不稳,并且猜测有三台暂时“成砖”黑屏的面板机可能永久成砖,并且通过专业知识分析了一下电压的问题,行政部门的同事联系到当时部署面板机的同事B说明了自己的判断,事情紧急,平时颇有怀疑精神同事B也赞同了同事A的判断,于是将调查的对象放在了电上。
当时我正在和浪潮的工程师一块配置存储的时候,正在因为速率协商的问题焦头烂额时,一抬头看到一帮人冲到机房,我赶忙也跑过去,A同事看到我之后直接便把电话给我了,我听到电话那头熟悉的声音,原来是杭州的B同事,旁边同事迅速给我解释了一下,说所有的门禁都瘫痪了,怀疑是电的问题,现在要到机房里面找到门禁、监控等设备接入的总电源,我听的一脸蒙,我说让我缓一缓,然后我就挂了电话。
其实根据故障现象仔细想一想,电压不稳与面板机门禁不断重启并不存在绝对的因果关系,顶多是原因之一,造成这个故障的原因并不只是这一个,当A同事说出来了自己的判断和依据之后,身边的许多同事赞同了,同时A同事反应他有一台和门禁处于同一个网段的服务器也ping不通了,A同事怀疑网络也有问题,由于我是管理网络的,A同事提议让我看看,我发现只是A同事只是和这台服务器不通了,与这个网段的其它服务器还是通的,A同事依然觉得网络有点不对劲,嗯……,我得做点什么让A同事相信网络并没有问题,我去到这台服务器的操作台上,发现这台服务器确实与网络里面的其它设备“失联了”,那到底是网络的问题?还是这台服务器的问题?这个问题是容易判断的,用排除法即可,我把这台服务器的网线拔下来插到我自己的笔记本上,发现我的笔记本可以和外在的设备通信,外在设备和我通信也没问题,这将说明网络没有问题,是他服务器出了问题,我将这个证据告诉A同事,这让他怀疑起了自己的服务器是不是被黑客黑了,他的服务器有两个接口,一个接口对内,即连接到当前这个网络,另一个接口或是映射到了公网,可以通过公网进行访问,他怀疑是有人通过公网接口“黑”进来了,然后在当前这个网段里面释放病毒,于是他赶紧把服务器的网线拔下来了,而且A同事还说了一个有趣的事情,他面试过的的一个人竟然有从外面登录到内网WEB服务器的账号和密码,难道真的黑客攻进公司内网了?我心里也有点虚,当我们心里面有一个判断之后,我们总是会找到一些支持这个观点的理由,尽管这仅是猜测而已。
根据现象来看确实像是电的问题,找了电工师傅过来重新搞了一下电源之后就恢复了,看起来有困果关系,让人认为是电压问题导致的;
但是通电之后,发现设备(面板机)竟然启动的特别慢,大领导问身边的C同事,这个设备通常要启动多少时间,身边的同事说是得5分钟,然后补充了一句,在上一次重启的时候他就观察过,大领导有点诧异,为什么这么一个本来开机应该很快的设备为什么这么开机这么吗?,C同事他并不是骗领导,C同事确实观察过面板机的启动过程,等了确实有5分钟,但C同事的这次观察并不是在正常状态下的观察,而是在事故发生之后的观察,在正常情况下,面板机的启动过程大概在一分钟半左右的时间,绝不对达到五分钟,等了一会儿,还是有一部分设备没有启动,启动的设备状态也有点不对劲;
怀疑是网络的问题
在我以往的经验当中,导致设备不断重启的原因大概有三种:
- 电流或电压问题;
- 设备或设备自带系统本身存在问题
- 网络攻击或类攻击类报文过多耗尽设备资源自动重启;
电的问题,电工师傅已经搞过了,重新接了线,但并不代表着电就没有问题了,其实当接完电之后,我发现设备启动缓慢,就觉得不太对劲,按理说不应该启动如此缓慢的,我找了一台在角落里面的面板机,鬼使神差的拔了它的网线,确实是鬼使神差,我其实提前脑海里面并没有思考到是网络有问题,但我的身体好似走在了我思考的前面,我拔了这台设备的网线,又断了他的电,重新插上电,但没有插网线,设备以正常的速度启动成功了,如果是插上网线,就会立马重启,我又找了三台设备,都是同样的现象,从这个角度去看,那就排除了是电的问题;
不插网线,只插电,设备工作的挺正常的,并没有不断重启,找了几台设备都是这样的现象,那跟设备本身或设备内部的系统也没有关系,那问题的矛头现在指向了网络;
那网络有什么问题呢?
通过网络我们也能完全的操作一台设备,有可能是某人通过网络向这台设备发起了什么指令,比如不断重启、更新之类的;当然也有可能是网络内部有人通过系统系统漏洞不断攻击,在学校的时候,我经常攻击我们教学使用的机器,让他不断重启,哈哈,你看,我现在的想法就像是A同事一样,内心有了一个观点,然后就从自己以往的经历当中不断的找证据来支持这个观点。
我应该怎么排除问题?或是我应该怎么定位到问题的所在呢?抓包分析吗?当然抓包分析当然是可行的,但我并不擅长,而且区域网里面包太多,在arp广播,还有组播包,几十台设备,包的数量非常多,A同事去开会去了,只有我一个人了,我倒是觉得自己一个人按照自己的节奏的处理这个问题挺好的,不用顾虑别人的想法,我开始抓包分析报文,刚要开始分析,就被打断了,哎~,因为我又有别的紧急的事情了,浪潮存储第三个节点又无法关联域控制器,原因是无法与域控制器通信,又开始排除这个问题,前两个节点都可以 ,但第三个节点都不行,交换机上的配置都一样的,在交换机查看接口状态都是选中正常的,我重新配置了一遍,但是第三个节点就死活不能与域控制器通信,我委婉的与浪潮的工程师商量看能不能重装一下第三个存储节点的系统,浪潮的这哥们人很不错,看到我已经尽力了,便欣然答应了,我和他一起安装系统,这里的事情我就不展开来说了,我会找一个机会好好写一写,我和他一起搞存储的这两天一波三折,都能写一个很长的故事了,总之,他把他的存储设备重装完系统之后就能和域控制器通信了,安装完就已经是晚上9点了,在陪着他安装系统的时候,我一边给他帮忙,一边在分析抓到的报文,他又因为别的事情卡住了,当时已经21点多了,我的报文也没有分析出什么有用的信息,和他一样,我俩一脸惆怅的下班了,他愁他的存储问题,我愁我的报文分析;
在回家的路上,被冷风一吹,我突然有了一个灵感,我干嘛非常要找到故障的报文呢?我干嘛非常要定位到故障的详细原因呢?我能不能退而求其次,网络是由一台又一台的设备组成的,我不要找到故障的具体原因,我只要找到哪一台或哪一台设备导致这个导致的故障,然后将问题范围缩小,在小范围之内再定位具体原因;
第二天周六,我一早就来了公司 ,开始验证我的想法,这个故障范围怎么缩小呢?我是这么做的;
-
一共有四个交换机,其中一个汇聚交换机,三个接入交换机,我将他们全部都断电,过了一个小时,重启所有设备 ,没有问题异常;启动一台交换机,过一个小时,没有出现异常,再启动一台,就这么将三台接入全都启动了之后,问题都没有再次出现。
-
我将汇聚交换机所有线都拔下来之后,先接入一台接入交换机,过了一个小时,没有问题处理,又过了一个小时,也没有问题出现,这就再接第二台,第三台,一直也没有问题出现;
-
最后我再将汇聚交换机上的其它线插上,这些线也是连接了一些设备,当我把这些设备连接上之后,过了一段时间,问题终于复现出来了;新插的这些线大概对应着20个设备,那我只要从这个20个设备里面找就可以了;
-
还是按照之前的方法,最终将问题缩小在了三根网线当中,这三根网线,其实有两根是接入到昆仑服务器上的,另外一根是接入到一组面板机上的;是这三根都有问题,还是某一根有问题?或是这三根都有问题,还是按照上面的方法,我先插两根,重启所有的设备,观察了一个小时,都很正常,再插第三根,再重启所有的设备,观察了一个小时,问题终于再次出现了,那问题就在这一根线上!!
罪魁祸首
我顺着这一根线找到问题的源头,这一根线接了一个5口的交换机,上面插了五根线,一根线是上联口,另外四个口是接的面板机,我将上联口拔下来插到我的电脑上之后发现,网络的利用率竟然可以达到百分之80,这也太高了,绝对的不正常;然后我观察了一下那四接入到5口交换机的面板机在不断的重启,我去模组部门找了一台闲置的面板机,接入到这个小交换机,不一会儿就出现了重启状态。当时我并没有继续向下分析,我直接将这个五口交换机与外在的联系切断,又把机房所有的线都上插上,重启所有设备,观察两个小时,场地上的设备没有再出现任何重启的状态,一切正常;
终于找到问题的源头,就是这一台五口交换机,我只是将问题定位到到这一台五口交换机上,这个五口交换机并不是问题的源头,问题的源头是这个五口交换机接入的四台面板机,这四台面板机,有一台本来就没有插电源,那范围又缩小,缩小到三台面板机,其实不用分析,就能看出来这三台面板机绝对的不正常,因为这三面板机虽然都接通了电源,但有两台就是处于不停的重启。既然将问题范围到定位到这三台设备,只要通过替换排除法说就可以轻易找到是哪一台,这个工作就留给模组或开发吧,让他们分析,因为面板机我懂的实在不多,我简单看了一个抓到的报文,里面充斥着大量的广播报文,并且频率非常快,快到我的电脑的网络占用率可以达到百分之八十。我不打算深究了,毕竟程序也不是我们写的,就将这个问题交给模组部门吧,重置一下或重新给他安装一下系统我觉得就没啥问题了;如果领导真想要一个详细的故障问题分析报文的话,就找模组或研发要吧;
有意思的事儿
在刚开始怀疑是电的问题时,我们一位大领导也参与分析了,他侃侃而谈,分析问题条理分明,有理有据,尽管他分析错了,与电并没有什么关系,撇开内容不谈,在那一瞬间,他谈话的气势,分析问题的条理性,还都挺让人信服的,我想这就是领导吧!
还有同事A,同事A认为是黑客通过他对外展示的服务器黑进来了,对他的服务器一脸忧色,我没有将找到问题故障的事告诉他,就让他担心两天吧。