La virtualización consiste en instalar y ejecutar múltiples sistemas operativos sobre máquinas virtuales que se ejecutan sobre una máquina física denominada anfitrión.

Algunas ventajas de la Virtualización son las siguientes:

Varias máquinas (virtuales) al mismo tiempo sobre una máquina física. Un ejemplo típico es tener un Windows XP, un viejo Windows 98 y una distribución de LINUX que todavía estás probando, los tres corriendo sobre un anfitrión Windows Vista, Ubuntu Linux o Mac OS. Sí: tendrás los tres sistemas al mismo tiempo, en la misma pantalla, teclado y ratón como si fueran tres PCs en uno.

Ahorro de espacio fisico. Si antes tenías varios PCs con todos sus cables, pantallas y teclados ahora sólo tendrás uno que contendrá a los demás.

Compartir recursos hardware. La virtualización permite aprovechar al máximo las prestaciones del PC anfitrión y compartirlas entre sus máquinas virtuales.La mayoría de los ordenadores domésticos y estaciones de trabajo infrautilizan sus recursos. Esto quiere decir que no están utilizando todo el tiempo el 100% del procesador ni la memoria. La técnica de virtualización permite compartir en tiempo real esos recursos de forma que la memoria RAM que una máquina deja libre puede ser utilizada por otra que la necesita.


Ahorro de energía. Nada que decir que en este caso enchufarás un sólo PC (el anfitrión) y su pantalla. Recuerda que todos los sistemas virtuales se ejecutan dentro de él.

Fácil traslado de ubicación. Todo lo necesario para arrancar una máquina virtual suele estar en un único directorio. Moviendo (o copiando) ese directorio a otro anfitrión que soporte el mismo formato nos permite trasladarla en el mismo tiempo que tardan sus GB en transferirse por la red.

Entornos de pruebas. ¿Cuántas veces ensuciaste tu sistema por instalar la última versión de un programa que se interfirió con otro software que te funcionaba perfecto y ya no arranca? Muchas veces podemos hacer nuestras pruebas en entornos virtualizados sin miedo a estropear nada.

Entornos dedicados específicos. Puedes tener un router/firewall virtual, un servidor VPN, o una máquina virtual dedicada sólo a descargas P2P sin riesgo de contagios. Las posibilidades son infinitas.

Abaratar costes. Por fin la razón más poderosa es el ahorro económico derivado del menor gasto en ‘hierro’, espacio físico, energía eléctrica y tiempo de administración.

Modelo Virtualización

¿QUÉ ES DOCKER?

Esta herramienta nos permite crear lo que ellos denominan contenedores, lo cual son aplicaciones empaquetadas auto-suficientes, muy livianas que son capaces de funcionar en prácticamente cualquier ambiente, ya que tiene su propio sistema de archivos, librerías, terminal, etc.

Docker es una plataforma abierta para los desarrolladores y administradores de sistemas. Consta de Docker Engine, un tiempo de ejecución ligero portátil y herramienta de empaquetado, y Docker Hub, un servicio de nube para compartir aplicaciones y automatización de flujos de trabajo, permite aplicaciones para ensamblarse rápidamente a partir de componentes y elimina la fricción entre los entornos de desarrollo, control de calidad y producción. Como resultado, la TI puede enviar más rápido y ejecutar la misma aplicación, sin cambios, en los ordenadores portátiles, los centros de datos de máquinas virtuales, y cualquier nube.

El objetivo de docker es que el mismo contenedor que un desarrollador construye para escribir y probar una aplicación en su equipo pueda correr en producción a mayor escala, ya sea sobre máquinas virtuales, directamente sobre hardware, en clústeres OpenStack o clouds públicas.

Para lograrlo, Docker extiende LXC (LinuX Containers), un método de virtualización ligero disponible desde 2008 en este sistema operativo que permite crear múltiples sistemas aislados o contenedores que corren en paralelo sobre la misma máquina anfitriona. Esto permite mayor flexibilidad y rendimiento, al no emularse una máquina virtual completa ni correr un sistema operativo íntegro dentro de ella, a costa de quedar “atado” al sistema operativo anfitrión, que se expone a las aplicaciones. El concepto de contenedor como espacio de usuario virtualizado y con un límite de recursos asignado no es nueva, y ha estado disponible desde 1998 en FreeBSD o desde 2005 en Solaris. Ni siquiera lo es en el cloud computing, al ser la tecnología tras los Virtuozzo Containers de Parallels, losdynos de Heroku o el SmartOS de Joyent (este último comercializado actualmente en España por Acens bajo el nombre Instant Servers).

Docker empezó como un proyecto interno de Solomon Hykes en dotCloud, un proveedor PaaS (plataforma como servicio). Fue publicado bajo licencia abierta en marzo de 2013, y ganó mucha atracción en la comunidad. No sólo está integrado con la mayoría de herramientas de gestión y despliegue de infraestructura(como Chef o Puppet), sino con OpenStack (que incluye soporte nativo desde Havana) y con OpenShift, la iniciativa PaaS de Red Hat así surge el concepto “Docker as a Service”.

¿QUÉ ES KVM (Kernel Virtual Machine)?

KVM (Kernel based Virtual Machine), es una tecnología de virtualización. Basada en GNU/Linux y desarrollada por la empresa Qumranet, KVM permite la virtualización sobre hardware X86 y viene incluido por default a partir del Kernel 2.6.20 de Linux, permitiendo una rápida implementación. KVM realiza una virtualización completa, algunas otras alternativas hacen emulación del procesador, lo cual da muchísima usabilidad y flexibilidad, pero no aprovecha bien los recursos del servidor, lo cual hace un poco mas lenta la ejecución del SO huésped.

Estos son algunas cualidades de KVM:

1. Es un módulo del kernel, luego no hace falta arrancar kernels especiales ni aplicar parches.
2. No es necesario modificar el kernel del sistema operativo que vas a ejecutar dentro de la máquina virtual.
3. Soporta tecnología NUMA, por lo que permite una escalabilidad muy amplia.
4. Tiene muy pocas líneas de código.
5. Usa el scheduler y gestor de memoria propio del kernel.
6. Fácil instalacion.

Estos son algunos puntos en contra de KVM:

1. Necesitas tener un procesador con soporte para virtualización por hardware, como son los procesadores con tecnología AMD-V e Intel-VT.
2. No tiene interfaces gráficas bonitas y sencillas de usar para configurar y administrarlo.
3. No es una herramienta multiplataforma, ya que se ejecuta solo en Linux.

La empresa del sombrero rojo lanzo RHEV 2.2, el cuál presenta las siguientes cualidades:

1. Alta disponibilidad (cuando una servidor físico presenta una falla de hardware, los servidores virtuales que se estaban ejecutando en dicho hardware, se reinician y levantan en otro servidor físico)
2. Migración en caliente (permite migrar una maquina virtual de servidor fisico sin la necesidad de apagarla o reiniciarla y sin afectar la performance)
3. Baja los costos de licenciamiento ente un 60% y 80% con respecto a sus competidores.
4. Las aplicaciones certificadas para RH, Oracle y SAP por ejemplo, pueden ser utilizadas con RHEV.
5. Modelo híbrido ya que RHEV tiene la capacidad de ejecutar maquinas virtuales como fisicas en la misma plataforma.
6. Ahorro de energía al concentrar las maquinas virtuales en pocos servidores durante las horas de baja demanda.
7. Snapshot
8. Virtualización tanto para servidores como para desktop.
9. Balanceo de carga.
10. Soporte para múltiples arquitecturas de hardware (x86, POWER, SystemZ, Itanium).
11. Amplia variedad de ofertas para pilas de middleware (Java EE Application Platform, ESB, Portal Server).
12. Capacidad de transferir una aplicacion entre servidores fisicos y virtuales.

¿QUÉ ES XEN

La Universidad de Cambridge creó un proyecto de investigación cuyo resultado fue, en el año 2003, la liberación de la primera versión de XEN. El proyecto estaba liderado por Ian Pratt, quien mas tarde creó un empresa de soporte, mantenimiento y capacitación sobre XEN en Enero de 2005.

La empresa es Xensource Inc., y en la actualidad sigue con XEN (junto con otras empresas y la comunidad de desarrollo), y también se dedica a programar aplicaciones adicionales (no libres) para facilitar el uso, instalación y mantenimiento de XEN.

XEN tiene licencia GPL, es código abierto y tanto Xensource como otras empresas importantes como IBM, Sun, HP, Intel, AMD, RedHat, Novell están involucradas en el mantenimiento y desarrollo de XEN. XEN funciona en arquitecturas x86 de 32 y 64 bits.

En el caso de la paravirtualización tiene el inconveniente de necesitar un kernel adaptado, pero el rendimiento es superior. La paravirtualización consiste en la utilización de niveles de privilegios o rings. Los procesadores mas actuales soportan este tipo de ejecución.

En condiciones normales el sistema operativo o supervisor se ejecuta en el nivel 0 o root-mode que es el que tiene mas privilegios y las aplicaciones en niveles superiores con menos privilegios. La ejecución de XEN provoca un cambio en este esquema de privilegios, de forma que el sistema operativo pasa al nivel 1 dejando el nivel 0 para el software de virtualización. De esta forma XEN consigue el control total de todos los recursos incluyendo el sistema operativo.

Cuando XEN arranca se inicia el hypervisor y automáticamente se arranca el primer dominio llamado 'dominio cero' o 'Dom0'. Este es un dominio especial de carácter administrativo imprescindible para iniciar o administrar otras maquinas virtuales (otros dominios). Dom0, por tanto, es un dominio privilegiado ya que desde allí se pueden administrar los demás dominios que se vayan creando y que se llaman genéricamente 'DomU', donde la U viene de Unprivilege.

Arquitectura Xen

Características de XEN

1. Código fuente reducido y buena velocidad y gestión de los recursos (E/S, red, CPU y memoria).
2. Buen rendimiento.
3. Con soporte de hasta 32 procesadores en paralelo (SMP).
4. Soporta PAE (Physical Address Extension) para servidores de 32 bits con más de 4GB de memoria RAM. Recordar que un kernel PAE es una versión del kernel para 32bits que permite reconocer hasta 64GB RAM.
5. Permite 'mover en caliente' máquinas virtuales.
6. Instalar XEN solo necesita un kernel con el parche de XEN y las herramientas de usuario para poder crear, destruir y modificar los valores de las máquinas virtuales en caliente.

 

 

Colaboradores

Logotipo Asterisk Logotipo GNU Logotipo Debian Logotipo Aztecom Logotipo FreeBSD Logotipo MariaDB Logotipo RedHat Logotipo Openstack