返回资讯中心
外部精选
软件工程
#开发者实时流

Namespace Labs 在数据中心部署数百台 MacBook Pro 搭建 Mac 服务器机架

来源标题:Mac at Any Scale

Namespace Labs 为满足客户构建和测试 iOS 应用的需求,在数据中心拆封数百台 MacBook Pro 并组装成定制 Mac 机架。由于 Apple 未提供其他方案,该公司选择笔记本而非 Mac Mini,并实现了数秒内启动 macOS 实例、Apple 发布新 Xcode 后数小时内交付的能力。

Hacker News 最新anner_2026/11/3 · 4 天前30 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

你很可能在 X 上见过我:拆开数百台 MacBook Pro,部署到数据中心里。那段视频引起了不小的反响:第一眼看确实疯狂,但如果你了解我们现在掌握的情况,就会觉得它其实相当合理。

为我们的新服务器机架大规模开箱 Mac。

1K9645K1.8K

所以今天我想讲讲背后的故事:搭建定制 Mac 机架需要什么,我们如何能在几秒内从零启动 macOS 实例,以及如何在 Apple 发布新版本后仅数小时就交付新的 Xcode 版本。

因为我们的客户需要 Mac。也因为 Apple 没给我们别的选择。

我们的许多客户要构建和测试 iOS 应用。没有 Mac 就无法构建 iOS 应用。iOS 模拟器只能在 Mac 上运行。而且,要把应用发布到 App Store,Apple 要求使用较新的 Xcode 版本。xtool 很酷,但它(还)不是严肃的替代方案。所以你的编码 agent 需要一台 Mac。

但话说回来,为什么是笔记本?这不是在浪费屏幕像素、键盘按键和电池离子吗?确实如此,Mac Mini 才是数据中心更合适的选择。当然,它的远程管理非常简陋,没有冗余电源,还有一个漂亮的外壳,保证无论你把它哪一面朝下放,散热都很困难。但这些都是我们已经学会应对的已知挑战。

可你真的试过订购几百台 Mini 吗?我们试过。一月下单,七月才到货。欢迎来到 2026 年,供应链一片混乱。更别说 Apple 并不会同时给所有设备更新 CPU 型号。所以 Mac Mini 有 10 个月没拿到 M5 核心(然后突然又比其他任何设备型号都先拿到了 M6!)。我们向客户承诺最好最新的东西,所以必须另辟蹊径。MacBook 进数据中心项目就这样诞生了。

好的设计需要迭代;我们显然不是第一次就做对了所有事情。但我认为这套系统已经打磨到位了。

每台 MacBook 都连接到一个 IP KVM 用于远程管理。处理笔记本时这是不可或缺的。与 Mac Mini 不同,笔记本固件的设计是以屏幕为中心的:某些维护操作只能通过点击漂亮的 GUI 中的按钮来完成。

当然,每台 MacBook 都配一个外置 10G 以太网网卡。Namespace 的很多同事都是网络极客,我们为提供给客户的连接速度和可靠性感到自豪。

然后是供电。所以每台笔记本总共四根线缆,每层货架四十八根,再加上十二根以太网线,还有 KVM 布线。只能说,精心的线缆管理至关重要。

散热管理也是如此。目前我们部署的是定制支架,设计用于从热点导出热量、引导热空气排走,而不是吹向附近的机器。

自然,我们预料到了问题和挑战。只是没想到它们出现在别的地方。

我敢打赌,你们有些人看了上面的图,看到插着的 MagSafe 线缆,就已经开始写一条阴阳怪气的推文,说 MagSafe 不安全、可能会意外断开。

是的,我也担心过这一点。但现实是,我们见过的 MagSafe 断开案例非常少。

最不可靠的线缆?HDMI!通常又粗又硬。每次碰到货架都容易掉出来。

幸运的是,我们现在找到了几乎完美的线缆,弯曲度正好符合我们的需要。而且我们把它们的库存全买光了。Amazon 上已经一根都订不到了。

另一个痛点:FileVault 磁盘加密。或者更准确地说,解密。当 MacBook(以非计划的方式)重启时,它会提示输入密码来解锁本地磁盘。提示会显示在屏幕上(机架里某台合上的笔记本的屏幕上,唉)。我们想,没问题:我们连了 KVM 就是为了这种情况!

不,没那么简单。密码提示在无操作 5 分钟后会从外接屏幕上消失。然后我们想起 macOS Tahoe 引入了一个有用的功能:我们可以通过 SSH 协议远程解锁 FileVault。还是不行。在笔记本上它同样 5 分钟后过期。看来脱离这个状态的唯一办法是物理按下按钮重启,并赶在超时前解锁。Mac 重启说到这个话题,一个小提示:你可以用某种方式重启 Mac,在需要时保持磁盘解锁:fdesetup authrestart。

然后就是单纯的 bug。在某些条件下,外置 USB 网卡会停止工作,表现得像没通电一样,显示无链路。换一根线、换一个网卡、换一个交换机端口,都不行。但快速访问一下网络偏好设置,在 macOS 设置中删除并重新创建“网络服务”,它就能复活。

目前我们其实轻松多了:M5 和 M6 的 Mac Mini 和 Studio 很快会进入我们的机群。它们在数据中心里管理起来简单得多:内置 10 Gb 网卡,断电重启后会自动开机,操作系统可以完全通过 MDM 自动配置。

但 Namespace 对 Mini 也有自己的独门秘方。我们设计定制货架来放置这些机器,重点是高效散热。我们用气流模拟测试了几种设计,才最终确定现在部署的方案。

最终安装 Mac Mini 轻而易举:拆箱,把 10 台放进支架,接上电源和网络,按一次电源按钮(位置出了名地不方便)。之后自动化就会接管它们。

在底层,一个 Namespace 实例由虚拟机支撑。我们把多个虚拟机引擎集成到一个统一平台中,以最高效的方式运行 Linux、Windows 和 Mac 实例。这样我们就能提供让 Namespace 与众不同的相同功能,比如缓存卷、遥测或 VPC 连接。

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →