cover image

QEMU로 Ubuntu VM에 커스텀 커널 올리기

가상화(Virtualization)를 하는 방법에는 하이퍼바이저를 통한 서버 가상화와 Docker로 익숙한 OS레벨의 컨테이너 가상화가 있습니다. 최근에는 컨테이너 가상화의 경량성과 이식성을 통해, 쿠버네티스를 필두로 한 마이크로서비스 운영 방식이 표준으로 자리잡았습니다. 하지만, 컨테이너 환경은 커널을 공유한다는 특징으로 인해 유연성이 떨어지고, 격리(Compartmentalization)의 측면에서 보안성이 떨어집니다. 따라서 컨테이너를 맹목적으로 선호하기보다는 VM도 다룰 줄 아는 것이 좋은 방향이라고 생각합니다. 다만, QEMU를 통해 Ubuntu VM을 실행하고 커스텀 커널을 올리는 것은 실제 서비스 환경에서 VM을 운영하기 위한 것은 아닙니다. VM을 실행하는 것보다 커스텀 커널을 올리는 과정이 더 복잡하며, 이는 커널 개발을 위한 환경 설정을 하는 과정이라고 생각하면 될 것 같습니다. 호스트 머신의 성능을 통해 커널을 빌드하고, Ubuntu라는 mainstream 배포판에서 해당 커널을 테스트하는 환경을 설정하는 방법을 알아보도록 하겠습니다. ...

August 5, 2025 · 4 min · 719 words · Me