Ubuntu + KVM su virtualización.

Ubuntu usará KVM como su principal solución de virtualización.

Qumranet


De esta manera, KVM tendrá un lugar especial en la próxima Ubuntu 8.04 “Hardy Heron”. Desde mis inicios en Linux, y durante mucho tiempo intenté virtualizar una maquina en mi equipo, los resultados no fueron otros que frustración incluyendo la instalación de vmWare que funciono pero de manera muy deficiente, el común denominador fue siempre la falta de memoria.Las cosas han cambiado para mi a partir del incremento de memoria, recién he pasado de 0.256 a 1.2 Gb en RAM y con ello de la teoría a la práctica. He vuelto a instalar vmWare y he experimentado con VirtualBox y Kqemu, en ese orden pues mis preferencias teóricas se inclinaron por Qemu y lo confirmo por la práctica, aunque la GUI de VirtualBox sea la mas bonita.Hoy con la noticia (bueno no hoy en realidad la leí el día 8, espero no me lo echen en cara :-) ) me preguntaba que tanto conocemos sobre la virtualización y preparé lo siguiente con la idea que les pudiera servir en algo, desde luego mi foco es la noticia.

Un poco de teoría para entender los tipos de vistualización:

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 de Linux. Existe a partir de la versión 2.6.20 (leí se puede utilizar como módulo en 2.6.19). Cuando se ejecuta en hardware que soporta la virtualización es posible hospedar a Linux a 32 y 64 bits y Windows a 32 bits.

Existen diversas técnicas de virtualización que alcanzan resultados similares a través de diferentes niveles de abstracción:

Emulación de Hardware

La virtualización más compleja consiste en la emulación de hardware. Con esta técnica, en el sistema anfitrión se utiliza una máquina virtual que emula el hardware.

El principal problema con la emulación de hardware es que puede resultar demasiado lenta, debido a que cada instrucción debe ser simulada por el hardware subyacente.

Virtualización completa

La virtualización completa, también llamada virtualización nativa, es otra interesante técnica de virtualización. Este modelo utiliza una máquina virtual que media entre el sistema operativo invitado y el hardware nativo. Algunas instrucciones protegidas deben capturarse y manejarse dentro del hipervisor ya que el hardware subyacente no es propiedad de un sistema operativo sino que es compartido a través del hipervisor.

La virtualización completa es más rápida que la emulación de hardware, pero el rendimiento es menor que cuando se utiliza hardware debido a la mediación del hipervisor. La gran ventaja de la virtualización completa es que un sistema operativo puede ejecutarse sin modificaciones.

Paravirtualización

La paravirtualización es otra técnica popular que cuenta con algunas similitudes con la virtualización completa. Este método utiliza un hipervisor para compartir el acceso al hardware subyacente pero integra código que está al tanto de la virtualización en el propio sistema operativo. Esta aproximación evita la necesidad de recompilar y capturar ya que los propios sistemas operativos cooperan en el proceso de virtualización.

La paravirtualización precisa que los sistemas operativos alojados sean modificados por el hipervisor, lo que es una desventaja. Pero la paravirtualización ofrece un rendimiento próximo al de un sistema no virtualizado.

Virtualización en el nivel del sistema operativo

La virtualización en el nivel del sistema operativo, utiliza una técnica diferente a las anteriores. Esta técnica virtualiza los servidores encima del propio sistema operativo. Este método soporta un solo sistema operativo y simplemente aisla los servidores independientes.

La virtualización en el nivel del sistema operativo requiere cambios en el núcleo del mismo sistema operativo, la ventaja es un rendimiento igual a la ejecución nativa. Es el caso de nuestra noticia y la posible relación Ubuntu + KVM.

Nuevas tecnologías de virtualización

Intel está produciendo una nueva tecnología de virtualización que soportará hipervisores en dos de sus arquitecturas, tanto en x86 (VT-x) y (VT-i). VT-x soporta dos nuevos modos de operación, uno para la VMM (root) y otro para los sistemas operativos hospedados (no root).

AMD está produciendo la tecnología Pacifica en la que el hardware asiste a la virtualización.

Estas nuevas tecnologías pueden utilizarse en varias de las técnicas de virtualización arriba descritas.

Linux KVM (Kernel Virtual Machine)

Como se ha comentado, Linux ha incorporado a KVM en el núcleo (2.6.20). 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 caracteres /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 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 huésped en el que no se utiliza entrada/salida, y el modo normal de usuario proporciona la entrada/salida para los huéspedes.

Aquí mismo en LaConsola, Eral nos comenta en su artículo: Instalar Qemu con Capa de Aceleración (Acceleration Layer) las características mas importantes de qemu y su notable desempeño en nuestro ordenador.

En relación a KVM no he podido notar respuesta evidente de mejoría en mi maquina con su instalación, tampoco en mi red de dos. Pero ustedes lo podrían intentar, se dice agregando KVM a su red el desempeño sería brillante.

Para mas información consulten la página oficial de KVM donde encontrarán una buena documentación y tutoriales para su instalación.

Saludos!

Completa esta lectura con:

Si te gustó este post, por favor considera dejar un comentario o suscribirte al feed y obtener artículos futuros en tu lector de feeds.

Comentarios (8)

Hola, en cuanto a las mejoras que ha implementado Intel con su Virtualization Technology comentar que vienen deshabilitadas por defecto en el procesador y hay que activarlas para poder usarlas en la BIOS. Un saludo.

iThinMn. Tu comentario me parece muy oportuno, seguramente haz adquirido o instalado un equipo Intel con la TI. Por mi parte no he podido constatar tu información en Intel, si tienes el enlace, iluminanos por favor.

Saludos!

"Ubuntu usará KVM como su principal solución de virtualización"

¿KVM puede utilizarse en máquinas que no posean VT-x, VT-i o Pacífica? En caso de que sean necesarios estos procesadores tan específicos, creo que sería mejor que apoyaran más a otras herramientas de virtualización, como Qemu o VirtualBox.

DaniFP.

- La respuesta es si, KVM puede utilizarse con o sin ésas tecnologías.
- Apoyarán a Qemu directa o indirectamente, pues KVM se apoya en él.

Hay un valor que muchos de nosotros en lo individual o empresarial deberíamos imitar: CONGRUENCIA. Canonical es una empresa congruente que ~dice lo que piena y hace lo que dice~. La determinación de Canonical para apoyar y confiar en Linux con KVM, podría ser un error y estarían en su derecho a cometerlo, por que no. Sin embargo ésta es una muestra mas de su congruencia, que a su vez genera confianza, que genera lo que todos sabemos de Ubuntu.

Saludos!

Con vergüenza debo reconocer mi error cuando digo “- La respuesta es si, KVM puede utilizarse con o sin esas tecnologías.” Prodría citar mi fuente y su texto a modo de disculpa, sin embargo, la responsabilidad seguiría recayendo en mi persona. Amigos lectores, apelo a su paciencia para que acepten mis disculpas y corrijo mi error:

Mi respuesta debió ser NO, se requiere de ésas tecnologias (VT-x, VT-i, o Pacifica). La forma de averiguarlo en nuestros equipos, es con el comando desde consola:

$ egrep ‘^flags.*(vmx|svm)’ /proc/cpuinfo

Si produce alguna salida (flags) es que nuestro procesador soporta virtualización de hardware y por tanto hacer uso de KVM.

Aquí un tutorial para su instalación.

hola, soy nuevo en esto y es el mejor articulo que he encontrado del tema pero… quizas debido a su profundidad, me deja con mas preguntas que con las que llegue, pero eso es bueno, solo que me gustaria si es posible que alguien me ayude con estas interrogantes:

1- que tecnologia es mejor VT-x, VT-i o Pacifica? y porke? (segun su opinion)

2- me podrian decir que tipo de virtualizacion es VMware/VMplayer? es mejor que KVM?, como explicaron ubuntu+kvm es Virtualizacion en Sistema Opertivo

3- tengo ubuntu+VMplayer instalado, instale Win XP (huesped) con resultados no muy buenos, no soporta nada de 3D, openGL, DirectX, juegos, nada de eso sirve. ¿KVM+qemu permitiria instalar juegos que requieran DirectX 9c? y reconoceria mi aceleradora(a diferencia de VMplayer?

Mi PC:
AMD Athol 64 x2 3600+
MSI nVidia Gforce 6100
RAM 2GB

actualmente tengo una particion para win XP, solo para juegos y me gustaria desacerme completamente de esta articion, o por lo menos obtener un mejor rendimiento que con VMplayer, para mis necesidades esta muy lento todavia.

Gracias…

Si!!! otra vez yo, resulta que he leido un poco en estas horas y perdi mi tiempo porke segun este articulo:

http://www.vmware.com/pdf/asplos235_adams.pdf

La emulacion por software es mas rapida. Para las cargas de trabajo normales la emulacion por hardware es mas lenta

En cuanto a la emulacion por software el VMware (pago) o VMplayer (gratuito) es el mas rapido, incluso que el VirtualBox, aunque la diferencia no es mucha.

Si alguno quiere jugar en linux juegos de XP, mi triste opinion es que lo mas seguro es tener otra particion para Windows XP solo para juegos, lo digo porke el Wine/cedega (segundas mejores opciones) no permiten ejecutar todos los juegos, solo algunos asi que terminara convirtiendose en otra perdida de tiempo.
Esperemos que wine siga traduciendo las librerias de windows XP ya soporta directX9c pero todavia le falta.

Louis

@Louis. Te bastaron menos de dos horas para hacer tu tarea. ¡Felicitaciones!

Si, tienes razón. No obstante los impresionantes avances de la virtialización, aún faltaría lo fino. No se diga en Linux. VMware de paga tiene 3D para Mac y Win.

VMware

Saludos

Deja un comentario

(requerido)

(requerido)