
Namespace Labs 在数据中心部署数百台 MacBook Pro 搭建 Mac 服务器机架
来源标题:Mac at Any Scale
Namespace Labs 为满足客户构建和测试 iOS 应用的需求,在数据中心部署数百台 MacBook Pro 搭建定制 Mac 机架。由于苹果未提供其他可行方案,该公司选择用笔记本而非 Mac Mini,并称可在数秒内启动 macOS 实例、在苹果发布新版本数小时后提供新 Xcode 版本。
以下正文由 AI 翻译自 Hacker News(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
你很可能在 X 上见过我:拆开数百台 MacBook Pro,部署到数据中心里。那条视频引起了不小的反响:第一眼看确实够疯,但如果你了解我们现在知道的东西,就会觉得它其实挺合理。
为我们的新服务器机架大规模开箱 Mac。
1K9645K1.8K
所以今天我想讲讲背景:搭建定制 Mac 机架需要什么,我们如何能在几秒内从零启动 macOS 实例,以及在 Apple 发布新版本后仅数小时就交付新的 Xcode 版本。
因为我们的客户需要 Mac。也因为 Apple 没给我们别的选择。
我们的很多客户在构建和测试 iOS 应用。没有 Mac 就构建不了 iOS 应用。iOS Simulator 只能在 Mac 上运行。而且,要把应用发布到 App Store,Apple 要求使用较新的 Xcode 版本。xtool 很酷,但它(还)不是严肃的替代方案。所以你的编码代理需要一台 Mac。
但还是那个问题,为什么用笔记本?这不是在极大浪费屏幕像素、键盘按键和电池离子吗?嗯,是的,Mac Mini 对数据中心来说是更好的选择。当然,它的远程管理非常简陋,没有冗余电源,还有一个漂亮的外壳,确保无论你把它哪一面朝下放,散热都会很困难。但这些都是已知挑战,我们已经学会应对了。
可你真的试过订几百台 Mini 吗?我们试过。一月下单,七月到货。欢迎来到 2026 年,供应链一片混乱。更别提 Apple 并不会同时给所有设备发布更新的 CPU 型号。所以 Mac Mini 有 10 个月没拿到 M5 核心(然后突然在任何其他设备型号之前拿到了 M6!)。我们向客户承诺最好和最新的东西,所以我们必须有创意。MacBook-in-Datacenter 项目就是这样诞生的。
好的设计需要迭代;我们当然不是第一次就做对了所有事情。但我认为我们已经把系统敲定了。
每台 MacBook 都连接到一个 IP KVM 用于远程管理。处理笔记本时这是必不可少的。与 Mac Mini 不同,笔记本固件是围绕屏幕设计的:某些维护操作只能通过点击漂亮的 GUI 中的按钮来完成。
当然,每台 MacBook 都配一个外置 10G 以太网网卡。Namespace 的很多人都是网络极客,我们为提供给客户的连接速度和可靠性感到自豪。
然后还有电源。所以每台笔记本总共四根线,每层货架四十八根,加上十二根以太网线,再加上 KVM 布线。只能说,仔细的线缆管理至关重要。
散热管理也是如此。目前我们部署的是定制支架,设计用来从热点导出热量并引导热空气排走,而不是吹向附近的机器。
自然,我们预料到了问题和挑战。只是没料到它们出现在哪里。
我敢打赌,你们有些人看了上面的图,看到插着的 MagSafe 线,就已经开始写一条挖苦的推文,说 MagSafe 不安全,可能会意外断开。
是的,我也担心过这个。但现实是,我们见过的 MagSafe 断开案例非常少。
最不可靠的线?HDMI!往往又粗又硬。每次碰到货架都容易掉出来。
幸运的是,现在我们找到了几乎完美的线缆,弯曲方式正好符合我们的需要。而且我们买光了全部库存。亚马逊上已经一根都订不到了。
另一个痛点: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 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。