Paravirtualización con XenServer

Hace poco escribí este documento que me gustaría compartir con ustedes, espero les guste.

La versión original la pueden encontrar en http://www.sysadmin.org.mx/contenidos/paravirtualizacion-con-xenserver.html

 

En este articulo les voy a hablar sobre un método diferente de virtualización a los jails de FreeBSD y Containers/Zones de Solaris, la Paravirtualización.
Durante este texto nos enfocaremos en XenServer ya que por su facilidad de uso, instalación y administración, lo hacen una solución efectiva y que brinda caracteristicas superiores.

Introducción

La paravirtualización es una técnica de virtualización que mediante un sistema operativo o una aplicación especial denominada hypervisor, permite utilizar en un equipo físico múltiples maquinas virtuales en paralelo. Este sistema o programa es el que interactua y gestiona los recursos del hardware, creando una capa de abstracción que emula componentes físicos como tarjeta de red, de video, discos duros, y ram; para que los sistemas operativos virtualizados funcionen de manera transparente.

Usando esta técnica de virtualización existen diferentes soluciones en el mercado de las cuales podemos destacar las siguientes:

A su vez, cada producto utiliza diferente aproximación para la implementación del hypervisor destacando vSphere/ESX(i) de WMware, ya que es el único que no depende de un sistema operativo base para su funcionamiento. Hyper-V es la solución de Microsoft y por lo mismo requiere Windows mientras que Xen/XenServer de Citrix tienen como sistema base Linux, también KVM utiliza Linux como base.

Diferencias entre Xen y XenServer

A grandes rasgos, la principal diferencia entre ambos es la facilidad de implementación, Xen es un “paquete” que se aplica como parche al kernel de un sistema Linux, el cual después hay que recompilar y configurar para que funcione adecuadamente, por otro lado, XenServer se puede descargar como un ISO que incluye un instalador y todo lo necesario para comenzar a operar de forma inmediata.

Es importante destacar que XenServer requiere una licencia para cada servidor donde se instale, que es aquí donde el costo de la inversión se puede incrementar, sin embargo, desde el XenCenter se pueden generar licencias gratuitas que funcionan durante un año sin mayor problema.
También es necesario mencionar que ciertas caracteristicas avanzadas como “Live migration” o “Dynamic workload balancing” solo funcionan con licencias Adavanced, Enterprise o Platinum, de paga.

Para este articulo y para necesidades generales, la versión gratuita funciona de maravilla.

Sistemas operativos soportados

A diferencia de los Jails de FreeBSD o de los Zones/Containers de Solaris, que solo funcionan con una copia aislada del sistema mismo, la paravirtualización permite ejecutar varios sistemas operativos diferentes y de forma simultanea. A continuación se puede apreciar la lista de sistemas operativos soportados por ambas versiones, destacando que XenServer cuenta con “presets” preconfigurados para brindar el maximo desempeño en algunos de ellos.

  • Microsoft Windows 64-bit, Incluyendo Server 2008, 2003 y Windows 7
  • Microsoft Windows 32-bit, Incluyendo Server 2008, 2003, Windows 2000, XP y 7
  • Linux 64-bit, Incluyendo RHEL, CentOS, Oracle, Novell SUSE, Debian y Ubuntu
  • Linux 32-bit, Incluyendo RHEL, CentOS, Oracle, Novell SUSE, Debian y Ubuntu
  • Solaris 10
  • Algunas versiones BSD incluyendo FreeBSD 8 y 9

Instalación

La instalación es muy sencilla, solo hay que descargar el ISO desde el sitio de Citrix, grabarlo en un DVD y hacer la instalación, justo como con cualquier distribución de Linux. Se adjuntan algunas imagénes del procedimiento de instalación.

Una vez concluida la instalación y reiniciado el servidor, podremos ver la pantalla principal del servidor desde donde podremos realizar algunas de las actividades administrativas, vía consola, sin embargo, parte de la comodidad de XenServer es su facilidad de administración utilizando XenCenter, uns aplicación gráfica que aunque solo funciona en Microsoft Windows, facilita mucho la gestión de uno o varios servidores.

Configuración y uso

Lo primero que necesitamos es descargar XenCenter ya sea desde la pagina web de Citrix o bien, usando el navegador web y entrando a la dirección IP del servidor, desde ahí mismo se puede descargar el software, así de simple.

Una vez instalada la herramienta podemos observar que cuenta con las siguientes funciones:

  • Administración de servidores XenServer
  • Gestión de maquinas virtuales
  • Administración del espacio de almacenamiento externo
  • Manejo de licencias
  • Actualizaciones de software
  • Entre otras

No entraremos en detalles sobre cada una ya que las unicas que nos interesa para este articulo son las funciones de administración de servidores y de maquinas virtuales.

Lo primero que vamos a hacer es agregar un nuevo servidor, para los cual se nos solicitará la dirección ip del servidor XenServer que acabamos de instalar, junto con el usuario (root por lo general) y la contraseña de administración.

Una vez agregado el servidor, podemos realizar varias funciones sobre el como agregar nuevas maquinas virtuales, gestionar la asignación de recursos por maquina virtual, iniciar o detener las existentes, administrar el espacio de almacenamiento, entre otras.

El siguiente paso será agregar una nueva maquina virtual, desde aquí podemos comenzar a apreciar las ventajas que tiene XenServer sobre los Jails ya que al momento de crear la maquina se nos permite especificar la cantidad de procesadores y de memoria ram que deseamos asignarle, algo imposible de hacer a la fecha con jail. También es posible seleccionar un amplio rango de sistemas operativos que cuentan con ajustes predefinidos que mejoran el desempeño en el entorno virtual.

Otro punto a destacar es la gestión del espacio de almacenamiento, bajo XenServer es muy sencillo generar nuevos “Discos Virtuales” de diferentes tamaños, e incluso reutilizar los mismos. Actualmente con ZFS es posible realizar también estas funciones junto con otras mas avanzadas, pero por el momento instalar un sistema FreeBSD con ZFS nativo (Root ZFS), sigue siendo un procedimiento para usuarios avanzados.

Al momento de crear la maquina virtual se puede especificar el medio de instalación, ya sea desde un dvd, la librería de ISO o incluso desde la Red. En este caso la maquina será instalada desde la unidad de DVD del servidor y la instalación se iniciará al concluir la creación de la misma. La instalación se realiza de la forma cotidiana pero mediante la consola de la maquina virtual.

A continuación se puede ver una imagen con el resumen de las caracteristicas de la maquina virtual que se va a crear.

La siguiente es una captura de pantalla donde se puede se pueden apreciar 3 servidores XenServer junto con la información detallada del servidor “xenserver1”, mostrando el estado de sus 2 maquinas virtuales.

Ventajas de XenServer

El objetivo de esta revisión simple de XenServer es mostrar las ventajas que lo hacen superior a los métodos navitos de virtualización, jails y zones/containers en particular, así que veamos algunas:

Asignación de recursos

Esta ventaja destaca principalmente sobre los jails, ya que los containers de Solaris si permiten definir procesadores por Container/Zone, aunque ninguno de los 2 permite limitar la cantidad de memoria por maquina virtual. También es posible incrementar la cantidad de recursos en caso de que la maquina requiera mas, ya sea memoria o procesador.

Aquí voy a hacer una observación importante, mientras que en muchas situaciones lo ideal es mantener bien definidos y limitados los recursos por maquina virtual tal y como lo hace Xen, en algunas ocasiones es necesario y deseable, poder utilizar gran parte de los recursos del equipo de computo durante periodos de tiempo definidos, tal y como lo hacen los jails, que comparten todos los recursos entre el host y jails.
Como ejemplo podemos comentar el servidor de correo, por lo general tiene un consumo de recursos muy bajo pero que durante envios masivos puede llegar a generar muchos procesos y consumir así muchos mas recursos, en el caso de los jails no tendríamos problemas ya que haría uso de todo lo que tenga disponible el servidor, mientras que en el caso de Xen, estaría limitado a los recursos de la maquina virtual.

Consola de administración dentro de XenCenter

En jails y containers, el método de administración puede ser activando acceso remoto (ya sea ssh o escritorio remoto) o “cambiando a la maquina virtual” desde la consola. En XenServer ya se cuenta con un equivalente al escritorio remoto/vnc que permite administrar desde el mismo XenCenter los servidores, sin tener que conectarse primero al servidor principal, y de ahí “brincar” a la maquina virtual, muy útil cuando no se desea activar el acceso remoto.

Monitoreo de desempeño

En FreeBSD por el momento no se tiene un método claro para monitorear el rendimiento de las jaulas mientras que XenServer cuenta con una herramienta de monitoreo bastante buena.

Snapshots

Esto pareciera no tener mayor ventaja ya que la mayoría de los sistemas de archivos cuentan con dicha funcionalidad destacando la facilidad con que se realiza y gestiona en sistemas con ZFS, sin embargo, en XenServer un snapshot se puede reutilizar para generar una nueva maquina virtual e incluso se pueden exportar los snapshots para tener backups completo, también se pueden utilizar para generar nuevas plantillas de maquinas virtuales.

Administración de “pools” de servidores

Esta caracteristica permite agrupar servidores XenServer para formar clusters, y lograr entornos de alta disponibilidad con maquinas balanceadas y asignación de recursos de manera dinámica. También permite hacer migraciones “en vivo” de maquinas virtuales de un equipo físico a otro con downtime de segundos!

Administración de “pools” de red

Diseñado principalmente para la autosuficiencia de red, se utiliza en conjunto con el “pool” de servidores para la asignación dinámica de direcciones IP, muy similar al funcionamiento que tiene Amazon Web Services.

Rápido provisionamiento de maquinas virtuales

En este aspecto no es muy diferente la administración de jails y containers ya que se pueden generar “plantillas” y luego clonarlas o copiarlas, de la misma forma funciona XenServer, con la ventaja de que se pueden generar plantillas con diferente asignación de recursos y sistemas operativos, ideal para entornos tipo Cloud.

Integración con Cloud Stack para Cloud Computing

Tomando en cuenta que hoy en día los entornos de Cloud se están volviendo fundamentales para la agilización de procesos y de provisionamiento, esto es una gran ventaja ya que mediante CloudStack se pueden generar Clouds publicas o privadas, así mismo, se pueden utilizar servidores XenServer con otro tipo de herramientas de administración como RightScale y similares. Todo el poder de entornos similares a AWS a nuestras manos.

Notas adicionales

Aunque XenServer ofrece muchas ventajas sobre los jails y containers, hay que tener presente que el hypervisor agrega carga adicional al equipo de computo ya que es un sistema operativo completo que solamente hace la repartición de los recursos de computo entre las maquinas virtuales, mientras que en FreeBSD y Solaris, se puede utilizar el sistema base para cualquier fin.

Por último es importante mencionar que el soporte para FreeBSD no es el mejor, de hecho, no aparece como plataforma soportada oficialmente.

Conclusión

Sin duda alguna, XenServer ofrece mejoras considerables con respecto a las proporcionadas por jails de FreeBSD y containers/zones de Solaris, proporciona el dinamismo necesario para integrarse perfectamente a los entornos de Cloud Computing, mejorando el provisionamiento y aprovechamiento de los recursos de computo, así mismo, es un herramienta ideal para comenzar a disfrutar las ventajas de dichos entornos sin tener que gastar miles de pesos ya sea para hacer pruebas, implementaciones iniciales, o integraciones de gran escala.

Tags: , , , , , , , , , , ,


1 vote, average: 4.00 out of 51 vote, average: 4.00 out of 51 vote, average: 4.00 out of 51 vote, average: 4.00 out of 51 vote, average: 4.00 out of 5 (1 votes, average: 4.00 out of 5)
You need to be a registered member to rate this post.
Loading...
*BSD, Hardware, Linux, Sistemas Operativos, Tecnología, Unix | RSS 2.0 |     483 views

RSS feed

Comments »

No comments yet.

Name (required)
E-mail (required - never shown publicly)
URI
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> in your comment.

Trackback responses to this post