IT运维大师是每个人追寻的梦想,他们那敏锐的嗅觉似乎总能揪出计算系统故障的根本原因。这种快速反应、准确定位的能力源自多年来处理复杂数据中心基础设施难题的经验积累与个人知识储备,而且其成功很难被复制。显然还没有哪家机构愿意为这种近乎“超自然”的神级判断能力颁发认证资质。
尽管如此,高强度故障排查工作往往会遵循一些通用且不成文的实践规则。在本文中,我将结合自身经历总结出六条不变法则,希望能为大家的实际工作带来助益。请注意,这些法则只适用于大多数--而非全部--情况。
1、永远不要对当前连接的服务器或者网络设备接口进行修改
虽然这种做法听起来非常愚蠢,但某些人确实会频繁对正在用于设备通信的网络接口进行修改,这也是很多故障发生的根本原因。虽然有时候如此处理也是逼不得已,但我们完全可以利用其它机制消除这种潜在缺陷。在必要时为接口配置辅助IP,并暂时将其与其它设备、子网、串行控制台或者KVM之类相连。对于那些位于远程办公环境中且周遭没有IT人员的设备,这种处理方式就显得更为必要。
有时候我会偷个小懒,利用写好的脚本在Linux设备中更改IP、进行ping测试并在出现错误时取消变更。但这其实有点作弊嫌疑。
2、保证所有操作都具备恢复余地
只要有可能,请务必为自己的操作准备一套恢复机制。这可能意味着大家需要在处理故障磁盘之前备份整个目录结构下的所有文件,虽然看似麻烦,但这能帮助我们保有全部存在潜在价值的数据。另外,大家也可以在处理损坏的操作系统前直接从物理服务器的RAID 1阵列中取出一块磁盘。当然,这一切在虚拟机环境下将更加轻松,只需保存一份快照即可搞定。
3、记录、记录再记录
在今天提到的各项法则中,这一条恐怕是最难遵循的。可以肯定的是,在一片混乱当中心平气和地记录下问题与判断确实有点不切实际。但即使如此,我们仍然需要在事情结束之后为自己保留一份分析资料,记录下处理过程中的执行步骤以及解决途径。请记得把记录保管在安全的地方,最好是由企业内网托管的维基条目--并在其它位置多备份几份。
4、IT工作不相信魔法,但却仰仗运气
正如托马斯·杰斐逊所说,"我发现自己工作得越努力,幸运女神就越是垂青于我。"同样的道理也适用于IT领域。大家在基础设施研究方面投入的时间越多、对路由器、交换机、服务器的运作状况越熟悉,实际管理时也就越轻松。定期做好这项功课能帮助我们培养出敏锐的嗅觉,在问题早期就做出准确判断,并在出现问题时更快做出响应。培养IT好运的办法还有很多。举例来说,利用工具对网络设备配置进行自动化备份能在交换机无法工作时帮助大家在几分钟内部署好替代方案,而不再需要花费几个小时。
5、在进行修改前对每个配置文件做好备份
这条规则一般只适用于Unix服务器及网络设备,因为其配置文件几乎存在于设备配置体系中的各个环节。在我们改动敏感配置之前,最好先在交换机闪存或者TFTP主机中保留一份副本。在Unix系统方面,只需将*.conf以另外保存为*.conf.orig即可。
如此一来,我们就能在紧要关头轻松将服务恢复至原先的正常运行状态--将文件复制回去并重新启动服务,就这么简单。但这种做法在Windows环境中就帮不上忙了,注册表的存在与Windows的系统特性大大增加了简单概念的实际复杂程度。即便如此,大家仍然可以在动手修改前导出一份注册表,这样麻烦出现时咱们也能做到手中有粮、心里不慌。注意:由于Windows注册表如此关键,对其做出变更等于是将服务器的命脉握在手中,千万马虎不得。
6、监控、监控再监控
所谓预防胜于治疗,每月找个周末仔细检查一遍业务环境非常必要。大家应该认真监控数据中心的每个方面,从室内温度开始、到机架、再到服务器--另外,服务器进程检查、正常运行时间检查等等,这是一项无穷无尽、略显枯燥但却极为关键的工作。我们还需要对所有网络设备进行集中式系统日志整理,并通过趋势及图形工具监控带宽使用率、温度、磁盘分区用量以及其它重要数据指标。所有这些监控机制都应当在数据超过合理阈值时向我们提出警告。
当某个磁盘分区空间不足而导致数据库损坏时,提前一小时发来的电子邮件或短信很可能帮助我们摆脱噩梦般的紧急加班与系统停机。我们没有理由不在数据中心内充分利用监控这一利器。
今天的规则汇总就说到这里。它们不仅应该被严格遵守,更有理由成为IT工作中根深蒂固的指导性原则。对于深刻理解IT工作内涵的技术人员,这六条法则只不过是必须坚守的观念;但在其他人看来,它们则如同IT大师一般只是个可望而不可即的神话。