Tema 40 - Tecnologias de Virtualizacion
Tema 40 - Tecnologias de Virtualizacion
Tema 40 - Tecnologias de Virtualizacion
TECNOLOGIAS DE VIRTUALIZACIÓN
TECNOLOGÍAS DE VIRTUALIZACIÓN
Virtualización se define como la creación, a través de software, de una versión virtual de algún
recurso tecnológico, como puede ser una plataforma de hardware, un sistema operativo, un
dispositivo de almacenamiento u otros recursos de red.
EL HIPERVISOR
El Hypervisor o VMM (Virtual Machine Monitor) es una plataforma de virtualización que permite
utilizar, a la vez, múltiples sistemas operativos en un equipo físico. Los hipervisores se pueden
clasificar en dos tipos:
• Tipo 1 (nativo, bare-metal): Software que se ejecuta directamente sobre el Hardware real del
equipo para controlar el Hardware y monitorizar los sistemas operativos virtualizados. Los sistemas
virtualizados se ejecutan en otro nivel por encima del hipervisor
• Tipo 2 (Hosted): Aplicación que se ejecuta sobre un sistema operativo convencional (Linux,
Windows, MacOS) para virtualizar sistemas. De esta forma la virtualización se produce en una capa
más alejada del Hardware si lo comparamos con los hipervisores de tipo 1. Lógicamente esto hace
que el rendimiento sea menor en los hipervisores de tipo 2
Así, con virtualización soportada por hardware, podemos implementar virtualización pura, sin
necesidad de modificar los sistemas operativos invitados y sin necesidad de emular las
instrucciones cuyo procesamiento es problemático. El rendimiento es notablemente mejorado
como consecuencia.
1
TEMA 40. TECNOLOGIAS DE VIRTUALIZACIÓN
MODELOS DE VIRTUALIZACIÓN
La virtualización separa de manera lógica la petición de algún servicio y los recursos físicos que
realmente proporcionan el servicio. Dependiendo del recurso que se abstraiga, que puede ser un
recurso individual –almacenamiento, red- o bien una plataforma - un servidor, máquina- completa,
y de por quién sea usado ese recurso, atenderemos entonces a distintos modelos de virtualización.
VIRTUALIZACIÓN DE PLATAFORMA
El recurso abstraído es un sistema completo, por ejemplo un sistema o servidor. En términos
generales consiste en la abstracción de todo el hardware subyacente de una plataforma de manera
que múltiples instancias de sistemas operativos puedan ejecutarse de manera independiente, con
la ilusión de que los recursos abstraídos les pertenecen en exclusiva. Esto es muy importante, ya
que cada máquina virtual no ve a otra máquina virtual como tal, sino como otra máquina
independiente de la que desconoce que comparte con ella ciertos recursos.
Este es un modelo especialmente a tener en cuenta, ya que es el aplicado para lo que se llama
consolidación de servidores. La virtualización o consolidación de servidores puede verse como un
particionado de un servidor físico de manera que pueda albergar distintos servidores dedicados (o
privados) virtuales que ejecutan de manera independiente su propio sistema operativo y dentro de
él los servicios que quieran ofrecer, haciendo un uso común de manera compartida y aislada sin ser
conscientes del hardware subyacente. Los distintos tipos y paradigmas de virtualización de
plataforma existentes son los siguientes:
Sistemas operativos invitados. Sobre una aplicación para virtualización –no hace uso de hipervisor
u otra capa de virtualización- que corre sobre la instancia de un sistema operativo –sistema
operativo host- se permite la ejecución de servidores virtuales con sistemas operativos
independientes.
Emulación. Un emulador que replica una arquitectura hardware al completo – procesador, juego de
instrucciones, periféricos hardware- permite que se ejecuten sobre él máquinas virtuales. Por lo
tanto se permite la ejecución de sistemas operativos y aplicaciones distintos al instalado
físicamente en la máquina que ejecuta el emulador.
2
TEMA 40. TECNOLOGIAS DE VIRTUALIZACIÓN
Virtualización a nivel del sistema operativo. Virtualiza los servidores sobre el propio sistema
operativo, sin introducir una capa intermedia de virtualización. Por lo tanto, simplemente aísla los
servidores independientes, que comparten el mismo sistema operativo.
Virtualización a nivel del kernel. Convierte el núcleo Linux en hipervisor utilizando un módulo, el
cual permite ejecutar máquinas virtuales y otras instancias de sistemas operativos en el espacio de
usuario del núcleo Linux anfitrión. Las librerías, aplicaciones y sistemas operativos de las máquinas
virtuales deben ser soportados por el hardware subyacente del anfitrión
VIRTUALIZACIÓN DE RECURSOS
En este segundo caso el recurso que se abstrae es un recurso individual de un computador, como
puede ser la conexión a red, el almacenamiento principal y secundario, o la entrada y salida. Existe
un gran número de ejemplos dentro de la virtualización de recursos, como por ejemplo el uso de
memoria virtual, los sistemas RAID (Redundant Array of Independent Disks), LVM (Logical Volume
Manager), NAS (Network-Attached Storage) o la virtualización de red.
Memoria virtual. Permite hacer creer al sistema que dispone de mayor cantidad de memoria
principal y que se compone de segmentos contiguos. En este caso el recurso individual que es
abstraído es la memoria y disco.
Virtualización de memoria. Virtualizaremos bajo este modelo cuando unamos los recursos de
memoria RAM de sistemas en red en una memoria virtualizada común.
3
TEMA 40. TECNOLOGIAS DE VIRTUALIZACIÓN
VIRTUALIZACIÓN DE APLICACIONES
Las aplicaciones son ejecutadas encapsuladas sobre el sistema operativo -recurso usado en este
tipo de virtualización- de manera que aunque creen que interactúan con él –y con el hardware- de
la manera habitual, en realidad no lo hacen, sino que lo hacen bien con una máquina virtual de
aplicación o con algún software de virtualización. Este tipo de virtualización es usada para permitir
a las aplicaciones de características como portabilidad o compatibilidad, por ejemplo para ser
ejecutadas en sistemas operativos para los cuales no fueron implementadas. Debe quedar claro
que la virtualización es solamente de las aplicaciones, lo que no incluye al sistema operativo
anfitrión.
Podemos diferenciar además entre los dos siguientes tipos de virtualización de aplicaciones:
VIRTUALIZACIÓN DE ESCRITORIO
Consiste en la manipulación de forma remota del escritorio del usuario, que se encuentra separado
de la máquina física, almacenado en un servidor central remoto en lugar de en el disco duro del
computador local. El escritorio del usuario es encapsulado y entregado creando máquinas virtuales.
De esta forma, es posible permitir al usuario el acceso de forma remota a su escritorio desde
múltiples dispositivos, como pueden ser computadores, dispositivos móviles, etc. Por lo tanto, en
este caso el recurso que se abstrae es el almacenamiento físico del entorno de escritorio del
usuario –como usuarios, no somos conscientes del lugar físico en el que se encuentra nuestro
escritorio, simplemente tenemos acceso a él.
4
TEMA 40. TECNOLOGIAS DE VIRTUALIZACIÓN
HERRAMIENTAS DE VIRTUALIZACIÓN
Existen múltiples herramientas para realizar la virtualización tanto a nivel empresarial como
para uso particular. Dividiremos la siguiente lista en 5 bloques dedicados cada uno a cada una de
las compañías de virtualización más populares.
SUN VIRTUALBOX
Es un Software de virtualización para arquitecturas x86 que fue desarrollado originalmente por la
empresa alemana Innotek. En Febrero de 2008 la empresa Innotek pasó a ser propiedad de Sun
Microsystems. Existen dos versiones de VirtualBox:
• El paquete completo de VirtualBox está destinado hacia un uso de “proprietary Personal Use and
Evaluation License” (PUEL), que permite utilizar el Software de forma gratuita para uso personal,
educativo y para la evaluación del producto.
• Una segunda versión llamada VirtualBox Open Source Edition (OSE) es una versión libre publicada
bajo la “GNU General Public License” (GPL).
PARALLELS
Parallels comercializa su Software bajo 2 categorías bien diferenciadas:
VIRTUALIZACIÓN DE ESCRITORIOS
• Parallels Desktop para Mac es un Software que utiliza un hipervisor ligero para permitir a los
usuarios ejecutar Windows simultáneamente con Mac OS X
VIRTUALIZACIÓN DE SERVIDORES:
• Parallels Server para Mac es un hipervisor basado en Software de virtualización de servidor que
permite a los administradores de IT ejecutar múltiples sistemas operativos Windows, Linux y Mac
OS X Server en un único Mac Xserve.
• Parallels Infrastructure Manager (PIM) es una herramienta opcional basada en Web que permite
a los administradores de Virtuozzo gestionar sus infraestructuras virtualizadas IT desde cualquier
punto y en cualquier momento
5
TEMA 40. TECNOLOGIAS DE VIRTUALIZACIÓN
MICROSOFT
Microsoft dispone actualmente del siguiente Software gratuito de virtualización de sistemas:
• Microsoft Hyper-V Server 2008 R2: Microsoft Hyper-V, antes conocido como Windows Server
Virtualization, es un sistema basado en el hipervisor de virtualización para sistemas x64.
VMWARE
VMware, Inc. es la empresa líder en cuota de mercado que se especializa en Software de
virtualización y comercializa su Software en 2 categorías:
VIRTUALIZACIÓN DE ESCRITORIOS
VMware Workstation: Esta suite permite a los usuarios hacer funcionar múltiples instancias en x86
o x86-x64 en una sola máquina física.
VMware Fusion: Proporciona una funcionalidad similar para usuarios de Mac con plataforma Intel,
junto con la plena compatibilidad con máquinas virtuales creadas por otros productos de VMware.
VMware Player: Software gratuito para uso personal, que puede ejecutar (pero no crear) máquinas
virtuales.
VIRTUALIZACIÓN DE SERVIDORES
VMware ESX es un producto que corre directamente en el Hardware del servidor, permitiendo que
los servidores virtuales utilicen también el Hardware más o menos directamente
VMware ESXi: bastante similar a ESX, pero se diferencia en que se ha quitado el “Service Console”,
y se sustituirá por una instalación de BusyBox mínima.
VMware Server (anteriormente llamado "GSX Server") también es freeware, como VMware Player,
pero es posible crear máquinas virtuales con él. Es el Software de virtualización para servidores de
gama entry-level.
CITRIX
Xen es un hipervisor Open Source que fue creado en el año 2003 en el laboratorio de computación
de la Universidad de Cambridge. Actualmente, las líneas de productos se denominan XenServer
(Gratuito), Essentials for XenServer Enterprise, and Essentials for XenServer Platinum.