Facebook|Facebook 大宕机:远程工作的一曲悲歌( 二 )


我们现在所称的“互联网” , 字面意思是“网际(inter-)网络(net)” , 也就是“网络的网络” , 是无数张小网络如“岛屿”般彼此连接的后果 。 这些小网络可能是“中国电信”、“清华大学”或者“x 公司北京办事处” 。
相对于全球所有联网电脑而言 , 一整个国家——比如中国或俄罗斯——的全国网络也算是一张巨大的小网络 , 通过海底电缆等“桥梁”同其它外“岛”相连 。 但由于它们遵守相同的协议 , 所以联网方法完全相同 。
BGP 就是要告诉用户 , 在地理意义上 , 你必须经过某些“岛”和“桥梁”才能到达目的地 。 一般来说 , BGP 会智能地选择多种不同路线中距离最短的那一条 , 当然“最短”不意味着“最理想” , 因为有些“桥梁”比如 5G 数据连接是收费的 。
当 Facebook 的 DNS 服务器注意到问题 , 就自动停止继续分发 BGP 路由信息 , 等待连接恢复正常 。 因为全球各地设备无休止的发起不成功的访问请求 , 会导致对上级 DNS 服务器更严重的冲击 , 让影响扩散得更严重 。
这样的事情曾在中国发生过一次 。 2009 年 5 月 19 日 , 两个盗取游戏资产的黑客私斗 , 导致第三方域名解析服务 DNSPOD 被攻击到瘫痪 。 中国电信停止了对其的网络服务 , 致使其无法为域名提供解析服务 , 诸多采用 DNSPOD 服务的网站无法访问 。
恰好当时全国装机量约 1.2 亿台的影音播放器“暴风影音”会定期自动访问服务器检查更新 , 也因为 DNSPOD 故障而不断发起域名解析请求 , 最终干掉了整个电信运营商的本地域名服务器 , 引发了全国大断网 。
在本次事件中 , Facebook 内部的 DNS 服务器本身仍在工作 , 但主动选择停止解析 , 以保护更大范围内的网络 。 虽然修理它并不是什么难事 , 然而一系列连锁反应使问题进一步恶化 。
怎么会这么严重?
缺乏网络连接和域名解析丢失 , 切断了远程工作的 Facebook 工程师和服务器的联系 , 也禁用了许多他们平常使用的检修工具 。 一位 Facebook 内部人士在 Reddit 爆料 , 当时的情况是:
会修的人连不上路由器也没有登录权限 ,
有权限的人不会修也连不上 ,
唯一在机房能物理接触到路由设备的员工没有权限也不会修 。
由于内部通讯工具也掉线了 , 这三波人协作困难 , 雪上加霜 。
公司内部的混乱是全方位的 。 员工之间本来用公司自己的通讯工具沟通 , 有时即使需要访问友商业务如谷歌文档和 Zoom 会议软件 , 也要求使用 Facebook 账号单点登录 。 系统崩溃让这一切都陷入停顿 。
有的员工在事发之前已经用公司账号登录到谷歌文档等环境 , 受影响尚且较小;有的急忙上线 , 却发现自己只能用基于微软 Outlook 的工作邮箱、苹果的 Facetime 等各种各样的替代服务与同事联系 。
新浪科技驻硅谷记者郑峻写道:
“一位 FB 朋友说 , 今天大家都很尴尬 , 不知道发生了什么 , 也不知道该做什么 , 只好假装什么都没有发生 , 在给一家不存在的网站工作 。 ”
修复工作很显然无法远程完成 , 工程师们紧急“打飞的”到加州的主数据中心参与维修 。 在此期间 , 一些员工并不能使用门禁进入公司大楼和会议室 , 而这些地方的门只能用门禁卡刷开 , 没有钥匙孔 。
The Verge 甚至曾一度获得更戏剧性的消息——因为门禁卡失效 , 工程师只能带着切割机 , 强行锯开数据中心的服务器铁笼 。 不过后面这个报道未经证实 , 被撤回了 。
不过一旦人都被“物理传送”到了合适的位置上 , 事情相对就好办多了 , 只需要“激活安全访问协议”而不是动用电锯 。