Virtual Oxide Labs: 옥사이드 랙 한 대를 통째로 에뮬레이션하기

Virtual Oxide Labs: Emulating a Full Oxide Rack

oxide.computer ▲ 144 댓글 14 tosh

요약

옥사이드가 실물 없이 랙 한 대를 통째로 가상 머신에서 돌리는 도구 Voxel을 공개했습니다.

옥사이드 제품 품질 보증팀의 스티브 카람이 쓴 글입니다. 랙 실물은 귀하고 완성품은 고객에게 가기 때문에, 고객마다 다른 네트워크 구성을 시험하려면 소프트웨어로 만든 랙이 필요했습니다.

왜 중요한가

  • 시험 전용 빌드 없이 고객이 받는 소프트웨어를 그대로 돌립니다. 그래서 CI가 단순해지고 시험 결과도 실제 제품에 그대로 들어맞습니다.
  • 예전 SpSim은 정해진 정상 응답만 돌려주는 스텁(흉내만 내는 가짜 부품)이었습니다. 이제는 실제 펌웨어가 돌아 정상 경로 밖의 동작도 볼 수 있습니다.
  • MPL 2.0으로 공개되어 Helios를 설치한 PC라면 누구나 옥사이드 랙을 띄워 볼 수 있습니다.

핵심 내용

  • 슬레드(랙에 꽂는 서버 한 대)마다 Propolis VM 하나로 뜨고, 약 10분이면 랙 한 대가 완성됩니다.
  • sp-emu는 Cortex-M7과 Cortex-M33 칩을 에뮬레이션해 관리용 칩의 Hubris 펌웨어를 수정 없이 돌립니다.
  • 에뮬레이터는 실제 시계 대신 실행한 명령어 수로 시간을 셉니다. 필자도 이 부분은 흉내에 가깝다고 인정했습니다.
  • 랙 두 대가 관리 평면을 함께 쓰는 멀티랙 구성도 띄울 수 있습니다.
  • 필자는 96GB 메모리를 단 미니 PC에서 돌리며, 16스레드와 64GB 이상을 권합니다.

HN 반응

  • 슬레드 4대짜리 실물 축소판 '랙렛'을 홈랩(집에 꾸린 실험용 서버)용으로 팔라는 요구에, 네트워크 장비가 커서 너무 비싸다는 반론이 나왔습니다.
  • 집 서버에 옥사이드 스택을 직접 올려 본 경험담이 이어졌고, CI에 에뮬레이션을 붙여 업그레이드까지 시험한 일이 값졌다는 경험도 나왔습니다.

댓글

14개 표시 · 전체 14개
  1. qchris HN

    작년에 옥사이드에 합류했을 때 가장 먼저 소개받은 것 중 하나가 racklette였습니다. 슬레드 네 개와 스위치 두 개로 이루어진, 보통 랙보다 작은 랙을 말합니다. 이 racklette는 진짜 랙과 똑같이 초기화하고 돌릴 수 있는데, 진짜 랙이기 때문입니다. 다만 팔아서 수지가 맞을 만한 폼팩터가 아닐 뿐입니다.

    이거 공개적으로 말하면 안 됐을 텐데요 ;) 옥사이드 글이 올라올 때마다 딱 이런 걸 간절히 바라는 사람들이 댓글에 꼭 있거든요. 이제 존재한다는 걸 알았으니, 개발자용이나 홈랩용으로 내놓으라는 목소리가 더 커질 것 같아요.

  2. duttish HN

    팟캐스트에서 이 이야기가 나왔는데, 문제는 이게 개발용 도구라서 네트워크 스택이 아직도 풀 랙 기준, 그러니까 꽤 빵빵한 스위치에 맞춰져 있다는 점입니다.

    펌웨어 등을 포함한 두 번째 네트워크 스택을 통째로 지원해야 하는데 지금은 그럴 생각이 없는 것 같고, 그렇다고 racklette를 그대로 내놓으면 가격이 너무 비싸서 살 사람이 거의 없을 겁니다.

  3. Melatonic HN

    소규모 업체 중에 원하는 곳이 많을 것 같습니다. 이미 쓰고 있는 코로케이션 구성에 추가하는 용도로도 좋겠고요.

    DR 사이트나 규모가 작은 원격 사무실에도 좋을 겁니다. 배포에서는 전력이 큰 변수인데, 전력을 덜 쓰는 작은 턴키 구성이라면 아주 인기가 있을 것 같습니다.

  4. stevekaram HN

    하하! racklette도 홈랩에는 좀 클 수 있어요. 그래도 Voxel '슬레드'가 하나당 RAM 6GB 정도니까, 이제 미니 PC 팜 정도는 제대로 꾸릴 수 있을지도 모르겠네요....

  5. zer00eyz HN

    기사에 이렇게 나옵니다. 집에서는 32스레드 AMD Ryzen 9 9955HX와 RAM 96GB가 달린 Minisforum MS-A2 미니 PC에서 Voxel labs를 돌린다고요.

    저도 집에 128GB DDR4 시스템이 있습니다. 에뮬레이션(주로 고객사의 골치 아픈 환경 쪽)은 지난 몇 년간 정말 큰 통찰을 줬고, 개발자로서 모든 작업을 "노트북 말고 다른 곳에서" 할 수 있게 된 건 큰 축복이었습니다.

    가격이 정상화되면 덩치 큰 머신 몇 대를 짜 놓고, 작고 저렴한 머신도 여러 대 쌓아 보세요(저는 중고 8세대 i5를 여러 대 구했습니다). 빠듯한 예산으로도 할 수 있는 게 많고, 나중에 확장하거나 업그레이드할 여유도 생깁니다.

  6. swherdman HN

    가상화 스택만 에뮬레이션해 보고 싶다면, 6~9개월쯤 전에 제가 만든 https://github.com/swherdman/whoah-cli 가 있습니다.

    직접 수동으로 구축하는 쪽이 낫다면 단계는 이렇습니다. https://swherdman.com/blog/We-Have-Oxide-at-Home-P1/
    https://swherdman.com/blog/We-Have-Oxide-at-Home-P2/

  7. aliasxneo HN

    그냥 궁금해서 그러는데요, 재미 삼아 만드신 건가요, 아니면 이 스택이 실제로 쓸 만했나요? 제 홈랩을 열 번째로 싹 갈아엎는 거야 설득할 것도 없긴 한데, 옥사이드 성격을 생각하면 꽤 안정적인 소프트웨어를 돌리고 있을 것 같아서요(틀렸다면 기꺼이 인정할게요).

  8. stevekaram HN

    제가 swherdman 대신 말할 입장은 아니지만, 이걸 쓰겠다고 뭔가를 싹 갈아엎을 필요까지는 없다고 생각해요. 옥사이드 스택을 배우고 싶다면 해 볼 만하고, 훌륭한 선생이 되어 줄 거예요. 하지만 홈랩을 더 잘 돌릴 방법을 찾는 거라면 이건 아닐 것 같아요.

    물론 저는 집 NAS의 SP로 Hubris를 올린 Nucleo STM32H753ZI 보드를 돌리는 사람이라 할 말은 아니지만요....

  9. stevekaram HN

    오, 정말 흥미롭네요, 공유 감사합니다! 단독 Omicron 빌드를 쓰되 Proxmox VM 위에서 돌리는 거죠? CP를 쉬운 난이도로 돌려 보기엔 아주 좋네요!

  10. pbnjay HN

    에뮬레이션이 스택 위쪽으로 올라가는 걸 보니 재밌네요. 저희 회사가 진짜 옥사이드 랙을 살 수 있으면 좋겠습니다!

    4개월쯤 전에 제 홈랩 서버에 helios + omicron을 베어메탈로 올려 봤습니다(여기 나온 유튜브 영상을 따라 했습니다: https://www.youtube.com/watch?v=qwXtS0-r1uQ ). 오래된 하드웨어(32코어, 듀얼 Xeon 2.6GHz, DDR4 256GB)라 성능은 별로였고 유휴 상태인데도 CPU를 30% 가까이 썼지만, 할 수 있는 동안 소프트웨어를 이리저리 만져 보는 건 재미있었습니다.

  11. duttish HN

    30%라니 놀랍네요. 따로 파 보셨어요? 폴링 같은 게 계속 돌고 있는 것처럼 들리는데요?

  12. happyPersonR HN

    제 커리어의 3/4쯤은 이런 걸 만드는 데 썼어요. 정확히 이런 용도로, 그 안에서 돌아가는 소프트웨어까지 같이요. CI에도 연동해 뒀고요. 십 년 넘게 이런 걸 만들었어요.

    그러다 이런 식으로 업그레이드도 시뮬레이션할 수 있어야 한다는 걸 깨달았어요.

    복잡도가 많이 늘었지만 그만한 가치가 있었어요.

    이 테스트는 가장 값진 것 중 하나였어요. 자동화해 둔 덕분에 더 나은 걸 더 빨리 만들고, 문제와 회귀를 찾고, 새 기능을 검증할 수 있었거든요 :)

  13. dabbz HN

    옥사이드는 정말 재미있는 일을 하네요. 채용 공고에 나온 기술을 제가 갖추고 있었으면 좋겠어요.

  14. UltraSane HN

    245TB SSD와 VAST Data 스타일의 소프트웨어까지 붙으면 옥사이드 랙은 정말 멋질 거예요.

Hacker News에서 보기 ↗