众所周知,故障是运维人员永远的痛!我相信每个运维人员的KPI之一就是可用性。高可用性意味着没有故障。不同的公司对可用性和故障等级有不同的标准,但是避免故障的方法是相同的。我们如何避免失败,下面简单罗列一下,共勉大家!1.Changesmustberolledback,testedinthesameenvironment所有变更必须有回滚方法,在相同环境中测试。没有做过的事情,总会在意想不到的地方给你沉重的打击。多年的运维经验告诉我们,凡是没有做的改动,出错的概率都很高。所以我们需要给变更赋予回滚的可能,在每一步都可能出错的时候考虑回滚到原来的状态。优秀的运维人员远离不考虑回滚的操作。从某种意义上说,运维是一门经验的学科,也是一门试错的学科。2.谨慎破坏性操作。破坏性操作的列有哪些?对于数据库,有:DROPTable、Dropdatabase、truncatetable、删除所有数据;这些操作完成后,几乎不可能考虑如何回滚所有数据。即使回滚,成本也非常高。你执行这样一条语句很简单,但是要回滚和恢复数据就很难了。这些操作必须更加谨慎。3.设置命令提示符,让你时刻知道你在操作哪个数据库,在哪个目录下。如果你打开多个标签,如果每个标签标题上的内容都一样,我们可能操作错了标签如果你来回切换。这样设置之后,出现这个问题的概率就会小很多。4.备份并验证备份的有效性。人总是会犯错误,机器可能有一天突然崩溃,那我们该怎么办呢?我们需要准备备份。有了备份,就可以高枕无忧了吗?或不。您需要验证备份的有效性。任何备份都不能保证它备份的数据能100%恢复正确的数据。因此,备份不仅仅是备份,还包括对备份的验证。如果不能恢复正确的数据,那只是浪费空间。5.交接和休假是最容易失败的,改这个是凭经验请慎重。我们在总结故障情况时发现,当公司部门有变动,工作交接时,故障频率会比平时多出50%以上。有人说,这是因为机器或应用程序是情绪化的操作者,不愿离开。暂且不谈感受,简单理性分析一下。公司或部门难免会做出一些调整。变化是世界上唯一不变的东西。运维人员就是在一线做事的人。部门调整或领导变动,可能会导致工作重心不同、做事方式和评价标准发生变化,在适应过程中难免会出现一些考虑不周的地方,从而导致失败。这也是合理的。因此,运维部门和运维人员需要尽可能冷静地对待变更;在接手别人的工作时,需要反复确认变更计划。向人们寻求建议并不一定是无能的表现;去度假前检查各种可以做的事情,最好准备一份文件,说明在什么情况下做什么以及联系谁。趁着别人放假接管工作,“能拖就拖”,确实需要落实:必须不厌其烦地与原操作员确认每一次操作的细节。6、设置报警,及时获取错误信息。设置性能监控以了解历史、获取趋势并预测未来。运维最好的状态不是故障来了,泰山崩了才不惊,而是没有故障,让故障消灭在萌芽状态。请为那些天天想着我们系统的隐患,如何解决,如何及早发现的默默无闻的运维人员鼓掌。他们是最可爱的人。而他们赖以生存的工具就是报警和监控。oracle发展了这么多年,awr和相关的性能参数都比较齐全;MySQL现在已经赶上来了,配套的工具也越来越多。告警可以让您及时了解系统的异常情况。性能监控可以让您了解系统的历史性能信息。分析故障发生时的各种现象,确定故障的真正原因;了解变化趋势,发现故障苗头,及早优化调整。其实告警和性能监控并不是完全独立的,很多性能监控项也是可以告警的。
