3.3.3 故障快恢
当故障发生时,有时无法第一时间定位根因,此时就需要高优使用通用的恢复方法进行止损恢复,比如找到服务最近的相关变更,进行变更回滚;针对异常服务进行服务重启等。通用的故障恢复方法一般包括重启、回滚、扩容、切流、限流、降级等。快恢的执行效率很大程度取决于是否有完备的预案和定期演练。这里给出一个相对通用的故障快恢SOP供参考:
1)收到故障告警的接口人立即召集团队人员上线,如果是白天就集中办公。
2)参与故障处理的人员分成3类角色,第1类负责快恢,第2类负责排查,第3类
负责信息同步,其中快恢人员要2人以上。这里重点关注快恢人员和信息同步人员的操作。
3)快恢人员上线后分3路执行止血操作,第1路是重启和扩容,第2路是回滚,第3路是检查上下游依赖。
3-1)重启与扩容:如果流量远小于集群容量,那么直接开始分批重启机器,如
在部分机器成功重启后,问题恢复,在保证容量的前提下将剩余的机器做下线处理;如果流量大于集群容量,或是遇到对流量敏感的故障,那么要先执行限流预案,再执行分批重启,同时进行扩容操作。
3-2)回滚:快恢人员通过变更管控系统检查2小时以内是否有应用发布或配置
变更的操作,立即停止正在进行中的发布和变更,并且进行回滚。
3-3)上下游依赖:快恢人员检查上游来源、下游依赖、DB与Tair、网络与磁盘等,一旦发现是应用以外的问题,立即截图并发送给对应的接口人,并加进故障处理群。截图信息要包含3要素,即时间、地点(应用与容器)、错误(堆栈信息、流量统计等)。
4)第3步中的3种措施中任意一种令业务指标恢复就是达到了目标,为其他人员
排查和根治故障争取到了时间。
5)负责信息同步的人员在整个恢复过程中,一方面需要向故障群、业务方、高层通报故障处理的进展,以及需要的支持;另一方面,在其他团队的人员加入排查时,提供信息的同步,帮助大家快速进入状态。