服务器的宕机是一种较为严重的服务器故障问题,对于很多支付行业来讲是一种致命性的设备故障问题,比如:
2009年秋天,微软数据中心的一次服务器故障导致T-Mobile Sidekick手机存放在微软服务器上的用户数据全部丢失。这些数据包括通讯录、日程表、照片、待办事项等等;
2013年10月雅虎邮箱进行全面改版升级,一些用户在升级后表示账户存在邮件丢失的情况。12月,雅虎正式确认这次升级导致1%的邮箱账户出现邮件丢失问题,一些邮件耗时数周甚至数月都无法送达,这次事件最终影响到用户数量约100万人左右;
2015年9月,刚刚推出DynamoDB服务器导致亚马逊云服务宕机,包括Redait、Tinder、Netflix、IMDB在内的大量热门网站受此影响并停运超过七个小时。
当然,服务器按照工作负载不同可以分为很多类别,一篇文章并不能把所有的问题都说清楚,今天主要说一下Web服务器出现宕机时,运维人员第一时间要做的有哪些?
其实宕机可以分为两类:假宕机(非蓝屏宕机)和宕机。
假宕机是由于硬件资源暂时性地被消耗殆尽,因而无法对外部指令进行响应的现象,通常是网站处于访问高峰期,带宽等资源跑满,这时只需要等待一定的时间,待服务器腾出更多的硬件资源即可恢复正常。而宕机,如果通过ping测试服务器,键盘切换数字锁定键(NumLock)或大写锁定键(Caps Lock)功能,显示器无画面输出,或者鼠标光标没有任何反应则表明服务器硬件故障。
首先,检查所有电缆和外围设备,试着使用ping命令探测设备状况,ping命令是所有平台通用的,也是最简单的。如果可以在局域网内ping通服务器,接着可以试试从局域网外ping服务器进行检测。这样做可以迅速判断问题是否产生在交换和路由层面,而不是服务器级别。
电源没有问题,Ping不通,就要丛底层到高层来逐层检查问题了,检查网络接口和网络配置是否正常?DHCP是否启动?Web服务器是否指向正确的DNS服务器?在Windows环境,需要检查服务器是否具有Web服务的角色。在Linux环境下,检查会更复杂,可以试试查找http相关的文件或服务来确保服务器是否正在运行。
此外,如果Web服务器已经虚拟化,试着ping物理服务器自己的真实IP。这样可以帮助你进一步隔离问题。如果完全无法ping同服务器,而且也已经确定完全检查了网络连接,那么就需要进行更深入的分析了。
这种时候,就要去检查日志并查明在Web服务器宕机时日志纪录的信息,如果是专业人士,日志信息可以告诉你一切,半专业人士可以google搜索日志报警的错误信息,逐步找到解决方法,非专业专人的管理员就要求救外援了,总之,找问题要纵览全局,多从架构、资源层面去查找问题。
当然,经常进行资料备份,在去选择一个备用服务器以方便遇到紧急状况随时切换,这是最笨也是最简单的办法。