· kaynak Hacker News – Front Page (native)
Oxide'un Voxel'i Tek Bir Mini PC'de Tam Bir Rack Ölçekli Sunucuyu Emüle Ediyor
Oxide, sled'lerden ve switch'lere, service processor firmwarine kadar tüm bir Oxide rack'ini tek bir mini PC üzerinde modelleyen Rust tabanlı Voxel emülatörünü yayınladı.

Oxide Computer Company, tüm bir Oxide rack'ini — compute sled'leri, network switch'leri ve donanımı yöneten mikrodenetleyicileri — tek bir makine üzerinde modelleyen Virtual Oxide Labs, yani Voxel adlı bir yazılım emülatörünü yayınladı. Şirketin blog yazısına göre bir mühendis, 96GB RAM'e sahip bir mini PC üzerinde, fiziksel bir rack gerekmeden, altı sled'li eksiksiz bir sanal rack'i yaklaşık on dakikada önyükleyebiliyor.
Çözdüğü sorun
Oxide bütün rack'ler üretip satıyor ve bu da tatsız bir test sorunu yaratıyor: bitmiş donanımlar doğrudan müşteri veri merkezlerine gönderildiği için geliştirme ve kalite güvencesi için neredeyse hiç yedek kapasite kalmıyor. Şirketin Product Assurance ekibi, çeşitli müşteri ağ topolojilerini çoğaltması, gerçek control plane'i çalıştırması, güncel build'leri test etmesi ve switch ile mikrodenetleyici gibi donanım bileşenlerini temsil etmesi gerektiğini — tüm bunlar da teste özel sürümler çıkarmadan yapılması gerektiğini söylüyor.
Oxide'un bu konuda zaten kısmi çözümleri vardı. Şirket, dört adet kompakt "racklette" işletiyor — gerçek rack'ler, sadece her birinde dört sled ve iki switch bulunan satılabilir olmayan bir form faktöründe — ve yolda dört tane daha var. Omicron control plane'inin parçaları da çeşitli derecelerde simülasyonda çalışabiliyor. a4x2 adlı önceki bir sanal laboratuvar çalışmasının halefi olan Voxel, her şeyi tek bir emülasyon yığınında birleştirerek daha da ileri gidiyor.
Emülasyon nasıl çalışıyor
Oxide'un Bryan Cantrill'e atfettiği bir ilke — "Prime Directive" — laboratuvarların hack'siz ve değişikliksiz olarak standart Oxide yazılımını çalıştırması gerektiğidir. Voxel, illumos üzerinde Rust ile inşa edildi ve şirketin mevcut birkaç bileşenine dayanıyor:
- Propolis: Oxide'un hipervizör teknolojisi, her sanal sled'i kendi VM'inde barındırıyor; switch'ler de Propolis VM'lerinde çalışıyor.
- Ağ, numaralı veya numarasız BGP ya da statik yönlendirme kullanıyor ve bunu FRR çalıştıran Debian VM'leri hallediyor.
- Switch'ler, Oxide'un yazılım tabanlı P4 switch'i olan SoftNPU ile emüle ediliyor.
- Service Processor ve Root of Trust mikrodenetleyicileri — bir STM32H753 ve bir LPC55 — emüle edilip gerçek Hubris firmware'i ile flaşlanıyor.
İmajlar yeniden kullanılabilir ZFS anlık görüntüleri olarak oluşturuluyor. Voxel, Omicron control plane'i bir sanal makineye, ya kaynak koddan cargo ile derleyerek ya da The Update Framework ile paketlenmiş resmi bir sürümü açarak kuruyor, ardından yapılandırma gerçekleşmeden önce diski yakalıyor. Bir rack'i başlatmak için yalnızca o control plane imajı, ağ VM'leri için bir FRR imajı ve her sanal sled'e görevini veren hafif bir Rust ajanı olan voxel-init gerekiyor.
Başlatma sırasında falcon adlı otomatik bir ağ topolojisi takımı ağı simnet ve VNIC çiftleriyle donatıyor, güven materyali sprockets PKI olarak üretiliyor ve emüle edilmiş mikrodenetleyiciler flaşlanıyor. Belgelenmiş bir örnekte altı Propolis VM'i başladı — üçü Oxide sled'i olarak, üçü de ağı yöneten taraf olarak — ardından voxel-init NAT ve uplink adreslemesini, underlay ağını, emüle edilmiş M.2 önyükleme disklerini ve beş U.2 veri diskini yapılandırdı, host imajlarını hazırladı, sled başına düşen ajanı etkinleştirdi ve rack'i wicketd üzerinden başlatma aşamalarından geçirdi. Çoklu rack kurulumları — tek bir yönetim düzlemini paylaşan iki rack — de destekleniyor; yazar, sanal rack'ler arasına yeni bir bağlantı eklemenin rack.rs içinde birkaç satır kod olduğunu belirtiyor.
Donanım eşiği düşük
Yazının yazarı, Voxel'i evinde 32 iş parçacıklı AMD Ryzen 9 9955HX ve 96GB RAM'e sahip bir Minisforum MS-A2 mini PC üzerinde çalıştırdığını, tek bir rack olarak ya da çoklu rack yapılandırmasında altı sled'i barındırdığını bildiriyor. Yazılım gereksinimleri Oxide'un Helios'u ve makul ölçüde hızlı bir NVMe disk.
Mevcut sınırlamalar
Voxel henüz Prime Directive'i tam olarak karşılamıyor: sprockets PKI'daki sertifikalar, üretim rack'lerinde olduğu gibi üretimde ayarlanıp Root of Trust'a köklendirilmek yerine başlatma sırasında üretiliyor. Yazıya göre bu durum rack'in gerçek çalışma zamanını etkilemiyor, dolayısıyla kabul edilmiş bir boşluk olarak kalıyor.
Neden önemli
Rack ölçekli sistemler geleneksel olarak müşterilerin beklediği donanımın kendisi üzerinde test ediliyordu. Oxide, bu işi standart sürüm yapıtlarını sıradan makinelerde çalıştıran bir emülatöre taşıyarak tam olarak sevk ettiği şeyi test edebiliyor, CI'yi yalın tutabiliyor ve mühendislerin bir rack'e ihtiyaç duymadan rack ölçekli davranışa karşı geliştirme yapmasını sağlayabiliyor. Hacker News'in ön sayfasına çıkan bu yayın, sektördeki daha geniş bir kaymayı da gözler önüne seriyor: mikrodenetleyici firmwarine kadar tam sistem emülasyonu artık tüm bir veri merkezi rack'inin bir masada yaşayabilmesi kadar pratik hale geldi.
- #oxide
- #emulation
- #rack-scale
- #rust
- #cloud