Red de conocimiento informático - Aprendizaje de programación - Código fuente de virtualización Kvm

Código fuente de virtualización Kvm

Tipo de virtualización

Virtualización completa (virtualización completa)

La virtualización completa también se ha convertido en la tecnología de virtualización original. Este modelo utiliza una máquina virtual para coordinar el sistema operativo invitado y el hardware original, utiliza VMM para coordinar el trabajo entre el sistema operativo invitado y el hardware básico, y el hipervisor debe capturar y procesar algunas instrucciones protegidas.

Figura 1 Modelo de virtualización completa

La virtualización completa se ejecuta más rápido que la simulación de hardware, pero el rendimiento no es tan bueno como el bare metal porque el hipervisor necesita ocupar algunos recursos.

Paravirtualización (paravirtualización)

La paravirtualización es otra tecnología similar a la virtualización completa que utiliza un hipervisor para compartir el acceso al hardware subyacente, pero su sistema operativo invitado integra código de virtualización. Este enfoque no requiere recompilación y no crea problemas porque el propio sistema operativo funciona bien con procesos virtuales.

Figura 2 Modelo de paravirtualización

La paravirtualización requiere algunas modificaciones en el sistema operativo invitado para que el sistema operativo invitado se dé cuenta de que está en un entorno virtualizado, pero la paravirtualización proporciona un rendimiento similar al original. Sistema operativo.

Tecnología de virtualización

KVM (máquina virtual basada en kernel) es una máquina virtual basada en kernel.

KVM es un Hipervisor integrado en el kernel de Linux. Es una solución Linux totalmente virtualizada que utiliza arquitectura X86 y el hardware soporta tecnología de virtualización (Intel VT o AMD-V). Es un módulo muy pequeño de Linux que utiliza Linux para hacer muchas cosas, como programación de tareas, administración de memoria e interacción con dispositivos de hardware.

Figura 3 Arquitectura de la plataforma de virtualización KVM

Xen

Xen es el primer hipervisor que se ejecuta en bare metal. Admite tanto la paravirtualización completa como la paravirtualización, Xen permite la comunicación entre hipervisores y máquinas virtuales y está disponible como producto gratuito en todas las versiones de Linux, incluidos Red Hat Enterprise Linux y SUSE Linux Enterprise Server. La ventaja más importante de xen es la paravirtualización. Además, el sistema operativo no modificado también puede ejecutarse directamente en Xen (como Windows), lo que permite que las máquinas virtuales se ejecuten de manera efectiva sin emulación. Como resultado, las máquinas virtuales se vuelven conscientes del hipervisor sin emular el hardware virtual, lo que permite un alto rendimiento.

Figura 4 Arquitectura de la plataforma de virtualización Xen

QEMU

QEMU es un conjunto de software gratuito para simular procesadores escrito por FabricBella. Es similar a Bochs y PearPC, pero tiene algunas características que estos dos últimos no tienen, como alta velocidad y funciones multiplataforma. A través del acelerador de código abierto kqemu, qemu puede simular velocidades cercanas a las de las computadoras reales.

La relación entre KVM y QEMU

Para ser precisos, KVM es un módulo del kernel de Linux. Puede utilizar el comando modprobe para cargar módulos KVM. Después de cargar el módulo, puede crear más máquinas virtuales a través de otras herramientas. Pero el módulo KVM por sí solo no es suficiente, porque el usuario no puede controlar directamente el módulo del kernel para hacer cosas, también debe tener una herramienta ejecutándose en el espacio del usuario. Como herramienta de espacio de usuario, los desarrolladores de kvm eligieron el ya establecido software de virtualización de código abierto QEMU. QEMU también es un software de virtualización. Presenta la capacidad de virtualizar diferentes CPU. Por ejemplo, una CPU Power se puede virtualizar en una CPU x86 y se puede usar para compilar un programa que se pueda ejecutar en Power. KVM utiliza parte de QEMU y, con ligeras modificaciones, se convierte en una herramienta de espacio de usuario que puede controlar KVM. Entonces verás que la descarga oficial de kvm tiene dos partes (qemu y KVM) y tres archivos (módulo KVM, herramienta QEMU y su colección). En otras palabras, sólo puede actualizar módulos KVM o herramientas QEMU.

Ésta es la relación entre KVM y QEMU.

Calcula la relación entre KVM y QEMU