Oxide Computer Company 作为机架级硬件的开发商,推出了 'Virtual OXidE Labs' (Voxel),旨在解决大规模基础设施测试和开发的物流挑战。由于完成的机架通常会立即部署到客户的数据中心,公司面临内部测试可用硬件短缺的问题。Voxel 提供了一个基于 illumos 并使用 Rust 构建的高保真软件仿真栈,旨在复制多样化的客户网络拓扑,并在无需物理机架空间的情况下运行公司的实际控制平面软件。

角色 Q*bert 的风格化等轴测渲染
Oxide 使用等轴测游戏角色 Q*bert 作为其基于 Voxel 的仿真环境的视觉隐喻。oxide.computer

这张图片作为 'Virtual OXidE Labs' (Voxel) 软件仿真栈的主题插图。

Voxel 环境模拟了 Oxide 生态系统的几个核心组件。它通过 Propolis 提供滑块虚拟化,支持使用 Debian 和 FRR 的 BGP 网络,并通过 Oxide 自有的 SoftNPU 模拟由 P4 驱动的交换机。此外,它还模拟了用于服务处理器 (SP) 和信任根 (RoT) 的微控制器。这使得公司能够遵循“首要指令”——在不修改的情况下测试标准的 Oxide 软件——同时在相对简陋的硬件上运行整个技术栈。例如,报告作者指出,一个包含六个滑块的全机架配置可以在配备 32 线程 AMD Ryzen 9 处理器和 96GB RAM 的单台迷你 PC 上在约 10 分钟内启动。

为了确保仿真与生产环境保持一致,Oxide 使用基于快照的工作流。开发人员可以创建一个“滑块”虚拟机,安装 Omicron 控制平面,并在配置前拍摄 ZFS 快照。这些快照可用于快速实例化新机架。该系统还支持不同的安装方法,例如直接从 GitHub 克隆 Omicron 仓库,或通过 The Update Framework (TUF) 拉取预包装的发布版本。通过使用这些虚拟化环境,Oxide 可以自动化测试并模拟复杂的升级场景,公司将其视为在机架级系统中发现回归问题和验证新功能的关键要求。