본문으로 건너뛰기
피드

Show HN에 뜬 smolvm — 200ms 콜드스타트, 포터블 microVM을 한 파일로

devops 약 6분
vote
0
댓글
북마크

macOS Hypervisor.framework와 Linux KVM 위에 libkrun 기반 microVM을 띄워 서브초 콜드스타트와 워크로드당 하드웨어 격리를 제공하는 CLI 도구. OCI 이미지를 Docker 데몬 없이 그대로 풀해서 부팅하고, VM 상태를 .smolmachine 단일 파일로 패킹해 어디서든 하이드레이트할 수 있다. virtio balloon으로 메모리를 엘라스틱하게 쓰고 SSH 에이전트 포워딩으로 개인키가 게스트에 진입하지 않게 막는 구조가 특징.

  • 1

    부팅 200ms 미만, macOS·Linux 크로스플랫폼, 워크로드당 VM 격리

  • 2

    libkrun 라이브러리 VMM 기반이라 별도 데몬 없이 CLI 바이너리로 microVM 실행

  • 3

    OCI 이미지(Docker Hub, ghcr.io 등)를 Docker 데몬 없이 바로 부팅 가능

  • 4

    virtio balloon 기반 엘라스틱 메모리로 실제 사용량만 호스트에 커밋

  • 5

    SSH 에이전트 포워딩으로 개인키가 게스트에 들어가지 않도록 하이퍼바이저가 강제

  • smolvm — 서브초 콜드스타트로 뜨는 로컬 Linux VM을 관리·실행하는 CLI 도구가 Show HN에 올라옴
    • 부팅 200ms 미만, macOS·Linux 크로스플랫폼, 메모리는 virtio balloon으로 엘라스틱하게 잡아먹고 자동 반환
    • VM 하나를 통째로 .smolmachine 파일 하나로 패킹해서 아키텍처만 맞으면 어디서든 하이드레이트 가능

뭐가 가능한데

  • 신뢰 안 가는 코드 샌드박싱 — 하드웨어 격리된 VM에서 돌리니 호스트 파일시스템·네트워크·자격증명이 하이퍼바이저 경계 밖에 있음
  • 포터블 실행파일로 패킹 — 워크로드를 자립형 바이너리로 묶고 의존성 프리베이크. 설치 단계도 없고 런타임 다운로드도 없음
  • 개발용 퍼시스턴트 머신 — create/stop/start 사이클에서 설치한 패키지가 재시작해도 살아남음
  • SSH 에이전트 포워딩 — 호스트 ssh-agent를 VM으로 포워드해 개인키가 게스트로 절대 안 들어감. 하이퍼바이저가 이 경계를 강제함
  • Smolfile로 환경 선언 — TOML 기반 재현 가능 VM 설정

경쟁자와의 비교표가 눈에 띔

중요

> 핵심 차별화 — 워크로드당 VM 한 개, 부팅 <200ms, macOS 네이티브, 임베더블 SDK, 포터블 아티팩트 지원. 컨테이너·Colima·QEMU·Firecracker·Kata 전부 이 조합을 못 맞춤

  • 컨테이너는 네임스페이스 공유 커널 — 격리 약함
  • Firecracker는 <125ms로 빠르지만 macOS 네이티브 지원 X, 포터블 아티팩트도 X
  • Kata는 컨테이너당 VM이지만 macOS X, SDK 없음

아래가 어떻게 움직이냐

  • 각 워크로드에 진짜 하드웨어 격리 — macOS Hypervisor.framework 또는 Linux KVM 위에 자기 커널
  • VMM은 libkrun, 커스텀 커널은 libkrunfw
  • 이미지는 OCI 포맷 — Docker Hub, ghcr.io 등 OCI 레지스트리 이미지를 그대로 풀해서 microVM으로 부팅. Docker 데몬 필요 없음
  • 기본값 4 vCPU, 8GiB RAM. 메모리는 virtio balloon으로 게스트가 실제 쓰는 만큼만 커밋되고 나머지는 자동 회수
  • idle 시 vCPU 스레드는 하이퍼바이저에서 잠들어서 오버프로비전 코스트가 사실상 0

제약 사항도 솔직함

  • 네트워크는 opt-in (--net), TCP/UDP만 지원 (ICMP X)
  • 볼륨 마운트는 디렉토리만 가능 (단일 파일 X)
  • macOS는 Hypervisor.framework 엔타이틀먼트로 바이너리 서명 필수
  • Linux는 /dev/kvm 필요 (x86_64/aarch64 양쪽 지원)
  • --ssh-agent는 호스트에 에이전트 실행 중이어야 함 (SSH_AUTH_SOCK 세팅 필수)
  • GPU 지원은 별도 브랜치에서 작업 중

기술 맥락

libkrun이 이 프로젝트의 심장이에요. Red Hat이 만든 동적 라이브러리 형태의 VMM인데, 앱 프로세스에 VM 실행 능력을 "라이브러리로" 붙일 수 있다는 게 독특해요. QEMU나 Firecracker처럼 별도 데몬/프로세스를 띄우지 않고 CLI 바이너리 안에서 microVM이 바로 떠요. 그래서 부팅이 200ms 미만까지 내려가고, 패킹된 .smolmachine 하나로 자립형 실행이 가능한 거죠.

OCI 이미지를 Docker 데몬 없이 쓸 수 있다는 점이 실무적으로 중요해요. 보통 OCI 이미지를 microVM으로 돌리려면 중간에 변환 파이프라인이 필요한데, smolvm은 레지스트리에서 바로 풀해서 커널 위에 마운트해버리거든요. 즉 기존 Dockerfile 자산을 버리지 않고도 더 강한 격리를 얻을 수 있어요.

virtio balloon 기반 엘라스틱 메모리는 데스크톱 VM의 고질병을 해결한 지점이에요. 8GiB 할당하면 보통 게스트가 안 써도 호스트에서 그만큼 잡혀 있잖아요. virtio balloon 드라이버가 게스트 커널과 협력해서 실제 사용량만 호스트에 커밋하고 나머지를 반환하니까, VM을 "부담 없이 많이 띄우는" 워크플로가 가능해지는 거예요.

하이퍼바이저 경계로 SSH 에이전트를 포워딩하는 모델도 주목할 만해요. 신뢰 안 가는 코드를 VM에서 돌릴 때 "git push는 하고 싶은데 개인키는 노출 싫은" 시나리오가 많거든요. 에이전트 프로토콜만 유닉스 소켓 경유로 포워드하고 키 자체는 게스트에 절대 진입 못하게 막으니까, 기존 컨테이너 개발 환경보다 보안 모델이 한 단계 올라가요.

컨테이너의 가벼움과 VM의 격리를 동시에 노리는 프로젝트들이 늘어나는 흐름에서, smolvm은 macOS 네이티브 지원과 포터블 단일 파일 아티팩트라는 실용적 포인트로 차별화한다. Firecracker가 서버 전용이라면 이쪽은 개발자 데스크톱 워크플로를 겨냥한 느낌이 강하다.

댓글

댓글

댓글을 불러오는 중...

devops

컴퓨텍스 2026, 피시 전시회를 넘어 인공지능 인프라 전쟁터가 되다

컴퓨텍스 2026의 핵심은 더 이상 피시 부품 전시가 아니라 인공지능을 실제로 돌리는 인프라 전체였어. 반도체, 서버, 전력, 냉각, 네트워크, 로보틱스, 에지 컴퓨팅이 한꺼번에 전면에 나왔고, 대만 공급망의 존재감도 더 커졌어.

devops

이노그리드, EBS AI 펭톡 클라우드 운영 맡는다…AI 서비스 경쟁이 이제 운영력 싸움으로 감

이노그리드가 EBS의 47억 원 규모 AI 기반 영어 말하기 학습지원 서비스 운영사업에서 클라우드 인프라 운영·관리 사업자로 선정됨. AI 펭톡처럼 특정 시간대 트래픽이 몰리는 공교육 AI 서비스에서는 모델 성능만큼 오토스케일링, 부하 분산, 통합 모니터링 같은 운영 역량이 중요해지고 있음.

devops

유럽연합, 공공 클라우드 조달에서 미국 빅테크 배제 가능성 띄움

유럽연합이 은행, 에너지, 의료 같은 민감 분야 공공 입찰에서 디지털 주권 요건을 의무화하는 방안을 추진한다. 아마존, 마이크로소프트, 구글 같은 미국 클라우드 사업자는 미국 클라우드법 때문에 유럽 데이터 접근 우려를 피하기 어려워 불이익을 받을 수 있다.

devops

엔에이치엔 클라우드, 인공지능 데이터센터 매출로 흑자전환 기대감 커짐

흥국증권이 엔에이치엔에 대해 클라우드 부문 성장과 기술 부문 흑자전환 가능성을 근거로 목표주가 5만원과 매수 의견을 제시했다. 특히 양평 수냉식 인공지능 데이터센터, 그래픽처리장치 기반 서비스형 지피유 매출, 공공·민간 클라우드 수요가 핵심 성장 동력으로 꼽혔다.

devops

350달러짜리 초소형 노트북 Chuwi Minibook X에 리눅스 올려본 후기

10.5인치 x86_64 초소형 노트북 Chuwi Minibook X는 16GB RAM, 512GB NVMe, Intel N150을 넣고도 350달러 수준인 장난감 같은 실험용 머신이야. 리눅스는 대부분 잘 동작하지만, 태블릿 패널을 옆으로 장착한 탓에 부트로더부터 커널, initrd, 데스크톱, framebuffer까지 화면 회전을 손봐야 했다는 게 핵심 디테일임.