记录一下刚刚发生的内部业务系统故障

2019-02-14 14:12:22 +08:00
 zhujinliang
公司有一内部业务应用,运行在公司机房里的一台服务器上,同机房里还有宽带接入、核心交换等设备。
公司有两处办公地点,A 处为老办公室,设备有些老旧,服务器也放在这边; B 处为新办公室,我们技术部在这边办公。两办公室各自有独立的局域网以及公网 IP,使用 IPSEC VPN 连通。

上午 9:40 左右,有同事反映业务系统打不开或加载超时。毕竟系统跨着公网,这种故障偶有发生,我们像往常一样检查 VPN 是否通畅、两个路由器负载是否过高、是否有某 IP 流量异常。
检查一圈下来没有发现异常,我们这边打开正常,A 处路由器负载有点高,但不像是故障原因。于是跟同事们说可能 A 处网络有卡顿,大家稍后再试一下。
这个事就暂时这样了。

上午 11:00 左右,越来越多的同事反映系统无法使用,我们尝试打开系统,发现故障升级了,报 502 错误,此时肯定大家都无法使用了。
通过 SSH 登录业务服务器,ps 查看发现业务应用没有运行,查看日志发现数据库表有错误。
我们部门领导已打车奔赴前线调查故障原因以及安抚用户情绪。
尝试使用 SQL 命令修复表,失败,提示无法创建临时文件,没有权限。担心硬盘故障,df 查看剩余空间足够,dmesg 没有报告硬盘写入错误,SMART 报告健康,松了口气。
中间看了下 uptime,服务器刚刚被重启过。
继续尝试修复表,通过万能的 StackOverflow 得知可以使用 myisamchk 修复表,于是停掉数据库,进入数据目录,尝试修复表文件。
修复进行顺利,在修复了若干表后,11:30 左右通知同事们业务系统可用了。

与此同时,前线的领导说故障原因找到了。
系某领导所在楼层的交换机故障引发。
某品牌某些比较老的交换机在长时间使用后会出现一种故障,以前见到过,交换机会在工作中突然进入一种异常状态,表现为超高的丢包率。
该领导发现自己上网卡顿,系统打不开,于是他拿起了机房的钥匙,把整个机柜断电,再重新上电来重启设备。服务器意外掉电又导致数据表损坏。

整个故障过程先是网络卡顿导致几个同事偶尔出现加载失败的情况,然后交换机故障使得该领导以为故障迟迟未得到解决,于是他试图重启机房里的设备解决故障。可能他之前也这样做过,幸运的是没有造成服务器上的文件损坏,而且解决了故障。

总结:
网线千万条,稳定第一条。
重启不规范,运维两行泪。
7316 次点击
所在节点    程序员
49 条回复
mritd
2019-02-15 09:30:49 +08:00
@padapen #3 学会了
ttgo
2019-02-15 09:35:44 +08:00
咳咳,我干过类似的事儿,捅了特别特别大的娄子。
但万幸,当时没人发现。。
过了好多年,我才告诉别人当年是我干的。。
openbsd
2019-02-15 09:36:43 +08:00
@lcatt #40
照顾领导情绪及习惯,额外配置一个插座 只接非智能的交换机 ,嘿嘿......
换领导不易,换智能插座还是可以的,顺便告诉领导,以后不用拿钥匙去机房这么麻烦,APP 上点一下就好
notreami
2019-02-15 09:45:57 +08:00
为啥这么多人跪舔呢?
realpg
2019-02-15 10:48:04 +08:00
@lcatt #40
好的机柜集成 PDU 每路没一个都带独立空开,上面带总的空开+漏保
xi2008wang
2019-02-15 11:09:07 +08:00
自己检讨一下吧,因为出了问题,折腾的是自己。

自己负责的服务器,自己要监控起来:
连通性监控、重启监控、磁盘用量监控、进程监控、业务数据(用户数、注册数)监控;

还有硬件部署隔离及整改:
机柜隔离、电源隔离、UPS 保护、硬件标签及警告标示
winglight2016
2019-02-15 11:53:55 +08:00
断电重启的骚操作。。。
xi_lin
2019-02-15 12:46:29 +08:00
领导牛逼
BUPTGuo
2019-02-15 13:07:28 +08:00
于是他拿起了机房的钥匙,把整个机柜断电,再重新上电来重启设备……牛逼大法了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/534931

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX