KVM

KVM
Información sobre la plantilla
Kvm.png
Solución para implementar virtualización completa con Linux sobre hardware x86
DesarrolladorQumranet - RedHat
Última versión estableqemu-kvm 0.14.0
Sitio web
http://www.linux-kvm.org/page/Main_Page


Kernel-based Virtual Machine o KVM. En español (Máquina virtual basada en el núcleo) es una solución para implementar virtualización completa con Linux sobre hardware x86.

Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario, siendo en su totalidad software de código abierto. El componente KVM para el núcleo está incluido en Linux desde la versión 2.6.20.

KVM permite ejecutar máquinas virtuales utilizando imágenes de disco que contienen sistemas operativos sin modificar ya sean Linux o Windows. Cada máquina virtual tiene su propio hardware virtualizado: una tarjeta de red, discos duros, tarjeta gráfica, etc. Una de las características que KVM posee es el «overcommit», que es el uso de memoria excediendo aún la memoria física del host.

Implementación en el kernel

KVM es una completa solución de virtualización única al convertir al núcleo Linux en un hipervisor utilizando un módulo del núcleo. Este módulo permite a otros sistemas operativos alojados ejecutarse en el espacio de usuario del núcleo Linux anfitrión.

El módulo KVM en el núcleo expone el hardware virtualizado a través del dispositivo de carácteres /dev/kvm. El sistema operativo alojado se comunica con el módulo KVM utilizando un proceso que ejecuta un QEMU modificado para obtener la emulación de hardware.

El módulo KVM introduce un nuevo modo de ejecución en el núcleo. Donde el kernel vanilla (standard) aporta el modo kernel y el modo user, KVM aporta el modo guest. Este modo es utilizado para ejecutar todo el código del huesped en el que no se utiliza entrada/salida, y el modo normal de usuario proporciona la entrada/salida para los huéspedes.

La presentación de KVM es una interesante evolución de Linux, ya que es la primera tecnología de virtualización que pasa a formar parte del propio núcleo Linux. Existe en la rama 2.6.20, pero puede utilizarse como un módulo del núcleo en la versión 2.6.19.

Procesadores soportados

KVM necesita un procesador x86 con soporte Virtualization Technology. Puede ejecutar huéspedes GNU/Linux (32 y 64 bits) y Windows (32 bits).

Instalación

Para conocer si nuestro hardware posee un procesador compatible y poder utilizar esta tecnología se pueden introducir los siguientes comandos en una consola:

$ cat /proc/cpuinfo | grep vmx # para CPUs Intel
$ cat /proc/cpuinfo | grep svm # para CPUs AMD 

Si el sistema no nos devuelve nada no tenemos soporte de virtualización en nuestro procesador o no lo tenemos activado. En caso afirmativo, se puede proceder a instalar los paquetes necesarios. En una distribución basada en Debian podemos ejecutar los siguientes comandos en modo super-usuario o root:

# apt-get install kvm libvirt-bin ubuntu-vm-builder bridge-utils

Posteriormente incluimos el usuario que necesitamos para ejecutar las maquinas virtuales en el grupo de kvm manteniendo el modo root.

# adduser $USER kvm

Si todo ha ido bien, tendremos una nueva entrada en nuestro menú denominada Administrador de Máquina Virtual desde donde podemos comenzar la instalación de nuestras máquinas virtuales.

Otras alternativas

Fuentes

  • Artículo Sitio Oficial de KVM Disponible en la Web "www.linux-kvm.org" Consultado: 13 de septiembre de 2011.
  • Artículo Virtual Linux Disponible en la Web "iespuigcastellar.xeill.net" Consultado: 13 de septiembre de 2011.