Virtual Oxide Labs: Oxide 랙 전체 에뮬레이션하기

4 hours ago 4

Voxel은 단일 하드웨어에서 Oxide의 실제 제어 플레인과 가상 슬레드, 스위치, 마이크로컨트롤러를 함께 실행하는 랙 에뮬레이션 환경임 핵심 원칙은 수정하지 않은 Oxide 소프트웨어를 사용하는 것으로, 별도 테스트용 릴리스 없이 다양한 고객 네트워크 구성과 최신 소프트웨어를 검증함 Propolis 기반 가상화, Debian과 FRR 네트워킹, P4 소프트웨어 스위치 SoftNPU를 결합해 단일 랙과 여러 랙 구성을 재현함 sp-emu는 정상 응답만 반환하는 기존 시뮬레이터와 달리 실제 Hubris 펌웨어를 실행하며, 명령어 수를 시간으로 삼아 마이크로컨트롤러의 명령어, 시간, 인터럽트를 에뮬레이션함 MPL 2.0으로 공개됐으며 실행에는 Helios가 필요함. 권장 사양은 16스레드 이상, RAM 64GB 이상, 온보드 DRAM을 갖춘 고성능 NVMe임 실제 랙을 확보하기 어려운 테스트 환경 완성된 Oxide 랙은 고객 데이터센터로 빠르게 출하되므로, 개발과 테스트에 사용할 랙 규모 하드웨어를 확보하기 어려움 테스트 환경은 다양한 고객 네트워크 토폴로지를 재현하고, 실제 제어 플레인과 최신 소프트웨어를 실행하며, 스위치와 마이크로컨트롤러까지 재현해야 함 CI를 간결하게 유지하고 실제 소프트웨어를 그대로 검증하기 위해 별도 테스트용 릴리스를 만들지 않아야 함 기존에는 슬레드 4개와 스위치 2개로 구성된 소형 실제 랙인 racklette를 활용함 일반 랙과 동일하게 초기화하고 실행할 수 있지만, 판매하기에는 경제성이 없는 폼팩터임 현재 4대를 보유하고 있으며 곧 8대로 늘려 하드웨어와 소프트웨어 조합을 테스트할 예정임 Omicron 제어 플레인의 대부분 구성 요소는 독립적으로 또는 함께 실행하고, 시뮬레이션 수준도 달리할 수 있음 실행 방법은 How to Run Simulated와 How to Run Guide에서 확인 가능함 Voxel의 구성과 재현 충실도 Virtual OXidE Labs, 줄여서 Voxel은 VM에서 랙을 구성하던 기존 가상 실험 환경 a4x2의 후속 프로젝트임 이름은 Q*bert 같은 등각 투영 게임의 큐브로도 설명할 수 있는 3차원 픽셀 개념인 voxel에서 따옴 최우선 원칙은 실험 환경에서도 임의 수정 없는 기본 Oxide 소프트웨어를 사용하는 것임 illumos 위에 Rust로 구축한 에뮬레이션 스택은 다음 구성 요소를 결합함 Propolis가 슬레드 가상화를 담당함 Debian과 ...

Read Entire Article