1P by GN⁺ | ★ favorite | 댓글 1개

VirtualBox KVM 공개 출시

  • Cyberus Technology는 VirtualBox의 KVM 백엔드를 오픈소스로 출시함.
  • VirtualBox는 다양한 게스트 운영 체제를 지원하고 여러 호스트 운영 체제에서 일관된 사용자 인터페이스를 제공하는 멀티 플랫폼 가상 머신 모니터(VMM)임.
  • KVM 백엔드를 사용하면 VirtualBox가 리눅스 KVM 하이퍼바이저를 활용하여 가상 머신을 실행할 수 있으며, 이는 표준 VirtualBox가 사용하는 커스텀 커널 모듈 대신 사용됨.

오픈소스 출시

  • Cyberus Technology는 오픈소스에 대한 약속을 지키기 위해 GitHub에서 KVM 백엔드를 오픈소스 라이선스로 공개함.
  • 사용자는 GitHub에서 VirtualBox와 Cyberus Technology의 KVM 백엔드를 빌드하여 개선된 기능을 직접 활용할 수 있음.
  • 2024년 로드맵에는 더 많은 흥미로운 기능이 포함되어 있으며, 업데이트가 출시될 때마다 기술적인 내용을 다루는 추가 게시물을 발표할 예정임.

지원 받기

  • VirtualBox와 KVM을 사용하고자 하거나 맞춤형 가상화 솔루션을 필요로 하는 경우, Cyberus Technology는 지침과 엔지니어링 서비스를 제공할 준비가 되어 있음.
  • 지원을 받고자 하는 사용자는 지원 양식이나 service@cyberus-technology.de 이메일을 통해 연락할 수 있음.

GN⁺의 의견:

  1. VirtualBox의 KVM 백엔드 오픈소스 출시는 가상화 기술의 발전과 보다 넓은 호환성을 추구하는 사용자 및 개발자 커뮤니티에게 중요한 발전임.
  2. 이번 발표는 가상 머신의 성능 향상, 보안 강화, 하드웨어 및 게스트 사용 사례에 대한 지원 확대를 가능하게 하여 기술적 진보를 의미함.
  3. 오픈소스 커뮤니티에 기여하고자 하는 Cyberus Technology의 노력은 오픈소스 소프트웨어의 발전과 혁신을 촉진하는 데 기여할 것으로 보임.

댓글과 토론

Hacker News 의견들
  • VirtualBox를 쓰는 사람은 Extension Pack을 조심해야 함. Oracle은 소송에 매우 적극적임
    https://www.reddit.com/r/sysadmin/comments/147k6az/oracle_is...
    https://www.reddit.com/r/sysadmin/comments/d1ttzp/oracle_is_...
    https://www.theregister.com/2019/10/04/oracle_virtualbox_mer...
    우리 조직에서는 VirtualBox를 금지했음. Oracle을 상대하는 것보다 VMware Workstation이나 virt-manager가 훨씬 싸게 먹힘

    • 나도 정확히 이 얘기를 하려고 했음. 여기서도 마찬가지였고, Oracle은 대부분의 VBox 사용자가 필요로 할 Extension Pack에 집착하는 것처럼 보였음
      그래서 가능한 한 빨리 모두가 그걸 못 쓰게 해야 했음. 물론 VBox에만 국한된 게 아니라 데이터베이스도 마찬가지라 그냥 피하는 게 낫다
    • Oracle을 그냥 무시하면 어떻게 되나? 실제로 강제할 힘이 있긴 한가? 다운로드를 무료로 풀었으면 무료여야 함
      길거리에서 바나나를 건네준 뒤 3개월 후에 돌아와 1000달러를 요구할 수는 없음
  • 드디어 나왔네. 가상 머신을 돌릴 때마다 VirtualBox보다 성능이 좋고 다루기 쉬워서 libvirt를 고르지만, GUI 선택지는 정말 별로였음
    “최선”의 libvirt GUI인 virt-manager도 버그가 많고 기능이 부족함. HiDPI 화면과 잘 맞지 않고, IPv6 설정 방법도 없다는 식임
    성능은 libvirt/KVM보다 떨어져도 사용감이 낫다는 이유로 VirtualBox를 고른 적이 여러 번 있었는데, 이제는 그럴 필요가 없어 보임

    • IPv6는 지원됨. 실제로 하이퍼바이저까지 포함해서 IPv6 전용 네트워크를 운용하고 있음
      $ virsh net-dumpxml default6
      default6
      73590ea2-eb15-4e67-b104-319721bdf302
      필요하면 DHCPv6도 쓸 수 있음
    • virt-manager는 Wayland에서 HiDPI와 잘 맞음. 반대로 VirtualBox GUI는 Wayland에서 엄청 버그가 많음
      둘이 사실상 정반대임. 나는 GUI가 더 단순해서 virt-manager를 쓰고, 어차피 VirtualBox 설정도 악몽에 가까움
      어쨌든 이 기능은 올바른 방향으로 가는 한 걸음임. 배포판들이 채택할지, 언젠가 업스트림에 통합될지가 궁금함
    • 끔찍한 GUI 선택지라는 데 100% 동의함. 실제로 가상 머신을 다뤄야 할 때 명령줄로 씨름하고 싶지 않아서 libvirt를 완전히 피했고, 최근까지 VMware를 썼음
      당시에는 메인 PC가 Windows 10이었고, Windows의 명령줄 환경은 꽤 형편없었음
    • virt-manager가 괜찮다고 생각했지만, 구체적으로 제기한 불만들은 타당해 보임
    • 어떤 게스트를 주로 돌리길래 libvirt/KVM에서 더 나은 성능을 봤는지 궁금함
  • 이건 사실상 VirtualBox를 virt-manager와 virsh의 대체품으로 만드는 건가?
    내가 알기로 VirtualBox는 GPU 같은 PCI 패스스루를 지원하지 않는데, 이런 경우는 어떻게 처리되는지 궁금함
    Linux에서는 QEMU/KVM으로 옮긴 뒤 VirtualBox를 돌아보지 않았지만, Windows에서는 VirtualBox를 쓰고 있고 그때마다 GUI가 훨씬 더 좋고 친절하다는 걸 느끼게 됨
    덧붙여 보니 VirtualBox가 Extension Pack을 통해 실험적 PCI 패스스루를 제공하긴 함 [0]. 이걸 KVM 백엔드에서도 쓸 수 있을까?
    [0] https://docs.oracle.com/en/virtualization/virtualbox/6.0/adm...

  • 실용적인 장점은 커널이 업그레이드될 때마다 서드파티 드라이버인 vbox 커널 모듈을 다시 컴파일하지 않아도 된다는 것임. DKMS가 관리자 개입 없이 처리하려고는 하지만 항상 버그가 없는 건 아님
    반면 VirtualBox 애플리케이션은 데스크톱과 잘 통합되도록 설계되어 있어서, 게스트에 VNC로 접속하는 건 대안이 되기 어려움
    FreeBSD 쪽에서도 bhyve 하이퍼바이저에 대해 비슷한 노력이 있으면 좋겠음
    용어 문제도 흥미롭지만, 최근 Linux 직접 렌더링 관리자 DRM 주제에서 이미 다뤄졌음. 이 약어들은 “전체 ICT”에 비해 좁은 집단에서 쓰였고, 키보드-비디오-마우스 장치도 마찬가지였음
    Linux 내부를 그 수준으로 다루는 전문가는 1%도 안 되고, 서버실 현장 엔지니어도 1% 미만이라 이런 용어에 대한 집단적 인식이 없어 재사용된 것임
    LVM은 이미 스토리지 쪽에서 쓰이고 있고, LKVM도 헷갈릴 수 있음

    • 이걸 FreeBSD용으로 만드는 건 훌륭한 프로젝트가 될 것임. 다만 규모가 커서 어떤 형태로든 자금 지원 없이는 감당하기 어렵다
    • DKMS와 커널 모듈 업데이트를 안정적으로 처리하지 못하는 배포판을 쓴다는 건 상상하기도 어려움. NixOS에서 DKMS 문제를 겪은 적은 단 한 번도 없음
      downvote를 해도 당신 배포판이 더 유능해지지는 않음
  • Linux에서 KVM과 virt-manager로 이미 얻는 것에 비해 이게 뭘 더 주는 건지 모르겠음

    • VirtualBox에서 Windows를 바로 실행했을 때의 성능은 매우 좋고, 보통 virt-manager(QEMU)보다 나음. QEMU도 잘 튜닝하면 훌륭한 성능이 나오지만 손을 좀 봐야 함
      VirtualBox는 전반적으로 사용자 친화적임. 게스트 통합, 드래그 앤 드롭, 클립보드, USB 패스스루, 오디오 지원도 VBox가 아주 좋음
    • 데스크톱 환경 대부분을 가상화해서 씀. 처음에는 Linux 호스트와 Linux 게스트를 주로 쓰니 KVM과 virt-manager로 가고 싶었지만, 원하는 두 가지 핵심 기능인 암호화와 이식성을 그 방식으로 어떻게 얻을지 알 수 없었음
      대부분의 가상 머신은 암호화되어 있어서 들고 다녀도 안심됨. 여러 비밀 정보도 따로 암호화되어 있지만, 가상 머신 자체 암호화 덕분에 공항에서 기기를 잃어버려도 접근되면 안 되는 것들이 노출될까 걱정하지 않아도 됨
      virt-manager와 KVM에서도 가능한 방식은 있지만 마음에 드는 게 없었음. 호스트의 파일시스템 수준 암호화에 의존하고 싶지 않았고, 이식성 문제도 있었으며, 이전에 전체 디스크 암호화에서 약간 문제가 있었기 때문에 거기에 기대기 불편했음
      VirtualBox도 본질적으로는 전체 디스크 암호화를 하는 셈이지만 게스트에는 보이지 않고 안정적으로 보임
      이식성 측면에서는 https://www.vbox.me/를 사용해 가상 머신과 호스트를 플래시 드라이브에 설치하고, 추가 설치 없이 어떤 Windows 호스트에서도 내 환경을 실행할 수 있어야 함. 아직 실제로 해보진 않았지만, 큰 장점이었음
      지금은 대부분의 환경이 Vagrant로 자동 구성됨: https://github.com/robsheldon/vagrantfiles 그래서 virt-manager의 장점 일부도 얻고 있음
      Oracle에 뭔가 의존하는 건 정말 마음에 들지 않음
    • 괜찮은 UI와, 가능하다면 VirtualBox 어플라이언스 사용 지원을 기대할 수 있음
  • KVM은 키보드-비디오-모니터 계열 장치 맥락에서만 들어봤는데, 가상 머신 개념에는 잘 맞지 않는 것 같음. 여기서는 다른 뜻인가?

    • 맞음, 꽤 다름. 기본적으로 Linux를 하이퍼바이저로 쓸 수 있게 해주는 프로젝트이고 매우 널리 쓰임
      https://en.m.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • 단순화하자면 이런 맥락임. Linux 세계에는 큰 하이퍼바이저가 두 가지 있음
      Xen은 커널을 확장해 가상 CPU를 시간 조각으로 지원함
      KVM은 각 가상 코어를 Linux 스케줄러를 쓰는 프로세스로 할당함
      하드웨어 가상 머신의 vCPU 코어가 선점되면 레지스터 등을 다시 설정해야 하는 vmexit 호출이 발생하고 비용이 큼
      예전 AWS 인스턴스는 Xen에서 돌았고, 게스트 간 공정성을 맞추기 쉽다는 장점이 있었음
      KVM은 적흑 트리 기반으로 잘 최적화된 Linux 스케줄러의 이점을 얻는 장점이 있음
      예를 들어 새 CPU가 나오면 KVM은 업스트림에서 지원을 얻게 되지만 Xen은 직접 지원해야 함
      cgroups 같은 기술이 개선되면서, 시간 조각 만료 때문에 스레드가 선점되지 않고 완료되게 하는 이점이 vmexit 비용을 피하게 해줬음
      이론적으로는 본질적으로 최적화된 Linux 핵심 기능을 활용하는 점이 VirtualBox에도 이득이 될 것임
      KVM을 쓰는 대부분의 사람은 구현 방식을 숨겨주는 libvirt 같은 추상화 계층을 사용함
      실제로 프로세스를 보면 구현은 KVM이어도 qemu가 보일 것임
    • Kernel-Based Virtual Machine이라는 뜻이고, 2007년부터 있던 가상 머신 엔진임: https://en.wikipedia.org/wiki/Kernel-based_Virtual_Machine
    • https://linux-kvm.org/page/Main_Page
  • 이게 정말 궁금함. 침투 테스터로서 Linux 노트북을 쓰고, VirtualBox 안의 Kali VM에서 많은 시간을 보냄
    KVM 백엔드로 어느 정도 성능 향상을 기대할 수 있을까?

    • 이 구성과 관련해 구체적으로 하나 묻고 싶음. 재미 삼아 침투 테스트에 입문해보려고 했고, 시작점으로 HackTheBox를 만져보기로 했음
      거기 VPN에 연결해야 하니, 이 활동을 개인 네트워크와 분리하는 게 좋아 보였음
      침투 테스트 VM에는 어떤 네트워크 구성을 쓰는지 궁금함. 이상적으로는 VM이 인터넷, 따라서 HTB VPN에는 접근할 수 있지만 로컬 네트워크 내부에는 접근하지 못하게 하고 싶음
      그런데 그걸 신뢰할 만하게 구현하는 방법을 잘 모르겠음. 애초에 너무 편집증적인 생각이라 실용적이지 않을 수도 있어서 전문가 관점이 궁금함
      보통은 QEMU를 쓰겠지만, VirtualBox가 이걸 더 쉽게 해주는 기능을 포함한다면 이 경우에는 VirtualBox를 써도 괜찮음
    • 설정과 작업 부하에 따라 다름. 최근 Intel CPU 기준으로 우리 성능 대시보드에서는 일부 벤치마크에서 +10% 가 보임
      다만 일반화해서 말하기는 어렵다
  • 과거에 고객 일부가 VBox를 써서, VirtualBox 기능 일부를 지원하려고 libvirt에 기여한 적이 있음
    그때 이게 있었다면 편했을 것이고, 모든 고객이 KVM 가상 머신을 쓰게 할 수 있었을 것임
    작업 축하함

  • 멋지긴 한데, 내가 이제 늙고 까칠해진 건지 몰라도 10년 전이었다면 굉장했을 것 같음. 지금은 정말 신경 쓰는 사람이 있을까?

  • 요즘은 Linux 안에서 Linux GUI를 가상화할 때 virt-manager, VMware, VirtualBox보다 훨씬 나은 방식도 가능함
    crosvm을 쓰면 공유 메모리 버퍼로 Wayland를 공유하고, 게스트에서 OpenGL과 Vulkan 가속도 얻을 수 있음
    이렇게 하면 게스트 애플리케이션이 호스트의 Wayland 컴포지터를 통해 매끄럽게 나타남

    • 맞음, 실제로 꽤 좋음. Chromebook도 갖고 있는데 Linux 앱 통합이 정말 매끄러움
      다만 VBox의 주요 사용 사례는 대부분 Windows