본문 바로가기
영문 위키피디아 번역

(번역) Kernel-based Virtual Machine

by 다움위키 2023. 12. 20.

커널-기반 가상 기계(Kernel-based Virtual Machine, 줄여서 KVM)는 커널에게 하이퍼바이저로 기능하도록 허용하는 리눅스 커널가상화 모듈입니다. 그것은 2007년 2월 5일에 릴리스된 버전 2.6.20에서 메인라인 리눅스 커널에 병합되었습니다. KVM은 Intel VT 또는 AMD-V와 같은 하드웨어 가상화 확장 기능을 갖는 프로세서를 필요로 합니다. KVM은 역시 로드-가능한 커널 모듈의 형태로 FreeBSDillumos와 같은 다른 운영 시스템에 이식되어 왔습니다.

KVM은 원래 x86 프로세서에 대해 설계되었지만 이후 S/390, PowerPC, IA-64, 및 ARM으로 이식되어 왔습니다.

KVM은 Linux, BSD, Solaris, Windows, Haiku, ReactOS, Plan 9, AROS Research Operating SystemmacOS를 포함하여 다양한 게스트 운영 시스템을 위한 하드웨어-지원 가상화를 제공합니다. 게다가, Android 2.2, GNU/Hurd (Debian K16), Minix 3.1.2a, Solaris 10 U3 and Darwin 8.0.1은, 나열된 이것들의 다른 운영 시스템과 일부 더 최신 버전과 함께, 특정 제한 사항이 있는 것으로 알려져 있습니다.

추가적으로, KVM은 VirtIO API를 사용하여 Linux, OpenBSD, FreeBSD, NetBSD, Plan 9 및 윈도우 게스트에 대한 반가상화 지원을 제공합니다. 여기에는 반가상 이더넷 카드, 디스크 I/O 컨트롤러, balloon driver, SPICE 또는 VMware 드라이버를 사용하는 VGA 그래픽 인터페이스를 포함합니다.

History

Avi Kivity는 2008년 Red Hat에 인수된 기술 신생 회사, Qumranet에서 2006년 중반에 KVM 개발을 시작했습니다.

KVM은 2006년 10월에 등장했었고, 2007년 2월 5일에 릴리스된 커널 버전 2.6.20에서 리눅스 커널 메인라인에 병합되었습니다.

KVM은 Paolo Bonzini에 의해 유지 관리됩니다.

Internals

KVM은 장치 추상화를 제공하지만 프로세서 에뮬레이션은 제공하지 않습니다. 그것은 사용자 모드 호스트가 다음을 수행하기 위해 사용할 수 있는 /dev/kvm 인터페이스를 노출합니다:

  • 게스트 VM의 주소 공간을 설정합니다. 호스트는 역시 게스트가 기본 OS로 부트스트랩하기 위해 사용할 수 있는 펌웨어 이미지 (보통 PC를 에뮬레이트할 때 사용자-지정 BIOS)를 제공해야 합니다.
  • 게스트 시뮬레이션 I/O를 제공합니다.
  • 게스트의 비디오 디스플레이를 시스템 호스트에 다시 매핑합니다.

리눅스에서, QEMU 버전 0.10.1 이상은 그러한 사용자-공간 호스트 중 하나입니다. QEMU는 기본에 가까운 속도로 게스트를 가상화할 수 있는 경우 KVM을 사용하지만, 그렇지 않으면 소프트웨어-전용 에뮬레이션으로 대체합니다.

내부적으로, KVM은 SeaBIOS를 16-비트 x86 BIOS의 오픈 소스 구현으로 사용합니다.

Features

KVM은 2007년 2월부터 핫 플러그 vCPU, 동적 메모리 관리, 및 라이브 마이그레이션을 지원합니다. 마이그레이션 프로세스에서 메모리 쓰기 집약적 워크로드가 영향을 미칩니다.

Emulated hardware

KVM 자체는 장치 에뮬레이션을 위해 QEMU, crosvm 또는 Firecracker와 같은 더 높은 수준의 클라이언트 응용 프로그램에 맡기는 대신 아주 작은 하드웨어를 에뮬레이트합니다.

KVM은 다음과 같은 에뮬레이트된 장치를 제공합니다:

  • 가상 CPU와 메모리
  • VirtIO

Graphical management tools

  • Kimchi – KVM을 위한 웹-기반 가상화 관리 도구
  • Virtual Machine Manager – KVM-기반 가상 기계의 생성, 편집, 시작, 및 중지를 지원할 뿐만 아니라, 호스트 사이의 VM의 라이브 또는 콜드 드래그-앤-드롭 마이그레이션을 지원합니다.
  • Proxmox Virtual Environment – KVM 및 LXC를 포함한 오픈-소스 가상화 관리 패키지. 그것은 베어-메탈 설치 프로그램, 웹 기반 원격 관리 GUI, HA 클러스터 스택, 통합 스토리지, 유연한 네트워크, 및 선택적 상용 지원을 가집니다.
  • OpenQRM – 이기종 데이터센터 인프라를 관리하기 위한 관리 플랫폼.
  • GNOME Boxes – 리눅스에서 libvirt 게스트를 관리하기 위한 그놈 인터페이스.
  • oVirt – libvirt 꼭대기에 구축된 KVM을 위한 오픈-소스 가상화 관리 도구

Licensing

KVM의 커널-모드 구성 요소는 리눅스 커널의 일부이며, 자체적으로 GNU General Public License, 버전 2에 따라 사용이 허가됩니다.

External links