你司有没有过运维事故?

2018-08-08 13:45:44 +08:00
 AllOfMe
删库,update 没加 where,rm rf /,误删 glibc 等等运维事故,小至两三人的创业公司,大至如最近的腾讯云磁盘事故,都有可能发生。
你们公司有没有过类似的事故?这些犯错的员工下场一般是怎么样的?
18134 次点击
所在节点    程序员
154 条回复
julyclyde
2018-08-09 10:19:39 +08:00
@AllOfMe 针对同一个大版本(比如 el6、el7 )的 repo,一般都会相互考虑依赖关系的。
把 glibc 都给冲掉,一般是用了不同大版本的 repo,而且装了依赖 glibc 具体版本的软件,而且这个被依赖的版本和当前大版本发行版里带的 glibc 不同
换句话说就是用了“野” repo
skymei
2018-08-09 10:25:48 +08:00
@junphe +1 删个小东西 怎么看到执行目录里面有 /etc 还执行半天,脑袋瞬间就炸了
yulitian888
2018-08-09 10:59:33 +08:00
做过一次。
数据迁移,从乌克兰的服务器搬运到国内服务器上。
因为传输实在是太慢了,还有各种程序需要升级和迁移,所以连续 3 天没合眼,真的是完全没合眼。做到第二天的时候,精神恍惚了,执行了一段 delete 语句,没有加 where。
因为数据很多,删除需要一段时间才能完成,所以等我点停止的时候,已经丢了两亿多行。
然后,只能重新搬一次数据,多做了半天时间才搞完全部任务
xiaowangge
2018-08-09 11:11:09 +08:00
游戏行业,说点代码相关的:

0、经验值存储为 Java Integer 类型,N 年后有玩家经验为负数了。

1、听公司同事说,创业前期,一个 while 循环,导致隔三差五就宕机,公司差点就关门。后来规定,写 while 循环需要申请 :-)

2、for 循环写日志,导致隔三差五就宕机。

3、前端、后端都没有对玩家提交数据做检验,玩家买 N 个 X 元的物品,N 对应的存储越界

4、策划把 test 目录下的配置,更新到了线上,1000 元的物品卖 1 元。

=====================================

帖一篇文章《 5whys 分析法在美团工程师中的实践》

https://tech.meituan.com/5whys_method.html

#####Step 1:对事故进行详细描述

“ If I had an hour to save the world,I would spend 59 minutes defining the problem and one minute finding solutions.”
– Albert Einstein

对于事故进行定义和描述比较重要,这一步不可省略。在描述事故时,我们基于 5W2H ( What,Who,Where,When,Why,How,How much )分析法来对事故进行描述,说清楚事故发生的时间,地点,发现人,怎样解决的,解决的时间等等。

What:描述下发生了什么问题。
Who:描述下责任人是谁,谁发现的问题,谁解决的问题。
Where:描述下在哪里发现的事故。
When:描述下事故的时间因素,什么时候发现的事故,什么时间解决的事故。
Why:描述下为什么是个事故,强调事故的影响。
How:描述下事故是怎样被解决的。
How much:描述下事故的可量化的影响范围和造成的损失,影响了多少用户,造成了多少损失等等。

#####Step 2:提问:为什么这问题会发生?

#####Step 3:检验上一步中发现的原因是否是根本原因?

#####Step 4:找到问题发生的根本原因,制定执行计划并修复

#案例分析

请看原文吧:
https://tech.meituan.com/5whys_method.html
raptor
2018-08-09 11:19:16 +08:00
工作后的第一次大事故是在对 SAP 不熟的情况下,在传输请求时把所有开发机上的变更请求都传到生产系统上,本来只是要传一个的,后来只好找顾问回滚操作,折腾好几天系统才恢复。
之后有过一次 RAID5 坏了一块硬盘也丢数据的情况(不知道 DELL 是怎么回事,IBM 就不会),从那以后我再也不用 RAID5,生产系统老老实实用 RAID10,不要去省那一点硬盘钱。
至于自己的 VPS 事故就多了去了,比如删除 libc 之类,还有升级 FreeBSD 的时候误操作。上个月升级 FreeBSD 还出了错,最后只好重装。
还要配置防火墙失误把自己关了这种事情感觉每个配防火墙的新手都会碰到。
tomato3
2018-08-09 11:39:23 +08:00
@liuzhedash 10 条里面 第 9 条是最骚的
FONG2
2018-08-09 11:44:19 +08:00
几乎不可能无意出错 生产都是多重备份的
倒是开发和测试环境经常被草,不过 copy 一份生产即可
除非运维想故意搞破坏吧。。。
rooftop64
2018-08-09 11:56:15 +08:00
@GoLand 这个 Github Page 的模板叫啥?看起来不错
tomato3
2018-08-09 12:36:58 +08:00
@junphe 我的第一次 rm -rf 就是这样的
imherer
2018-08-09 13:14:06 +08:00
以前在页游公司:
1.招了一个实习生,生产环境执行 sql 没加条件,把后台的 user 表里的所有密码都更新成同一个了,第二天早上一来,全公司人都在说后台怎么等不进去了,提示密码错误。从此以后数据库加了严格的权限管理😂
2.做一个在一段时间内充值 xxx 送 xxx 金币的活动,在测试服把开始时间和结束时间设的很大,然后下班前更新到了正式服,忘了修改开始时间,本来第二天 0 点才开始的。 结果运营金币池瞬间为 0,半夜 2 点领导给我打电话说出问题了,然后起来把有问题的账号都临时封禁,一直封到第二天中午才封完。后来的处理是回档,然后过了几天就有玩家直接闹到公司来了。。。
3.还有一次记得那时候网站是用 ASP.NET 做的,有一次直接在服务器上用记事本打开配置文件添加一个配置项,记得它那个配置项里注释好像是这样的 <!-- --> ,然后少打了一个横线直接保存,网站直接挂了。 看到玩家在群里反应说网站上不去了。 查了半天系统 log 才找到问题所在🤣
qcloud
2018-08-09 13:20:43 +08:00
重装系统,发送了重装命令,发现装错了,把公司一台 dns 生产服务器重装了,幸好有快照。
还有一次给服务器装系统,数据没备份就重装了,后来一想,数据在数据盘!嗯!
zeromake
2018-08-09 13:34:57 +08:00
有的我这边就有个刚入职几个月的,一周搞了好几次事,

周一负载均衡绑了个不存在的服务,然后就随机一些用户访问不了,问了才知道他加了新节点;
周三把 k8s 的内部 dns 炸了,整个 k8s 里所有服务炸了,和阿里讨论了老半天,他才突然说一句改了安全策略;
周末把测试用的 redis 释放了,然后竟然有正式服务依赖这个。
kanyuxia
2018-08-09 14:08:11 +08:00
虽然不是运维事故,但是挺...
前两天,我手残把项目分支给删了,然后 pull 的时候说分支不见了,然后给老大说我们的项目分支不见了,然后高潮到了,后面老大看记录说我把分支给删了,现在回想起来,感觉自己像个智障。
totland
2018-08-09 14:12:32 +08:00
个人没遇到过,不过猪队友经常搞出事情来,隔段时间给他们擦次屁股。
ryd994
2018-08-09 14:31:48 +08:00
不是公司,自己搞的小玩意,一不小心删了配置文件
还好服务还在跑,从内存 dump 里又抠出来了
dany813
2018-08-09 14:39:42 +08:00
rm -rf 删了代码库,。。。。。
wr410
2018-08-09 15:53:21 +08:00
不用 root 用户就不会发生很多低级事故,就这么简单。

你跟我说要布 80/443 端口? rinetd,nginx 了解一下?
iwaifor
2018-08-09 16:01:22 +08:00
@KasuganoSoras 你这个是下发指令,让机器人执行么
NoahNye
2018-08-09 16:43:23 +08:00
交换机上有一根调试网线,路过不知哪位小可爱看吊了个线头不美观,找了个交换机口插了上去。
loveour
2018-08-09 18:01:42 +08:00
@foxni 之前看到有人讨论,说 RAID 不安全,理由就是,挂掉一块硬盘后,重建过程再挂掉一块的概率比想象中高得多。不知道有没有实际生产数据支持这个观点。

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

https://www.v2ex.com/t/477926

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

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

© 2021 V2EX