首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面对未知服务器问题的选择和思考

面对未知服务器问题的选择和思考

作者头像
jeanron100
发布2020-04-15 17:26:30
6280
发布2020-04-15 17:26:30
举报

今天上班看到备份机的负载高得惊人,达到了几百倍的负载,然后就开始排查问题,因为前几天大概看了下,我们锁所做的事情还是很有限的,就算动用重启大法也是收效甚微,忙忙碌碌一早上,好像进展也不大,不由得感叹,这种被动的处理问题的方式好像也没有多少技术含量,整体在忙啥。

回到这台可怜的备份机,这台服务器使用了NFS的挂载模式,虽然我对于NFS还是比较感冒,但是为了解决这个问题,还是得硬着头皮和同事看之前总结的各种问题解答攻略,因为负载高得惊人,但是系统层面的IO压力和CPU压力其实并不高。所以能够基本排除是业务服务异常引起的。

但是这个回答不足以让人信服,那就是为什么之前是好好的,突然之间变成了这样,通过这个问题,我有了重新的感悟。

那就是原来所谓的好其实不是真的好,不代表原来就是正确的。而现在的问题触发方式可能就是一个事件,因为某个因素的变化导致问题从量变转变为质变,所以顺着这个思路来重新看待这个问题,其实可以发现很多的改进之处。

我在系统层面查看日志,发现系统日志中开始出现Kernel相关的错误。

  • XFS: possible memory allocation deadlock in kmem_alloc (mode:0x250)

在和系统部的同事经过了几次沟通之后,觉得还是专业的事情交给专业的人来做,我们就不在系统层面折腾,免得适得其反。

很快时间就过去了,转眼到了下午2点左右,系统那边的同事还没有明显的进展,而这个服务器的负载依旧是很诡异,所以我开始考虑plan B,在昨天我已经提前锁定了一台备份机器,所以也算是刚好赶上了这个节骨眼。

按照运维规范来说,周五是不应该做所谓的变更操作的,但是不变更就意味着完全忽视已有的问题,从潜在问题变为明显问题,到变为故障,这只是时间问题,所以必须要改,而且还需要尽快。

整个整改的计划从开始讨论到开始实施,也是做了分工和协作,基本能够让每个人都可以做到自己的角色和位置,很快任务就跑起来了。

也就意味着我们在问题变得严重之前已经开始撤离了原来的服务器,这样能够留出更多的时间和空闲资源供系统同事进行分析和确认,很快他们发现了逻辑卷层设置的问题,这块的改动比较大,需要重启启动服务器而且需要重新配置存储,因为我们很快切换了服务器,所以这个本来很严重的服务影响范围变得不那么紧要了。

很快我们发现这个问题不光影响备份,而且对于已有的监控也会产生潜在影响,比如NFS分区问题会导致df -h的命令被挂起,而监控中会潜在用到这个命令的输出结果,也就意味着监控服务会全部挂起,直到整个服务数据可以滚动。所以这一波修复着实让我们庆幸,避免产生更加奇怪的影响。

值得一提的是,其实还有一台备份服务器,和这台算是难兄难弟,他的负载也非常高,我目测按照这种情况,应该很难撑过今天,所以也是在下班前和同事进行了讨论,对服务做了降级处理。也就意味着,我不用太担心整个周末的质量了,不用大半夜被报警惊醒了。

当然,从解决问题的角度来说,问题的本质原因是类似的,而通过最近的一系列改进,算是对原来的一些旧疾的大改造。

在很多问题没有解决之前,对于我们来说,都是未知问题,问题发展的趋势如何,我们还是需要未雨绸缪,对于问题的评估也需要更加理性,从而解决方案也能够更加容易落地。

小结:当服务器真是不容易,不光要24小时连轴转,而且碰到负载高的时候,我都能想象如果备份机器是个人,应该是一个很憋屈的人吧。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档