Qemu와 KVM의 관계 이해


17

KVM과 Qemu의 차이점은 무엇입니까? 내가 이해 하듯이 후자는 "사용자 모드 에뮬레이션"을 제공 할 수 있는데, 이는 다음과 같은 다른 아키텍처를 위해 빌드 된 단일 실행 파일을 실행할 수 있음을 의미합니다.

# file busybox-sparc 
busybox-sparc: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), statically linked, stripped
# qemu-sparc busybox-sparc ls
Packages_arm     Packages_i386    arm              busybox-armv6l   busybox-i686     busybox-powerpc  busybox-sparc    busybox-x86_64   i386
# 

.. 및 "컴퓨터 에뮬레이션"은 동적 이진 변환이 수행 될뿐만 아니라 전체 가상 컴퓨터 (비디오 카드, 사운드 카드, 네트워크 카드, 광학 장치 등)가 에뮬레이트됨을 의미합니다. 예를 들면 다음과 같습니다.

# qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d

내가 이해했듯이 Qemu는 하드웨어 가상화 (예 : x86 아키텍처의 Intel VT-x 또는 AMD-V 솔루션)를 활용하는 방법을 모르며 KVM 지원으로 KVM 지원으로 Qemu를 시작할 수 있습니다. 그러나 KVM은 특정 하드웨어 아키텍처에서 하드웨어 지원 가상화에 대한 에뮬레이션 프로그램 액세스 외에 다른 기능을 제공합니까? KVM 만 사용하여 전체 (CPU, 비디오 카드, I / O 장치 등) 가상 머신을 생성 할 수 있습니까? 그렇다면이 가상 머신을 생성하고 제어하기 위해 어떤 프로그램을 사용해야합니까?


답변:


16

당신은 부분적으로 맞습니다. 혼란 스러울 수 있으므로 조심하십시오. KVM은 Linux 커널에서 가상화 기술의 이름입니다.

KVM은 또한 하드웨어 가상화를 더 잘 지원하는 QEMU 프로젝트포크 이름 (보다 정확한 이름은 qemu-kvm)으로도 사용 됩니다. 이 주장은 QEMU 프로젝트에 의해 확인 되었지만 QEMU 버전 1.3 부터 qemu-kvm의 모든 기능이 병합되었습니다 .

KVM 프로젝트 의 다운로드 페이지 에서 그 차이점을 잘 설명합니다.

명심해야 할 또 하나는 qemu-kvm의 장점이 새로운 qemu 릴리스에 병합되고 있기 때문에 언젠가 두 버전의 차이점이 사라지기를 바랍니다.


그렇다면 KVM "리눅스 커널의 가상화 기술"과 qemu-kvm은 서로 다른 것입니까?
dtmland

@dtmland 예, 그렇습니다. qemu-kvm은 커널에서 KVM을 사용하는 사용자 소프트웨어입니다.
chutz

6

KVM은 가상화 별 CPU 확장을 통해 최소한의 오버 헤드로 호스트 CPU 및 RAM에서 직접 VM CPU 요청을 예약 할 수있는 커널 모듈입니다. QEMU는 가상 머신조차도 CPU가 아니라 많은 추가 하드웨어이기 때문에 에뮬레이트 된 나머지 하드웨어를 제공합니다. QEMU는 또한 CPU를 에뮬레이션 할 수 있지만 KVM이하는 방식과 비교할 때 두 세계를 최대한 활용하기 위해 고통스럽고 느리게 합병됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.