KVM(Kernel-based Virtual Machine)는 Intel VT 및 AMD-V와 같은 가상화 확장을 포함하는 X86하드웨어에서 리눅스를 위한 전가상화(Full virtualization)솔류션이다.
이것은 가상화 인프라스트럭쳐 코어를 위한 kvm.ko이라는 커널 모듈과 kvm-intel.ko(kvm-amd.ko)라는 CPU 의존적 커널모듈을 구성한다. KVM을 실행하기 위해서는 /proc/cpuinfo에 vmx/svm과 같은 CPU지원과 수정된 QEMU인 qemu-kvm 유틸리티가 필요하다.
CPU지원이 있어야 하지만, KVM이 QEMU보다 하드웨어적인 성능 향상이 있다
KVM을 사용해서 수정되지 않은(XEN은 Guest가 수정되어야함.) Linux배포판 및 WinXP을 실행할수 있다. 각 가상화 머신들(Guests)은 사설로 가상화된 하드웨어(예: 네트웍카드, 그래픽어뎁터, 기타)를 가지고 있다.
KVM은 VServer(http://linux-vserver.org/Welcome_to_Linux-VServer.org), 솔라리스 containers(http://www.sun.com/software/solaris/containers_learning_center.jsp)처럼 리눅스 2.6.20부터 포함되기 시작한 GPL2오픈소스이다.
참고
http://www.howtoforge.com/virtualization-with-kvm-on-a-fedora-11-server
http://www.linux-kvm.org/
CPU 가상화 지원여부 확인
[root@chonnom ~]# cat /proc/cpuinfo | egrep '(vmx|svm)' --color=always
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr lahf_lm
※ CPU 정보체크해서 vmx / svm 이 출력되어야 한다.
- vmx : INTEL CPU 가상화지원
- svm : AMD CPU 가상화 지원