Paravirtualizando con Xen

A pesar de que el propio Linus Torvalds recientemente le quitó relevancia a la virtualización, sigue siendo un recurso muy importante en muchos ámbitos. Mediante la virtualización podemos consolidar distintos sistemas operativos en un sólo equipo físico, con el consiguiente ahorro económico. Además, supone más facilidad de administración, usar entornos separados para el desarrollo de software (se evita el tedioso reinicio del sistema real), evaluar software de tipo experimental de manera inocua, etc.


Arranque de un sistema en DomU

Existen muchas opciones en lo que a virtualización se refiere. Xen es una de ellas, que usa una técnica llamada paravirtualización. Sintéticamente, esto signfica que Xen es un hipervisor, es decir es un software que es lanzado por el cargador de arranque y que simula ser el hardware real. El hipervisor por si solo no puede hacer demasiado, lo que hace es llamar a un sistema operativo virtualizado, lo que llamaríamos un guest, que en la jerga de Xen se denomina Dom0. Este Dom0 no es cualquier guest, es el sistema que tiene el único privilegio de acceder al hipervisor, es decir al pseudo-hardware. Lo interesante de esto es que el Dom0 puede gestionar a otros dominios llamados DomU, es decir podemos tener otros sistemas operativos invitados.

La ventaja de esta técnica es que todos los sistemas operativos instalados acceden a los mismos drivers, con lo cual la performance de un sistema instalado como DomU es casi idéntica a la de un sistema nativo.



Por supuesto, como casi nada es perfecto, esto tiene una desventaja, es necesario que los sistemas invitados estén modificados para poder ser invitados en Xen. Es por eso que se usa un kernel especial, que de hecho lo primero que hace es arrancar Xen, y luego el Dom0. La otra desventaja que tiene es que las distros del DomU y la del Dom0 tienen que ser idénticas para que la implementación sea sencilla. Es decir, si Dom0 es Centos 5.1 una distro del DomU también debe ser Centos 5.1. Obviamente hay excepciones, de hecho, la virtualización completa a diferencia de la paravirtualización permite que un sistema cerrado como Windows esté como sistema invitado.

Comentarios

Comments powered by Disqus