Virtualització: quina diferència hi ha entre KVM i QEMU?


Resposta 1:

KVM és un hipervisor de tipus 1 i Qemu és un hipervisor de tipus 2. L’hipervisor de tipus 1 ve instal·lat amb el sistema de maquinari com KVM a Linux. KVM proporciona acceleració de maquinari per a màquines virtuals, però necessita Qemu per emular qualsevol sistema operatiu.

Qemu és un hipverisor de tipus 2, es pot instal·lar en un sistema operatiu i funciona com un procés indepent i les instruccions que donem en Quemu s’executaran a la màquina host. Qemu pot funcionar de forma independent sense KVM, ja que és un emulador. Tot i això, el seu rendiment serà deficient, ja que Qemu no fa cap acceleració de maquinari.

Hi ha un projecte que integra Qemu i KVM. Aquest serà un hipervisor de tipus 1. De manera que tindrem tots els avantatges de Qemu com a emulador i acceleració de maquinari KVM per obtenir un millor rendiment.


Resposta 2:

KVM: resideix al nucli de Linux com a mòdul carregable. Un cop carregat, KVM converteix el nucli de Linux en un hipervisor tipus 1, conegut com hipervisor de metall nu. La virtualització de KVM utilitza el nucli de Linux com a hipervisor (la màquina virtual és essencialment un procés). Tanmateix, depèn de les extensions de virtualització Intel-VT i AMD-V d’Intel i AMD, respectivament, d’ajudes de maquinari per habilitar una virtualització robusta. Treballant en concert amb aquestes extensions, KVM ajuda a oferir una millor experiència de virtualització amb un major rendiment de latència gairebé nul·la. Així, totes les màquines virtuals (procés de lectura) poden funcionar sense cap tipus de rendiment ni compatibilitat, com si funcionés de forma nativa en una CPU dedicada. A més, a causa de les esmentades extensions, les VM tenen un major coneixement de les capacitats de la plataforma de maquinari subjacent. Per tant, és just dir que KVM ofereix virtualització de maquinari en la seva forma més sincera i òptima.

QEMU: D'altra banda resideix a l'espai d'usuari i proporciona emulació del sistema incloent el processador i diversos perifèrics. Normalment, QEMU es desplega juntament amb KVM com un accelerador al nucli on KVM executa la major part del codi de convidats de forma nativa, mentre que QEMU emula la resta de la màquina (perifèrics) necessària pel convidat. En llocs on la VM ha de parlar amb dispositius externs, QEMU utilitza passthrough.

KVM i QEMU poden existir per separat, però quan es despleguen de forma conjunta, proporcionen una experiència de virtualització més rica. HTH