告别物理数据中心:Stack Overflow 的“服务器大拆卸”之旅
自 2010 年 10 月起,所有 Stack Exchange 网站都运行在纽约市(实际位于新泽西)数据中心内的物理硬件上。这些服务器在我们的历史和心中占有一席之地。当我第一次加入公司并在纽约办公室工作时,我看到最初的服务器被安装在墙上,并附有一块赞扬的牌匾,就像一只心爱的宠物。多年来,我们分享了服务器机架的光鲜照片以及更新它们的信息。
在我们近 16 年的存在中,SRE 团队管理了所有数据中心操作,包括物理服务器、布线、机架安装、更换故障磁盘以及其间的一切工作。这项工作需要有人亲自到数据中心并操作机器。
此后,我们将所有网站迁移到了云端。我们的服务器现在是“牲畜”,而不是“宠物”。没有人需要开车到我们的新泽西数据中心更换或重启硬件。上周之后,这种情况将不再发生。
这是因为在 7 月 2 日,为了迎接数据中心的关闭,我们拆下了所有服务器,拔掉了所有电缆,并为这些曾经强大的机器举行了最后的谢幕。过去几年,我们一直在计划拥抱云端,并将我们的基础设施完全迁移到那里。我们在 2023 年将 Stack Overflow for Teams 迁移到了 Azure,并证明了我们可以做到。现在我们只需要处理托管在 Google Cloud 上的公共网站(Stack Overflow 和 Stack Exchange 网络)。去年年初,我们在新泽西的数据中心供应商决定关闭该地点,我们需要在 2025 年 7 月之前搬出。
我们的另一个数据中心——位于科罗拉多——已于 6 月退役。它主要用于灾难恢复,而我们已经不再需要。Stack Overflow 不再拥有任何物理数据中心或办公室;我们完全在云端和远程工作!
特别感谢 SRE 团队以及许多其他帮助实现这一目标的人。我们很快会有几篇博客来讨论将 Stack Exchange 网站迁移到云端的过程,但现在,请欣赏这些照片。
我们在这个地点共有大约 50 台服务器。以下是当天开始时服务器的样子:
每台机器有八根(或更多)电缆,乘以超过 50 台机器,就是很多电缆!在上面的图片中,你可以看到大堆的电缆。尽管它们被整齐地包装在一个小笼子(称为“臂”)中,每台服务器一个,但拆除这么多主机的电缆仍然是一项繁重的工作。
为什么每台机器有这么多电缆?这里有一张 staged 照片,展示了单独的电缆:
- 蓝色:1x 1G 以太网电缆,用于管理网络(远程访问)。
- 黑色:1x 电缆,将 VGA 视频和 USB(键盘和鼠标)信号传输到“KVM 交换机”。通过 KVM 交换机,我们可以连接到数据中心中任何机器的键盘/视频/鼠标。它很昂贵,但值得。在紧急情况下,我们总是可以“在机器面前”而无需离开家。
- 红色:2x 10G 以太网电缆,连接到主网络。
- 黑色:另外 2x 10G 以太网电缆,连接到主网络(仅限需要额外带宽的机器,例如我们的 SQL 服务器)。
- 白+蓝:2x 电源电缆(每条连接到不同的电路,以实现冗余)。
硬件爱好者应该会欣赏这些。但随后是拆卸它们的时候了。我们的 Staff Site Reliability Engineer Josh Zhang 有些感慨。“几年前,我安装了新的 web 层服务器作为计划升级的一部分,”他说。“ bittersweet 的是,我也是拆卸它们的人。” 这是 IT 版的《老黄狗》。
我们假设大多数数据中心关闭都会保留某些机器以迁移到新的数据中心。然而,在我们的情况下,所有机器都被处理掉了。这让我们能够自由地快速行动并打破东西。如果它在我们的笼子里,它就会被送到处理公司。出于安全原因(以及保护我们所有用户和客户的 PII),所有东西都被粉碎和/或销毁。没有保留任何东西。正如我们的可靠性工程总监 Ellora Praharaj 所说,“不再需要温柔了。”
清理机架有两个步骤:首先我们拆除所有机器的电缆,然后我们拆下机架。以下是一些正在拆除电缆的机架。任何可回收的东西都已被移除。因此,我们不需要整洁,也不需要小心。在这里,你可以看到处于不同拆除电缆阶段的机架。之后,大堆的电缆被扔到大堆上。
曾经遇到过断开 RJ45 电缆的困难吗?好吧,这是我们直接剪断这些该死的东西的机会,而不是弄清楚为什么小卡扣不会释放插头。
垃圾堆。我们的拆除电缆过程包括将所有东西扔到房间的角落,直到我们意识到可能会阻塞我们唯一的出口。然后我们堆得更高,而不是更宽。
所有服务器和网络设备都被堆放在地板上。总共七堆。
这是 2015 年左右我们建造所有这些时的“之前”图片,还是我们拆除所有东西时的“之后”图片?我们让你猜!
就这样,伙计们!
非常感谢 Ellora Praharaj、Tom Limoncelli 和 Josh Zhang 提供的图片和信息。以及承担了繁重的工作。