一个运维的存在感:微盟36小时事件,我们该反思什么?_IT技术周刊第618期

技术期刊
技术资讯尽在IT技术周刊

   今日,微盟发布有关微盟系统故障通告。通告指出,2月23日19点,系统监控报警,服务出现故障,大面积服务集群无法响应,生产环境及数据遭受严重破坏。

  此外该公司旗下SaaS业务服务出现故障,预测对有关业务带来一定负面影响。

  目前,公司正进行生产环节和数据修复工作,预计2月25日晚24点前生产环境将修复完成,所有新用户可恢复服务;预计2月28日晚24点前老用户数据修复可以完成。

  此次事故经调查系微盟研发中心运维人员贺某所为,贺某于2月23日晚18点56分通过个人VPN登入公司内网跳板机,因个人精神、生活等原因对微盟线上生产环境进行恶意破坏。目前,宝山公安局已将贺某刑事拘留,犯罪嫌疑人承认犯罪事实。

  反思:频繁吃一堑,如何长一智

  在谈反思之前,在此次事件中有几个问题我们还要关注一下,为什么这么长时间还没恢复?

  为什么一个人可以有这么大的破坏性?

  从公告中,我们可以看到,到目前为止,仍在进行中的恢复动作就是做数据恢复。

  所以有网友说不难推断,这次故障被破坏最严重的就是生产系统的数据库,而且一定是核心库,或许应用环境也被破坏掉了,否则影响不会像现在这么大。

  1. 数据恢复这么晚,说好的灾备呢?

  说道数据回复的时间长可能是以下几个原因造成的:

  这个事件非常不幸,就是传说中删库跑路的操作,而且极有可能是直接做了rm -rf或者fdisk这样的基本不可逆转文件删除操作,更极端可能是主备一起干掉了。

  数据库备份没有做好。可能压根就没有备份,只能从磁盘文件系统维度恢复;有全量备份,但是无增量备份,全量有可能是一个月、一周,三天等等,这中间的增量备份没做。

  不管哪一种,只要是数据库备份机制不完善,没做过完整的恢复验证,真正要恢复的时候一定会花大量的时间找回数据。

  2. 论一个人的破坏性?

  从这次事件看,微盟这种规模的公司不太可能像大公司,一下招很多运维或DBA,然后每个运维和DBA都严格按照不同业务授权,也就是每个DBA只能访问有限的业务库。

  小公司的成本不支持这种做法,而且招了这么多人也没这么多事情可以干。

  所以,对于绝大多数中小型公司来说,普遍和必然的现象就是,一个运维或DBA管整个系统,并且拥有整个系统所有主机的最大权限,比如root。

  说做好权限管控,要分层分级等等,这些玩法只针对大公司有效,因为大公司有钱,有量,有事情干,招一批人,分分工,分分权限,各管各的,完全没问题。对微盟这种类型的公司基本不可行。

  3. 避免问题,我们可以做什么?

  以上2个问题主要集中在运维人员权限太大,方便做了极端操作;公司没有有效的备份恢复机制。针对这两个问题,网上也有网友列出了自己的想法,小编罗列了几点。

  使用云产品,微盟虽然跑在云上,但是很显然并没有直接使用云数据库产品,应该是用了云的裸金属或者是虚拟机,然后在服务器上自己搭建的MySQL数据库。因为从我们使用的经验看,当前任何一家公有云厂商的数据库产品,都会有比较完善的自动备份和恢复机制,而且根本没有机会去执行rm -rf 和 fdisk这样极端的操作。

  做好备份。如果真心觉得自己有能力自建,那一定做好全量备份,增量备份,延迟备份,全量备份要多机房,异地备份,因为数据是核心资产,应用全删了还可以重新部署。

  关于权限控制,中小型企业如果真的没法做到最小授权,建议上个主机安全管控软件,或者堡垒机,各个云厂商都有,类似rm -rf 、fdisk、drop等等这样的高危命令是可以实时拦截掉的。

  技术人自觉才是保护用户数据的最后防线

  最近几年,由于技术人员故意或者有意造成的事故不计其数。2018 年 3 月,Stack Overflow 发布了他们的开发者调查报告,并首次提出了有关道德的问题。对于“开发人员是否有义务考虑代码的道德影响”这个问题,有近 80%的人回答“是”。不过,只有 20%的人认为他们最终在为不道德的代码负责,40%的人会在被要求的情况下写不道德的代码,只有 50%的人表示在发现不道德的代码时会举报。

  如果代码对世界的影响不大,那么这也许就不成问题。打个比方,如果你写了一个对 100 个人不利的算法,虽然这事不怎么光彩,但产生的影响也是有限的。但是,如果你在拥有数亿用户的 Facebook、Google、微信上做同样的事情,结果就会很严重。

  对于开发者来说,光是每天写业务代码就已经让人心力交瘁了。更何况不管在国内还是国外,技术在大部分时候都是为业务服务,开发者的话语权是拗不过盈利这条大腿的。但是,遵守职业道德是最后的底线,如果技术人员做不到这一点,那保护用户数据的最后一道防线就会崩塌。

  所以,技术人的自我修养,在纷繁复杂科技产物的当下显得更加关键。

 

责任编辑:张洁 来源: 51CTO
相关推荐

2020-02-26 11:11:50

运维微盟系统故障

2020-02-26 14:07:58

删库微盟运维

2021-10-11 11:05:30

技术资讯

2021-07-23 17:24:48

技术资讯

2015-09-07 12:06:10

51CTO技术周刊集群运维

2011-11-08 11:22:35

技术周刊

2020-04-28 18:12:31

技术资讯

2019-11-18 00:47:38

架构开发技术周刊

2015-06-08 11:09:06

技术周刊

2014-07-16 11:08:29

网络·安全技术周刊

2011-04-06 13:20:05

IT技术周刊

2014-08-19 14:09:57

网络·安全技术周刊

2012-10-31 14:59:39

网络·安全技术周刊

2013-09-16 10:29:39

IT技术周刊

2015-03-11 09:57:40

网络·安全技术周刊

2012-02-17 10:41:11

2014-07-04 17:05:13

网络安全周刊

2018-12-10 13:50:16

网络安全网络安全技术周刊

2014-04-18 15:22:25

Linux运维趋势

2010-07-05 16:17:30

IT技术周刊
点赞
收藏

51CTO技术栈公众号