因为一条简单的命令,Facebook宕机6小时,当天股价暴跌6%

网络 通信技术
最近Facebook发生史上最严重的宕机事件,导致其全球网络宕机6个多小时。一切都要从日常维护中的一条错误命令说起。

[[427699]]

最近Facebook发生史上最严重的宕机事件,导致其全球网络宕机6个多小时。

按道理,Facebook这种体量的公司,应该有一套完整的应急预案,不会出现长时间的宕机才对。可是,一连串狗血剧情的发生,让Facebook不得不接受这个事实。

首先是程序员敲错了一个命令,系统在审计命令的时候,应该不放行。巧的是,审计工具有bug,竟然放行了这条命令。

更要命的是,因为数据中心的安全设计,驻场工程师无法接触到服务器,只得“溜门撬锁”,费劲千辛万苦才修复完成。

修复完一上线又崩了一次,第二次才完全修复完毕,整个过程耗费整整6个小时,堪称史诗级灾难大片。

事件经过

一切都要从日常维护中的一条错误命令说起。

在日常维护基础设施时,工程师需要离线维护部分主干网,例如修理一条光纤线路、增加更多容量或者更新路由器本身的软件等等。

10月初,出于这一需要,工程师需使用一条命令,以评估网络状态,然而却误敲成清空路由表的命令。

按道理,审计工具应该拦截这条异常命令,结果因为工具本身的bug,这一条命令被放行。

在Facebook的系统设计中,Facebook所有域名服务器,会在服务器连接不上数据中心对应IP的情况下,停止DNS解析。这一设计的目的是如果IP不可达,那么网络存在问题,解析出来也没有太大的意义。这样一来,用户的请求仍然可以解析到其他IP上。

但是这一骚操作,直接将Facebook整套自有域名服务器瘫痪掉,即便其他服务器都没有问题,没有DNS指路,业务也无法顺利进行。

基础架构翻车、沟通协调不畅以及远程排除故障困难,是导致Facebook宕机6小时的主要原因。

另外一个原因有点让人哭笑不得。

数据中心有各式各样的安全设计,以防止数据盗窃以及其他安全事件的发生。然而因为这些设计上的问题,导致当天驻场工程师,无法第一时间接触到服务器,不得不强制清除一些“物理”障碍,修复时间一再推迟。

因为修复策略是一台一台恢复,导致先上线的少量服务器,无法顶住已经存在的巨大空转流量,而再次宕机。

最后拔了网线,将集群全部恢复起来,才最终完成修复。

后果

Facebook宕机事故丝毫不亚于前段时间“B站崩溃”事件,在国外引起了轩然大波。网友们纷纷围观,甚至调侃。

[[427701]]

还有一些品牌借此次事件进行营销。

宕机事故发生后,Facebook股价暴跌6%,扎克伯格个人财富一日之间蒸发逾60亿美元。

事后Facebook工程师们对此次事故进行复盘,估计要被很多低级的错误蠢哭,不过话说回来,很多事情就是这样,事前死活想不到,事后复盘猪一样。一开始工程师们做架构规划的时候,可能死活也想不到一些低级的错误。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2021-10-08 09:01:05

Facebook 宕机指令

2021-10-08 08:09:13

Facebook算法DNS

2021-10-11 11:05:30

技术资讯

2020-07-01 09:07:52

SQL索引语句

2009-01-09 08:41:12

联想裁员股价

2012-10-24 14:04:35

净亏损5900万美元

2011-03-21 17:19:12

LAMPUbuntu

2022-01-23 16:13:06

比特币加密货币暴跌

2022-07-31 22:07:03

宕机业务场景

2023-03-26 22:42:02

SQL关联索引

2012-08-01 10:45:40

Outlook

2009-01-16 08:28:09

信贷紧缩破产保护股价

2024-02-20 13:43:12

2023-11-10 09:48:34

2012-04-21 16:12:19

IPv6协议IPv6

2022-01-01 18:26:21

nginx

2011-09-14 17:18:04

方正笔记本

2011-06-12 18:46:10

台式机评测

2024-02-01 18:07:37

2021-12-02 15:30:55

命令内存Linux
点赞
收藏

51CTO技术栈公众号