¿Cuál es la diferencia entre KVM y Qemu? Según tengo entendido, este último es capaz de proporcionar "emulación de modo de usuario", lo que significa que uno puede ejecutar un solo ejecutable creado para alguna otra arquitectura como esta:
# 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
#
..y "emulación de computadora", lo que significa que no solo se realiza la traducción binaria dinámica, sino que se emula toda la máquina virtual (tarjeta de video, tarjeta de sonido, tarjetas de red, dispositivos ópticos, etc.). Por ejemplo:
# qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d
Como he entendido, Qemu no sabe cómo aprovechar la virtualización de hardware (por ejemplo, las soluciones Intel VT-x o AMD-V en la arquitectura x86) y este es el caso en el que KVM puede ayudar: uno puede iniciar Qemu con soporte KVM. Sin embargo, ¿KVM proporciona alguna otra funcionalidad además del acceso para programas de emulación a la virtualización asistida por hardware en arquitecturas de hardware específicas? ¿Es posible crear una máquina virtual completa (CPU, tarjeta de video, dispositivos de E / S, etc.) usando solo KVM? En caso afirmativo, ¿qué programas se deben usar para crear y controlar esta máquina virtual?
Respuestas:
Estás parcialmente en lo correcto. Solo tenga cuidado, ya que puede haber algo de confusión. KVM es el nombre de la tecnología de virtualización en el kernel de Linux.
KVM también se usa comúnmente como el nombre de una bifurcación (un nombre más preciso sería qemu-kvm) del proyecto QEMU con un mejor soporte para la virtualización de hardware . Esta afirmación fue confirmada por el proyecto QEMU , pero a partir de la versión 1.3 de QEMU, todas las características de qemu-kvm se han fusionado .
La página de descarga del proyecto KVM explica esa diferencia bastante bien también.
Una cosa más a tener en cuenta es que las ventajas de qemu-kvm se están fusionando en las versiones más recientes de qemu, por lo que espero que algún día la diferencia entre ambos desaparezca.
fuente
KVM es un módulo de kernel que permite, a través de extensiones de CPU específicas de virtualización, programar una solicitud de CPU de VM directamente en la CPU y RAM del host, con una cantidad mínima de sobrecarga. QEMU proporciona el resto del hardware emulado, porque una máquina, incluso virtual, no es solo una CPU, es una gran cantidad de hardware adicional. QEMU también puede emular la CPU, pero en comparación con la forma en que KVM lo hace, es dolorosamente lenta, por lo tanto, la fusión, para obtener lo mejor de ambos mundos
fuente