커널 기반 가상 머신
Kernel-based Virtual Machine![]() | |
![]() | |
원저작자 | 큐라넷 |
---|---|
개발자 | Linux 커널 커뮤니티 |
저장소 | |
기입처 | C |
운영 체제 | Unix와 같은 |
플랫폼 | ARM, IA-64, PowerPC, S/390, x86, x86-64 |
유형 | 하이퍼바이저 |
면허증. | GNU GPL 또는 LGPL |
웹 사이트 | www |
KVM(Kernel-based Virtual Machine)은 Linux 커널의 가상화 모듈로 커널이 하이퍼바이저로 작동할 수 있도록 합니다.2007년 [1]2월 5일에 출시된 버전 2.6.20의 메인라인 Linux 커널에 통합되었습니다.KVM에는 인텔 VT나 AMD-V [2]등의 하드웨어 가상화 확장 기능을 갖춘 프로세서가 필요합니다.KVM은 로드 가능한[3] 커널 모듈 형태로[4] FreeBSD나 일루미노 등 다른 운영 체제에도 이식되어 있습니다.
KVM은 원래 x86 프로세서용으로 설계되었지만 이후 S/390,[5] PowerPC,[6] IA-64 및 [7]ARM으로 이식되었습니다.
KVM은 Linux, BSD, Solaris, Windows, Haiku, ReactOS, Plan 9, AROS Research Operating System, macOS [8][9]등 다양한 게스트 운영체제에 하드웨어 지원 가상화를 제공합니다.또, Android 2.2, GNU[10]/Hurd(Debian K16), Minix 3.1.2a, Solaris 10 U3, 및 Darwin 8.0.1은, 그 외의 operating system 및 이러한 최신 버전의 일부와 함께, 일정한 [11]제한으로 동작하는 것으로 알려져 있습니다.
또한 KVM은 Linux, OpenBSD,[12] FreeBSD,[13] NetBSD,[14] Plan[15] 9 및 Virt를 사용하여 Windows 게스트를 대상으로 반가상화를 지원합니다.IO API.[16] 여기에는 SPICE 또는 VMware 드라이버를 사용하는 반가상화 이더넷 카드, 디스크 I/O 컨트롤러,[17] 벌룬 드라이버 및 VGA 그래픽 인터페이스가 포함됩니다.
역사
Avi Kivity는 2008년 [19]Red Hat에 인수된 테크놀로지 스타트업[18] 기업 Qumranet에서 2006년 중반 KVM 개발을 시작했습니다.
KVM은 2006년 10월에[20] 표면화되어 2007년 [1]2월 5일에 출시된 커널 버전 2.6.20에서 Linux 커널 메인라인에 통합되었습니다.
KVM은 Paolo Bonzini가 [21]관리하고 있습니다.
내부
KVM은 디바이스 추상화를 제공하지만 프로세서 에뮬레이션은 제공하지 않습니다.그 결과,/dev/syslog 인터페이스: 사용자 모드호스트는 이를 사용하여 다음을 수행할 수 있습니다.
- 게스트 VM의 주소 공간을 설정합니다.호스트는 게스트가 기본 OS로 부팅하는 데 사용할 수 있는 펌웨어 이미지(PC를 에뮬레이트할 경우 일반적으로 사용자 지정 BIOS)도 제공해야 합니다.
- 게스트 모의 I/O를 공급합니다.
- 게스트의 비디오 디스플레이를 시스템 호스트에 다시 매핑합니다.
원래 QEMU의 분기 버전은 게스트를 시작하고 커널에 의해 처리되지 않는 하드웨어 에뮬레이션을 처리하기 위해 제공되었습니다.그 지원은 결국 업스트림 프로젝트에 통합되었다.현재 KVM 인터페이스(kvmtool, crossvm, 폭죽 등)를 이용할 수 있는 가상 머신 모니터(VMM)가 다수 존재하며, rust-vmm 등의 프레임워크를 사용하여 구축되는 특수한 VMM도 다수 있습니다.
내부적으로 KVM은 SeaB를 사용합니다.16비트 x86 [23]BIOS의 오픈소스 구현으로서의 IOS.
특징들
KVM은 2007년 [26][27]2월부터 핫 스왑 대응 vCPU,[24] 동적 메모리 관리 [25]및 라이브 마이그레이션에 대응하고 있습니다.메모리[28] 쓰기 집약적인 워크로드에 대한 이행 프로세스에서의 영향
에뮬레이트된 하드웨어
KVM 자체는 매우 적은 수의 하드웨어를 에뮬레이트하기 때문에 디바이스 에뮬레이션을 위해 QEMU, 크로스 VM, 폭죽 등의 고급 클라이언트애플리케이션을 사용합니다.
KVM은 다음과 같은 에뮬레이트 디바이스를 제공합니다.
그래픽스 관리 도구

- 김치 – KVM용 웹 기반 가상화 관리 도구
- Virtual Machine Manager – KVM 기반 가상 머신의 작성, 편집, 시작 및 정지와 호스트 간의 VM 라이브 또는 콜드 드래그 앤 드롭 이행을 지원합니다.
- Proxmox Virtual Environment – KVM 및 LXC를 포함한 오픈 소스 가상화 관리 패키지.베어메탈 설치, 웹 기반 원격 관리 GUI, HA 클러스터 스택, 유니파이드 스토리지, 유연한 네트워크 및 옵션 상용 지원을 제공합니다.
- OpenQRM – 이종 데이터센터 인프라스트럭처 관리용 관리 플랫폼
- GNOME 박스– Linux 상에서 libvirt 게스트를 관리하기 위한 GNOME 인터페이스
- oVirt – libvirt를 기반으로 구축된 KVM용 오픈 소스 가상화 관리 도구
라이선스
KVM의 커널 모드컴포넌트는 Linux 커널의 일부로 GNU General Public License 버전2에 [30]따라 라이선스가 부여됩니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b "Linux kernel 2.6.20, Section 2.2. Virtualization support through KVM". kernelnewbies.org. 2007-02-05. Retrieved 2014-06-16.
- ^ KVM FAQ: KVM을 사용하려면 무엇이 필요합니까?
- ^ "FreeBSD Quarterly Status Report: Porting Linux KVM to FreeBSD".
- ^ "KVM on illumos".
- ^ "Gmane - Mail To News And Back Again". Archived from the original on 2007-09-29. Retrieved 2007-05-07.
- ^ Gmane Loom 2007-09-29 Wayback 머신에서 아카이브 완료
- ^ "KVM/ARM Open Source Project". Archived from the original on 2013-03-10. Retrieved 2017-11-01.
- ^ "KVM wiki: Guest support status". Retrieved 2007-05-27.
- ^ "Running Mac OS X as a QEMU/KVM Guest". Retrieved 2014-08-20.
- ^ "status". Gnu.org. Retrieved 2014-02-12.
- ^ "Guest Support Status - KVM". Linux-kvm.org. Retrieved 2014-02-12.
- ^ "OpenBSD man page virtio(4)". Retrieved 2018-02-04.
- ^ "virtio binary packages for FreeBSD". Retrieved 2012-10-29.
- ^ "NetBSD man page virtio(4)". Archived from the original on 2019-11-13. Retrieved 2013-07-15.
- ^ "plan9front". Retrieved 2013-02-11.
- ^ "An API for virtual I/O: virtio". LWN.net. 2007-07-11. Retrieved 2014-04-16.
- ^ "SCSI target for KVM wiki". linux-iscsi.org. 2012-08-07. Retrieved 2012-08-12.
- ^ 인터뷰: Avi Kivity 2007-04-26을 KernelTrap의 웨이백 머신에 아카이브
- ^ "Red Hat Advances Virtualization Leadership with Qumranet, Inc. Acquisition". Red Hat. 4 September 2008. Retrieved 16 June 2015.
- ^ "KVM 15 equipped with live migration IT World Canada News". 7 March 2007.
- ^ Libby Clark (7 April 2015). "Git Success Stories and Tips from KVM Maintainer Paolo Bonzini". Linux.com. Archived from the original on 15 March 2016. Retrieved 17 June 2015.
- ^ Khoa Huynh; Stefan Hajnoczi (2010). "KVM/QEMU Storage Stack Performance Discussion" (PDF). IBM. Linux Plumbers Conference. Retrieved January 3, 2015.[영구 데드링크]
- ^ "SeaBIOS". seabios.org. 2013-12-21. Retrieved 2014-06-16.
- ^ "Hot Plugging Virtual CPUs with Red Hat Enterprise Virtualization Manager".
- ^ "Faq - KVM".
- ^ "KVM-15 release [LWN.net]".
- ^ "Migration - KVM".
- ^ "Daniel P. Berrangé » Blog Archive » Analysis of techniques for ensuring migration completion with KVM".
- ^ "The Definitive KVM (Kernel-based Virtual Machine) API Documentation — the Linux Kernel documentation".
- ^ "Linux kernel licensing rules — The Linux Kernel documentation". www.kernel.org. Archived from the original on 7 March 2020. Retrieved 2020-01-06.
참고 문헌
- Amit Shah (2016-11-02). "Ten years of KVM". lwn.net. Retrieved 2017-02-10.
외부 링크
- 공식 웹사이트
- 커널 기반 가상 머신에 대한 모범 사례, IBM, 제2판, 2012년 4월
- Virtio-blk 퍼포먼스 향상, KVM Forum 2012, 2012년 11월 8일, Asias He에 의한
- Wikibook QEMU 및 KVM
- crosvm - chrome OS 가상 시스템 모니터
- KVM용 폭죽 VMM