ラックスケールハードウェアの開発企業であるOxide Computer Companyは、大規模インフラのテストおよび開発におけるロジスティクス上の課題に対処するため、「Virtual OXidE Labs」(Voxel)をリリースしました。完成したラックは多くの場合、すぐに顧客のデータセンターに配備されるため、同社は社内テスト用の利用可能なハードウェアが不足するという問題に直面していました。Voxelは、Rustで構築されたillumosベースの高精度ソフトウェアエミュレーションスタックを提供し、物理的なラックスペースを必要とせずに、多様な顧客のネットワークトポロジーを複製し、同社の実際のコントロールプレーンソフトウェアを実行できるように設計されています。

この画像は、「Virtual OXidE Labs」(Voxel)ソフトウェアエミュレーションスタックのテーマ的なイラストとして機能します。
Voxel環境は、Oxideエコシステムのいくつかのコアコンポーネントをシミュレートします。Propolisを介したスレッドの仮想化を提供し、DebianとFRRを使用したBGPネットワーキングをサポートし、Oxide独自のSoftNPUを通じてP4駆動のスイッチをエミュレートします。さらに、Service Processor(SP)およびRoot of Trust(RoT)用のマイクロコントローラもシミュレートします。これにより、同社は比較的控えめなハードウェア上でスタック全体を実行しながら、修正を加えることなく標準のOxideソフトウェアをテストするという「Prime Directive(最優先指令)」を維持することができます。例えば、レポートの著者は、32スレッドのAMD Ryzen 9プロセッサと96GBのRAMを搭載した単一のミニPC上で、6つのスレッドを備えたフルラック構成を約10分で立ち上げることができると述べています。
エミュレーションを本番環境と正確に一致させるために、Oxideはスナップショットベースのワークフローを採用しています。開発者は「スレッド」仮想マシンを作成し、Omicronコントロールプレーンをインストールし、構成の前にZFSスナップショットを取得できます。これらのスナップショットは、新しいラックを迅速にインスタンス化するために再利用可能です。また、このシステムは、GitHubからOmicronリポジトリを直接クローンしたり、The Update Framework(TUF)を介して事前パッケージ化されたリリースを取得したりするなどの異なるインストール方法をサポートしています。これらの仮想環境を使用することで、Oxideはテストを自動化し、複雑なアップグレードシナリオをシミュレートすることができ、同社はこれをラックスケールシステムにおけるリグレッションの発見や新機能の検証のための重要な要件として特定しています。