요약
옥사이드가 실물 없이 랙 한 대를 통째로 가상 머신에서 돌리는 도구 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에 에뮬레이션을 붙여 업그레이드까지 시험한 일이 값졌다는 경험도 나왔습니다.
이거 공개적으로 말하면 안 됐을 텐데요 ;) 옥사이드 글이 올라올 때마다 딱 이런 걸 간절히 바라는 사람들이 댓글에 꼭 있거든요. 이제 존재한다는 걸 알았으니, 개발자용이나 홈랩용으로 내놓으라는 목소리가 더 커질 것 같아요.
팟캐스트에서 이 이야기가 나왔는데, 문제는 이게 개발용 도구라서 네트워크 스택이 아직도 풀 랙 기준, 그러니까 꽤 빵빵한 스위치에 맞춰져 있다는 점입니다.
펌웨어 등을 포함한 두 번째 네트워크 스택을 통째로 지원해야 하는데 지금은 그럴 생각이 없는 것 같고, 그렇다고 racklette를 그대로 내놓으면 가격이 너무 비싸서 살 사람이 거의 없을 겁니다.
소규모 업체 중에 원하는 곳이 많을 것 같습니다. 이미 쓰고 있는 코로케이션 구성에 추가하는 용도로도 좋겠고요.
DR 사이트나 규모가 작은 원격 사무실에도 좋을 겁니다. 배포에서는 전력이 큰 변수인데, 전력을 덜 쓰는 작은 턴키 구성이라면 아주 인기가 있을 것 같습니다.
하하! racklette도 홈랩에는 좀 클 수 있어요. 그래도 Voxel '슬레드'가 하나당 RAM 6GB 정도니까, 이제 미니 PC 팜 정도는 제대로 꾸릴 수 있을지도 모르겠네요....
기사에 이렇게 나옵니다. 집에서는 32스레드 AMD Ryzen 9 9955HX와 RAM 96GB가 달린 Minisforum MS-A2 미니 PC에서 Voxel labs를 돌린다고요.
저도 집에 128GB DDR4 시스템이 있습니다. 에뮬레이션(주로 고객사의 골치 아픈 환경 쪽)은 지난 몇 년간 정말 큰 통찰을 줬고, 개발자로서 모든 작업을 "노트북 말고 다른 곳에서" 할 수 있게 된 건 큰 축복이었습니다.
가격이 정상화되면 덩치 큰 머신 몇 대를 짜 놓고, 작고 저렴한 머신도 여러 대 쌓아 보세요(저는 중고 8세대 i5를 여러 대 구했습니다). 빠듯한 예산으로도 할 수 있는 게 많고, 나중에 확장하거나 업그레이드할 여유도 생깁니다.
가상화 스택만 에뮬레이션해 보고 싶다면, 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/
그냥 궁금해서 그러는데요, 재미 삼아 만드신 건가요, 아니면 이 스택이 실제로 쓸 만했나요? 제 홈랩을 열 번째로 싹 갈아엎는 거야 설득할 것도 없긴 한데, 옥사이드 성격을 생각하면 꽤 안정적인 소프트웨어를 돌리고 있을 것 같아서요(틀렸다면 기꺼이 인정할게요).
제가 swherdman 대신 말할 입장은 아니지만, 이걸 쓰겠다고 뭔가를 싹 갈아엎을 필요까지는 없다고 생각해요. 옥사이드 스택을 배우고 싶다면 해 볼 만하고, 훌륭한 선생이 되어 줄 거예요. 하지만 홈랩을 더 잘 돌릴 방법을 찾는 거라면 이건 아닐 것 같아요.
물론 저는 집 NAS의 SP로 Hubris를 올린 Nucleo STM32H753ZI 보드를 돌리는 사람이라 할 말은 아니지만요....
오, 정말 흥미롭네요, 공유 감사합니다! 단독 Omicron 빌드를 쓰되 Proxmox VM 위에서 돌리는 거죠? CP를 쉬운 난이도로 돌려 보기엔 아주 좋네요!
에뮬레이션이 스택 위쪽으로 올라가는 걸 보니 재밌네요. 저희 회사가 진짜 옥사이드 랙을 살 수 있으면 좋겠습니다!
4개월쯤 전에 제 홈랩 서버에 helios + omicron을 베어메탈로 올려 봤습니다(여기 나온 유튜브 영상을 따라 했습니다: https://www.youtube.com/watch?v=qwXtS0-r1uQ ). 오래된 하드웨어(32코어, 듀얼 Xeon 2.6GHz, DDR4 256GB)라 성능은 별로였고 유휴 상태인데도 CPU를 30% 가까이 썼지만, 할 수 있는 동안 소프트웨어를 이리저리 만져 보는 건 재미있었습니다.
30%라니 놀랍네요. 따로 파 보셨어요? 폴링 같은 게 계속 돌고 있는 것처럼 들리는데요?
제 커리어의 3/4쯤은 이런 걸 만드는 데 썼어요. 정확히 이런 용도로, 그 안에서 돌아가는 소프트웨어까지 같이요. CI에도 연동해 뒀고요. 십 년 넘게 이런 걸 만들었어요.
그러다 이런 식으로 업그레이드도 시뮬레이션할 수 있어야 한다는 걸 깨달았어요.
복잡도가 많이 늘었지만 그만한 가치가 있었어요.
이 테스트는 가장 값진 것 중 하나였어요. 자동화해 둔 덕분에 더 나은 걸 더 빨리 만들고, 문제와 회귀를 찾고, 새 기능을 검증할 수 있었거든요 :)
옥사이드는 정말 재미있는 일을 하네요. 채용 공고에 나온 기술을 제가 갖추고 있었으면 좋겠어요.
245TB SSD와 VAST Data 스타일의 소프트웨어까지 붙으면 옥사이드 랙은 정말 멋질 거예요.