扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
当机,是IT人士常用的术语,在更多的计算机应用者嘴里更多的表达为死机,当机是令IT管理和应用者都颇为烦心的事情。
对于普通家庭应用的当机,最多是不到最高级别的数据无法完整恢复,而如果一台服务器出现了当机,可能导致机要文件和高等级数据丢失的危险,这可是非常遗憾的事情了。
当机常见的表象多为操作界面静止无响应或“蓝屏”,操作系统无响应,软件运行无响应,鼠标、键盘无响应,硬盘指示灯恒亮不闪烁。尽管造成死机的原因是多方面的,但是万变不离其宗,其原因总也脱离不了硬件与软件(包括主机系统、操作系统、应用软件)两方面。
在本文中,笔者将从当机的原因入手,尽量系统和全面的分析当机出现的原因,并在文章末尾给出当机的解决办法。
1、由硬件故障引起的服务器当机
硬件其实脱不了这几大件:CPU、内存、硬盘、电源、散热系统,而最常见的硬件引起的当机原因则是散热系统故障。
1)散热不良
多风扇集中设计
散热不良是大家碰到的导致服务器当机最普遍的原因,CPU、硬盘、电源在工作中发热量非常大,因此保持良好的通风状况非常重要。CPU相当于人的大脑,对于服务器来说,它要对服务器内硬件软件的各种请求进行并发多线程处理,当并发处理要求突然增多时,CPU的热量就好象人脑飞速思考时一样,会出现“脑热”的症状,而硬盘I/O的吞吐量也将向额定量靠近,由此带来的功率增高,必然导致热量的增加;同时,功率的增加又对电源的支持产生了很大的压力,必然也会带来电源高热量的产生。当运算量超过服务器运算负荷之后,这三个“高热生产大户”短时间内的热量突然“增产”,很可能导致服务器的死机现象。
集中散热加硬盘侧吹
另外,在一些进行视频或图形存储与调用的服务器中,显卡和显示器设备也是发热量非常高的设备,如果散热设计的不好,当调用比较多时,也会产生当机现象。
解决的办法是,在进行服务器选购时,尽量选择发热量较小的CPU,在系统设计时设置可以实现负载动态平衡的运算系统,选择散热性能良好的服务器准系统。
2)硬件之间或软硬件之间不兼容
在硬件之间,如果主板、CPU、内存由于内外频相互不匹配,有可能在装配之初由于处理并发事件较少,还可以正常运行,但是当并发数上升到一定高度时,设备之间的匹配问题导致的硬件系统不稳定就凸显,这样产生的服务器当机事件发生几率也相应提高。
就算有准系统的支持,也得考虑硬件的兼容性哦
在硬件与软件之间,如硬件与需要进行图象处理的软件之间,有可能存在兼容性问题,如果不能达到兼容,整个系统的运行也不会稳定,这样产生的当机事件发生几率也非常高。
服务器配件之间的不兼容问题一般出在朋友们自己DIY的服务器上,软硬件兼容问题主要出在用户对于硬件与应用之间的衔接不完善的时候。解决以上问题的方法是在选购硬件设备时,以需要采用的具体系统实现为基础,全面的考虑全新硬件之间、需要升级的配件与新配件之间、软件与硬件之间的兼容性问题,以构建一个稳定的系统。
3)CPU故障
CPU引起当机的故障主要有以上提到的兼容问题、超频引起的处理性能不稳定、一些JS为获更多利润通过软件改写频率引起的性能不稳。
CPU:没事别碰我
兼容性问题在上文已提到,超频和通过软件改写频率基本是相同的性质,只不过进行这项操作的人群不同,一个是服务器发烧友,一个是服务器配件代理商。
改动频率引起CPU不稳定从而导致运行中当机的现象比较少,主要出在一些DIY市场领域。解决改频引起的问题很简单,服务器本身要求的就是系统的稳定运行,没有特殊爱好,没有特别专业的知识,不要随便改动。
4)内存故障
内存引起当机的故障主要有前文提到的兼容问题、内存条松动、内存容量不足、内存质量问题、内存资源冲突。
内存条松动,基本不会出现在品牌服务器中,因为一般服务器出厂前都会经过专业技术人员全面的系统检测;内存条松动的现象主要出在DIY服务器市场或操作员对品牌服务器进行升级时的疏忽导致的内存条没有插牢。
内存给那么多,要好好用
内存容量不足主要是由于服务器同一时间处理并发太多,占用太多的内存资源,导致服务器处理响应不过来,产生当机。
内存质量问题主要是内存芯片出厂前的芯片故障或内存厂商装配时的虚焊等。
内存资源冲突的问题主要是在运行操作系统或应用软件时,由于系统线程抢占资源或软件应用程序争抢内存地址而产生的内存资源冲突,从而导致服务器死机的现象。
解决的方法只能是采购员与操作员在进行装配和升级、测试等工作时,持严谨的技术态度,认真细致的检查硬件的每个环节;对于内存资源冲突的问题,主要通过选用冗余支持的内存和在并发高峰期来临前进行内存清理等工作来避免。
5)硬盘故障
硬盘引起当机的故障主要是由于使用时间长久、读写次数过多引起了磁道、扇区损坏的故障,再加上硬盘各部位的老化、磁盘碎片与垃圾文件过多等。
在一些有实力的公司,每隔两三年,会对正运行的服务器磁盘进行更新换代,将旧硬盘数据向新硬盘实现迁移,并将旧硬盘替换到一些测试或者办公备用等地方,最大限度的避免了硬盘故障引起的当机现象。大家可以以此为参考,参照成本预算等因素,尽量在磁盘损坏之前进行更新换代,避免引起重要数据的损毁。
磁盘碎片与垃圾文件在每时每刻的运行中都会产生,由于磁盘碎片过多或垃圾文件过多,造成可用空间资源过少时,也可能会在服务器多程序运行时当机。解决的办法是定期对磁盘碎片与垃圾文件进行清理。
6)电源故障
电源引起当机的故障主要是风扇坏掉或电子器件与线路损坏等。
现在市面上的服务器厂家批量采用的电源很多都是HIPRO
电源由于风扇或其中电子器件与线路故障引起的当机,除了需要进行防尘处理外,基本没什么特殊的防范准则,因为随机的偶然性,大多数情况下只能在当机出现的时候,拿备用电源替换,尽量减少当机引起的运行时间损耗的问题。
7)操作不当
一般情况下,机房的空间都是尽量有效利用的。打个比方,如果需要对机柜内的一部服务器拆开进行硬件升级,在它上面还码放了几部机架式服务器,为了不中断上面几部服务器的运行,可能需要二至三个操作人员协作才能将上面几部服务器托起,并把需升级的服务器拖出。这个过程看起来很简单,不过如果没有什么移机经验,冒失地跑上去拖拽抬放,很可能就导致上面几部服务器内硬盘部件因振动而与总线接触不良,从而导致当机。
另外,主板故障引起的服务器当机基本都需要返厂修理,与电源故障原由基本相同,其处理方法在次不再赘述。
2、由软件原因引起的死机
软件引起的当机需要考虑的问题比较多杂,涉及到主机系统、操作系统和应用软件
主机系统故障引起的服务器当机
1)CMOS参数设置不合理
CMOS参数设置不合理,是主机系统引起当机故障中最普遍的现象。
由于涉及到具体应用的规划或更改,如果对系统模式设定、CPU、内存、硬盘、温度限制等参数设置不合理,很可能会导致服务器运行中当机。
避免的方法只能在相对专业的工程师指导下,根据服务器所需的一些应用,对CMOS参数进行合理的设置。
2)BIOS设置或升级不当
BIOS的设置与升级一般在服务器出厂前已经设置完毕,有部分用户由于特殊需求,对BIOS设置进行改动或生机,稍一不慎就可能导致服务器无法启动;另外,一些应用程序可能会对BIOS不支持或者运行时对BIOS信息进行改动,这些操作也会导致服务器在以后的使用中不稳定而当机。
避免的方法是尽量避免对BIOS数据进行改动,遇到有更改BIOS参数的程序,应尽快对服务器内数据进行备份,并对BIOS数据进行出厂设置恢复。
操作系统故障引起的服务器当机
服务器的操作系统相对个人版的操作系统,容错的能力有很大的提高,但是,在繁忙的运算与处理过程中,免不了也会出现当机的现象。操作系统引起的服务器当机主要有以下一些原因。
1)操作系统导引文件损坏或更改
操作系统运行前,需要导引文件对系统进行引导,如果这些文件损坏,当即会产生蓝屏当机,并在重新启动时仍无法进入系统。
引导程序损坏与更改的解决办法,只能利用备用的同类型操作系统引导程序引导与恢复。
2)系统文件误删除
服务器里许多重要的系统文件,在删除前都会有提示信息,如果稍不留神多按一下回车,删除的文件可就再也没法恢复了。
解决系统文件误删除,需要从平常的操作中养成习惯,以Windows服务器系统为例,删除文件不要按住Shift,让文件经过系统回收站,这样当误删除操作进行后,还可以及时的进行还原恢复。
3)动态链接库文件损坏或丢失
暂时系统没有太大的问题
当操作者需要通过操作系统调用程序时,会通过调用程序与操作系统之间的动态链接库文件来协调。动态链接库文件大多属于多程序共享文件,如果进行程序反安装等操作,动态链接文件由于在操作时被发安装程序记录为曾经使用的文件,会随着反安装同时被删除。如果被删除的动态链接库文件同时也是操作系统重要程序的调用,很可能产生服务器当机。
以WindowsServer操作系统为例,动态链接库文件损坏或丢失的解决办法,懒人的做法是首先通过优化大师与超级兔子等优化软件对系统内的动态链接库文件进行优化、管理与备份。
如果上一步搞不定可以通过Windows系统自带的regsvr32.exe在注册表中重新添加DLL文件,具体用法如下:
如果还是搞不定,可以找出系统安装盘,从其中找到相关的系统文件压缩包(一般是.cab文件),找到对应的DLL文件双击进行恢复。
应用软件引起的服务器当机
1)软件bug
软件bug是应用软件里最常见的引起服务器当机的故障原因,一些占用CPU或内存较大的软件应用,在bug发生时,很容易造成服务器当机。
软件bug在应用驱动、运算处理、系统与软件升级等各重要环节中发生的时候,因为本身程序占用内存和处理需求比较高,这就很容易造成程序处理响应不过来而当机。
软件bug没有哪家软件开发公司能够避免,唯一的方法只能使得bug发生的几率减少,那就是在应用软件上线时督促开发人员进行全面的测试或在bug发生后,及时的对软件程序进行修补。
2)病毒感染与黑客攻击
病毒感染与黑客攻击是导致NOC、IDC等大型服务器安置中心当机的主要原因。
病毒感染导致当机的主要“品种”是蠕虫。说到蠕虫,估计大家都会想起冲击波和DDos等经典。蠕虫对于服务器破坏的基本方式是,在服务器内的强制快速繁殖,使得其对于系统各项资源的占用量都不停的攀升,上升到一定量以后,服务器处理器、内存等无法承受导致当机。
熟悉不?
黑客对服务器进行攻击导致服务器当机的主要方法是,通过网络向服务器内发送大量的数据包或从服务器内想外发送大量的数据包,通过流量增长和大量超负荷的处理需求对服务器进行攻击;此外,也有黑客故意植入恶意代码到服务器中,代码对服务器中的某个文件或随着代码发送过去的文件进行快速复制,攻击方式相当于蠕虫的原理。
无论是病毒感染还是黑客攻击,最主要的解决方式还是提高服务器安全防护人员的技术含量,尽量减少服务器被攻击的危险从而最大限度的降低服务器当机的危险性。
3)杀毒软件与防火墙
结合上文,为了对那些粗暴复制衍生的病毒或木马程序进行有效的查杀,杀毒软件与防火墙需要对各种代码的特征进行辨认,那就需要不断的提高病毒库文件的容量;而高等级的防火墙甚至还需要智能的辨别IP访问许可,并对文件包的接收与发送与否进行人工智能式的筛选,这就需要更大的处理与存储空间保障其运行。
杀毒软件与防火墙运行对于处理和存储空间的高要求,必然带来实时监控、病毒扫描与查杀时的高存储占有,如果同时发生系统内部的多个线程响应,当机也是很可能发生的事情。
杀毒软件与防火墙的运行本来就是为了解决病毒感染与黑客的攻击,对于三方杀毒与防火墙产品来说,如果由于杀毒过程中占用太多存储资源而导致服务器当机,那也没有什么更好的办法解决。
一款中低端硬件防火墙
当然,政府、电信、金融、网络中心、数据中心等相关部门,由于数据安全性的高级定义,对于病毒和木马的防护使用了高昂的硬件防火墙,对于优化配置后的服务器防护系统,当然也很少存在由杀毒软件与防火墙引起的当机了。
总结
硬件方面,服务器可以通过更好的优化配置,做好新旧替换与升级规划,在系统应用之初就做好硬件兼容、承载和压力等测试、预测,这样可以最大限度的保障服务器的稳定与正常运行,减少当机发生的几率。
软件方面,服务器也需要更好的协作硬件、操作系统与软件系统之间的兼容与稳定性,做好压力测试、流量测试和负载预测等前期规划,搭配好网络与系统的安全防护,为以后的系统应用做好准备。
当机在我们服务器应用的时候,是可以减少几率但绝对无法避免的事情。在我们规划好硬件、软件、网络、安全等各方面搭配以后,也只是将当机的可能性减到最小。
有身边几个朋友钻牛角尖,非得要问如果一切准备工作都做好了,服务器还是当机怎么办?笔者用身边许多做技术支持的朋友回复菜鸟的一句比较经典的话回答:重启呗。你不动手,它还能自己启动电源?
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者