Facebook的宕机是一系列不幸的事件

一个糟糕的命令,一个有缺陷的审计工具,一个阻碍网络恢复的DNS系统,以及严密的数据中心安全都是导致Facebook七小时垃圾箱火灾的原因。

Facebook说,周一宕机的根本原因是例行维护工作出错,导致DNS服务器不可用,但首先是整个Facebook主干网络崩溃。

更糟糕的是,失去域名服务器使得Facebook的工程师无法远程访问他们需要的设备来恢复网络,所以他们不得不进入雷竞技电脑网站数据中心手动重启系统。

这减慢了速度,但他们的速度更慢,因为数据中心有适当的保护措施,使任何人都难以篡改。“他们很难进入,一旦你进入,硬件和路由器的设计就很难修改,即使你雷竞技电脑网站有物理访问权,”一位专家说Facebook博客作者Santosh Janardhan,该公司工程和基础设施副总裁。

这需要时间,但一旦系统恢复,网络就会恢复。

恢复在网络上运行的面向客户的服务是另一个漫长的过程,因为一次打开它们可能会导致另一轮崩溃。Janardhan写道:“个别数据中心报告的用电量下降幅度为数十兆瓦,突然扭转这种用电量下降的趋势可能会使从电力系统到缓存的一切都面临风险。”。雷竞技电脑网站

Facebook总共宕机了7小时5分钟。

例行维修故障

作为中断的开始,Facebook只在美国东部时间上午11点39分让部分骨干网络离线进行维护。Janardhan写道:“在这些例行维护工作中,发布了一个旨在评估全球骨干网容量可用性的命令,无意中关闭了我们骨干网的所有连接,有效地切断了Facebook全球数据中心的连接。”雷竞技电脑网站

这不是我们的计划,Facebook甚至有一个工具来整理可能导致如此灾难性失败的命令,但它不起作用。Janardhan表示:“我们的系统设计用于审计此类命令,以防止此类错误,但该审计工具中的一个缺陷使其无法正确停止该命令。”。

一旦发生这种情况,DNS就注定要失败。

DNS是单点故障

对主干崩溃的自动响应似乎是导致DNS崩溃的原因,据安吉丽克梅迪娜,思科千家万户产品营销负责人Yes监控并分析internet流量和中断.

DNS或目录名称服务响应有关如何将Web名称转换为IP地址的查询,Facebook拥有自己的DNS名称服务器。Medina说:“他们有一种架构,在这种架构下,他们的DNS服务可以根据服务器可用性进行放大或缩小。”“当服务器可用性因为网络故障而降至零时,他们关闭了所有的DNS服务器。”

这种停用是由Facebook的DNS名称服务器向互联网发送消息完成的边界网关协议(BGP)存储有关用于到达特定IP地址的路由的知识的路由器。这些路由会定期向路由器发布广告,让它们了解如何正确引导流量。

Facebook DNS服务器的路由撤销消息禁用了向自身发布的路由,使得BGP路由器无法按自己的方式发送流量。Janardhan写道:“最终的结果是,我们的DNS服务器变得无法访问,即使它们仍在运行。这使得互联网的其他部分无法找到我们的服务器。”。

即使DNS服务器仍然可以通过互联网访问,Facebook用户也会失去服务,因为他们试图访问的网络已经崩溃。不幸的是,Facebook自己的工程师也失去了访问DNS服务器的权限,这对他们的远程管理平台访问瘫痪的主干系统是必要的。

“他们不只是为面向客户的Web属性使用DNS服务,”Medina说。“他们还将其用于自己的内部工具和系统。完全拆除后,网络运营商或工程师无法访问解决问题所需的系统。”

这意味着,工程师们不必从管理控制台修复问题,而必须亲自动手让数据中心设备一个接一个地恢复。

更健壮的体系结构将具有双DNS服务,这样一个可以备份另一个。例如,据Medina称,亚马逊的AWS提供DNS服务,其DNS使用两个外部服务Dyn和UltraDNS。

经验教训

这一事件揭示了网络最佳实践所暗示的Facebook架构的缺陷。“为什么他们的DNS实际上是一个单点故障?””她说。如果没有底层主干故障,并且单个DNS系统出现故障,那么这本身就可能引发中断,“所以我认为拥有冗余DNS是一个大问题。”

另一个普遍的观察是Medina对其他服务提供商的中断所做的。她说:“通常情况下,在这些中断的情况下,他们的网络中有太多的相互依赖,以至于整体服务架构中的一个小问题就会产生问题,然后就会产生某种级联效应。”

“许多公司都在利用大量内部服务,这样做可能会产生不可预见的后果。这可能需要更多的技术人员[分析],但我认为值得指出。”

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对自己最关心的话题发表评论。

版权所有©2021 IDG ComRaybet2munications, Inc.

SD-WAN买家指南:向供应商(和您自己)提出的关键问题