首页 存档 技术 查看内容

从Gitlab.com宕机谈程序员“拿着卖白菜的钱操着卖白粉的心”

2018-3-30 13:00 |来自: 互联网 411 0

摘要: 每年回家,身为程序员的你,想必都会遇到 “你在什么厂工作、做什么工作,哪一行,工资多少,读了大学工资最少三五千起吧” 这样的问题吧? 对于这几个问题,许多程序员心中可能都有一个类似的答案:“搬砖的,拿着 ...

每年回家,身为程序员的你,想必都会遇到 “你在什么厂工作、做什么工作,哪一行,工资多少,读了大学工资最少三五千起吧” 这样的问题吧?


对于这几个问题,许多程序员心中可能都有一个类似的答案:“搬砖的,拿着卖白菜的钱操着卖白粉的心”。


在这一行待久了,当指尖在键盘跳跃,每一次敲打有可能是在为公司添砖加瓦,也有可能是点燃炸弹;或者是晚上下班前还运行好好的服务器,第二天早上莫名其妙磁盘满了导致系统宕机,早上被领导狂喷;也或多或少遇到过发完版本后引发问题时在生产环境疯狂救火;又或者是在夜深人静时,受到bug之神的诅咒,无意识地敲下 “rm -rf /”。。。


这不,知名项目托管网站 Gitlab.com 今天宕机了。


Gitlab 网站疲惫的系统管理员深夜在进行数据库维护时,使用 rm -rf 删了300GB 生产环境数据。等到清醒过来紧急按下ctrl c,只有4.5GB保留下来。然后恢复备份失败,网站已经宕了10个小时,现在还没恢复。



--坊间消息



Gitlab 官方对此也发布了消息称不小心删除了生产环境数据库,借助备份文件可能可以恢复。。。



GitLab.com 号称有五重备份机制:常规备份(24小时做一次)、自动同步、LVM快照(24小时做一次)、Azure备份(只对 NFS 启用,对数据库无效)、S3备份。这次事故发生时,所有备份全部无效!


要问为什么无效,现在还不得而知,IT界有很多未解之谜。。。这一次引发灾难的系统管理员,现在敲击接盘手都是抖的吧?


之所以对 “卖白菜的钱操着卖白粉的心” 有较深的感悟,是因为自己也干过这样的蠢事:


当年刚毕业,试用期,在某大厂,周五,下午五点多。


需要写个脚本批量增加某批用户(500多个)的属性,因为写的脚本有bug,在测试环境拿了有限的测试用户进行测试没发现问题。在生产环境执行时,500多个用户,就在一瞬间。。。资料完全写错了。


然后,技术总监把我叫过去拍着桌子训斥了十几分钟,我呆呆站在那里,有点发抖,眼眶湿润,就差没哭出来。要知道,当年部门每天300多w的收入,就是这500个衣食父母贡献的啊。。。


在我接受批评时,我的一些同事在根据“操作日志”、数据库冷热备份对数据进行恢复,过程持续到晚上9点,全部数据修复。


修复过后,总监把我叫过去给了一个拥抱,告诉我,“事情过去了,犯错才能成长,下一次注意就是了。我刚才太凶,向你道歉”。


这件事情过后,转正的时候部门并没有卡我,给予了宽容。但从这次卖白粉的经历,学到了几个教训:


(1)对写操作代码重复、多人review,允许的话,先做灰度测试验证。

(2)不要在将近下班或休假时候执行有危险性的操作。

(3)此类操作操作审计日志必须有。

(4)生产环境的执行操作,最好双人以上同时操作、确认。


本文转载于微信公众号: 程序员和产品经理(devpdm),更多微信文章请扫描关注公众号:

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部