Logo Studenta

Introduccion a la Virtualizacion

¡Este material tiene más páginas!

Vista previa del material en texto

Introducción a la
Virtualización
Carreras:
• Lic. en Sistemas
• Ing. Informática
Ing. Carlos A. Afranllie
• La virtualización comenzó a desarrollarse en la década de los
sesenta para particionar grandes piezas de hardware mainframe
y lograr una mejor utilización de hardware.
• En la actualidad, las computadoras basadas en arquitecturas x86
se enfrentan al mismo problema de rigidez y subutilización que
enfrentaron los mainframes en la década de los sesenta.
• Empresas como VMware comenzaron el tema de la virtualización
para plataformas x86 en la década de los noventa para combatir
la subutilización y otros problemas, y tuvo que enfrentar muchos
desafíos en el camino.
Introducción
El comienzo: virtualización de mainframe
IBM implementó la virtualización por primera vez
hace más de 30 años para particionar de manera
lógica computadoras mainframe en máquinas
virtuales separadas. Estas particiones permitieron
que las mainframes ejecutaran múltiples tareas a
la vez, es decir, que ejecutaran varias aplicaciones
y procesos al mismo tiempo.
Introducción
Debido a que las mainframes constituían recursos costosos
en ese momento, fueron diseñadas para permitir la
creación de particiones como un modo de aprovechar
totalmente la inversión.
Introducción
La necesidad de la virtualización x86
La virtualización se abandonó efectivamente durante las
décadas de los ochenta y noventa, cuando las
aplicaciones de cliente-servidor y los servidores y
escritorios x86 poco costosos dieron paso a la
computación distribuida. La adopción masiva de
Windows y la aparición de Linux como sistemas
operativos para servidores en la década de los noventa
establecieron a los servidores x86 como el estándar de
la industria.
Introducción
El crecimiento en las implementaciones de servidores y
escritorios x86 generó nuevos desafíos operacionales y de
infraestructura de TI. Estos desafíos incluyen:
• Poca utilización de la infraestructura: las
implementaciones típicas de servidores x86 alcanzan un
promedio de utilización de solo el 10-15% de la capacidad
total, según International Data Corporation (IDC), una
empresa de investigación de mercado. Las organizaciones
suelen ejecutar una aplicación por servidor para evitar
que la vulnerabilidad de una aplicación afecte la
disponibilidad de otra aplicación del mismo servidor.
Desafíos
• Mayores costos de infraestructura física: los
gastos operacionales que sustentan el crecimiento
de la infraestructura física han aumentado de
manera continua. La mayor parte de la
infraestructura de computación debe estar en
funcionamiento en todo momento, lo que implica
un costo por consumo de energía, refrigeración e
instalaciones que no varía de acuerdo con los
niveles de utilización.
Desafíos
• Mayores costos de administración de TI: a medida
que los entornos de computación se vuelven más
complejos, el nivel de capacitación y experiencia
especializada requeridos para el personal de
administración de infraestructura y los costos
asociados a tal personal aumentan. Las
organizaciones gastan tiempo y recursos de forma
desproporcionada en tareas manuales asociadas al
mantenimiento de servidores, y eso requiere más
personal.
Desafíos
• Insuficiencia de conmutación de recuperación y
protección contra desastres: las organizaciones se
ven cada vez más afectadas por el tiempo fuera de
servicio de aplicaciones fundamentales de servidor y
la falta de accesibilidad de escritorios fundamentales
de usuario final. La amenaza de los ataques a la
seguridad, los desastres naturales, las pandemias y el
terrorismo han aumentado la importancia de una
planificación para la continuidad del negocio en
cuanto a servidores y escritorios.
Desafíos
• Demasiado mantenimiento para los escritorios de
usuario final: la administración y la seguridad de los
escritorios empresariales generan varios desafíos.
Controlar un entorno distribuido de escritorio y
promover políticas de administración, acceso y
seguridad sin afectar el trabajo efectivo de los
usuarios es complejo y muy costoso. Es necesario
cambiar a versiones superiores y aplicar parches
continuamente en los entornos de escritorio para
eliminar las vulnerabilidades de seguridad.
Desafíos
Obstáculos de la virtualización x86
• A diferencia de las mainframes, las máquinas
x86 no fueron diseñadas para ser compatibles
con la virtualización total; por ende, los
programas de virtualización del momento,
tuvieron que enfrentar desafíos enormes para
crear máquinas virtuales a partir de
computadoras x86.
Obstáculos
• La función básica de la mayoría de las CPU, tanto en
mainframes como en PC, es ejecutar una secuencia
de instrucciones almacenadas (es decir, un
programa). En los procesadores x86, hay 17
instrucciones específicas que generan problemas al
ser virtualizadas, lo que provoca que el sistema
operativo muestre una advertencia, cierre la
aplicación o simplemente colapse todo el sistema.
Por lo tanto, estas 17 instrucciones representaron un
gran obstáculo en la implementación inicial de la
virtualización en computadoras x86.
Obstáculos
• Para manejar las instrucciones problemáticas en la
arquitectura x86, con software como el VMware se
desarrollaron unas técnicas de virtualización
adaptables que "atrapan" estas instrucciones a
medida que se generan y las convierte en
instrucciones seguras que se pueden virtualizar, al
mismo tiempo que permite que las demás
instrucciones se ejecuten sin intervención. El
resultado es una maquina virtual de alto rendimiento
y del mismo nivel del hardware anfitrión que
mantiene una compatibilidad de software total.
Obstáculos
VMWare dio los primeros pasos con esta técnica y hoy es el 
líder indiscutible en cuanto a tecnología de virtualización
VMWare
¿Qué es la Virtualización?
La virtualización es una tecnología de software probada
que está transformando con rapidez el panorama de TI
y está cambiando totalmente el modo de manejar la
computación.
¿Qué es la Virtualización?
El potente hardware de las computadoras x86
de hoy en día fue diseñado para ejecutar un solo
sistema operativo y una sola aplicación. Esto
hace que la mayoría de las máquinas estén
subutilizadas. La virtualización le permite
ejecutar varias máquinas virtuales en una sola
máquina física, y compartir los recursos de esa
computadora en varios entornos.
¿Qué es la Virtualización?
Diferentes máquinas 
virtuales pueden 
ejecutar distintos 
sistemas operativos y 
varias aplicaciones en 
una misma 
computadora física. 
¿Qué es una Máquina Virtual?
Una máquina virtual es un contenedor de
software aislado que puede ejecutar sus propios
sistemas operativos y aplicaciones como si fuera
una computadora física. Una máquina virtual se
comporta exactamente como una computadora
física ya que contiene su propia CPU, memoria
RAM, disco duro y tarjeta de interfaz de red
(NIC) virtuales (es decir, basados en software).
¿Qué es una Máquina Virtual?
• Un sistema operativo no puede notar la
diferencia entre una máquina virtual y una
máquina física, así como tampoco las
aplicaciones u otras computadoras en una
red. Incluso la máquina virtual "cree" que es
una computadora física.
• Pero una máquina virtual está compuesta
totalmente por software y no contiene
ningún tipo de componente de hardware.
Por lo tanto, las máquinas virtuales ofrecen
una cantidad de ventajas únicas sobre el
hardware físico.
¿Qué es una Máquina Virtual?
Comparación entre una máquina sin virtualización y otra con virtualización
Ventajas de las Máquinas Virtuales
En general, las máquinas virtuales poseen cuatro
características fundamentales para el usuario:
– Compatibilidad: las máquinas virtuales son compatibles con
todas las computadoras x86 estándar.
– Aislamiento: las máquinas virtuales se encuentran aisladas
entre sí como si estuvieran separadas físicamente.
– Encapsulamiento: las máquinas virtuales encapsulan un
entorno de computación completo.
– Independencia del hardware: las máquinas virtuales
funcionan independientemente del hardware subyacente.Ventajas de las Máquinas Virtuales
• Ahorro de costes: Podremos adquirir un solo servidor, aunque 
más potente, y no tener que comprar más servidores sino 
solamente ir creándolos en el gestor de máquinas virtuales. 
También permite ahorro en el coste de mantenimiento y en el 
de personal, además de ahorrar espacio. Mejora de TCO (costo 
total de propiedad ) y ROI (retorno de la inversión).
• Crecimiento más flexible: Instalar un nuevo servidor es mucho 
más sencillo y rápido frente a hacerlo con un servidor físico.
• Administración simplificada: Desde la consola del gestor de 
máquinas virtuales podemos aumentar o reducir los recursos 
para una determinada máquina, reiniciarla, instalar parches o 
simplemente borrarla en caso de problemas.
Ventajas de las Máquinas Virtuales
• Aprovechamiento de aplicaciones antiguas: Una de las ventajas 
de la virtualización es la posibilidad de conservar aplicaciones 
que funcionan en sistemas antiguos y aun así modernizar la 
infraestructura informática de la empresa.
• Centralización de tareas de mantenimiento: Podemos realizar 
copias de seguridad de un solo golpe de todas las máquinas, 
programar actualizaciones y otras actividades desde el gestor de 
máquinas virtuales. 
• Disminuye tiempos de parada: Una ventaja importante, 
solucionar problemas o realizar copias de seguridad son tareas 
que se realizan en mucho menos tiempo.
Ventajas de las Máquinas Virtuales
• Mejor gestión de recursos: Se puede aumentar la memoria o 
almacenamiento de la máquina huésped para aumentar los 
recursos de todas las máquinas virtuales a la vez, por lo que se 
aprovecha mucho mejor las inversiones en hardware.
• Balanceo de recursos: Es posible asignar un grupo de servidores 
físicos para que proporcionen recursos a las máquinas virtuales 
y asignar una aplicación que haga un balanceo de los mismos, 
otorgando más memoria, recursos de la CPU, almacenamiento o 
ancho de banda de la red a la máquina virtual que lo necesite.
• Pruebas: Mayor facilidad para la creación de entornos de test 
que permiten poner en marcha nuevas aplicaciones sin 
impactar a la producción, agilizando el proceso de las pruebas.
Ventajas de las Máquinas Virtuales
• Aislamiento: un fallo general de sistema de una máquina virtual 
no afecta al resto de máquinas virtuales.
• Paradas: Reduce los tiempos de parada.
• Migración: Migración en caliente de máquinas virtuales (sin 
pérdida de servicio) de un servidor físico a otro, eliminando la 
necesidad de paradas planificadas por mantenimiento de los 
servidores físicos.
• Organización: La virtualización mejora notablemente la
eficiencia y la disponibilidad de recursos y aplicaciones de su
organización. Los recursos internos ya no se subutilizan con el
antiguo modelo de "un servidor=una aplicación".
Desventajas de la Virtualización
• Rendimiento inferior: Un sistema operativo 
virtualizado nunca alcanzará las mismas cotas de 
rendimiento que si estuviera directamente instalado 
en el hierro.
• No es posible utilizar hardware que no esté gestionado 
o soportado por el hipervisor.
• Hardware virtual obsoleto: USB 1.0, Firewire 400, 
Ethernet 100 son algunos de los dispositivos a los que 
nos veremos sometidos.
Desventajas de la Virtualización
• No dispondremos de aceleración de vídeo por 
hardware: por lo que aplicaciones con efectos 3D 
como compiz-fussion y juegos que utilizan las librerías 
OpenGL o DirectX no funcionarán en la máquina 
virtual.
• Proliferación de máquinas virtuales: Como no hay que 
comprar ‘hierro’, el número de máquinas y servidores 
virtuales se dispara en todos los ámbitos.
• La portabilidad: entre plataformas está condicionada a 
la solución de virtualización adoptada.
Desventajas de la Virtualización
• La avería del servidor anfitrión de virtualización afecta a todas 
las máquinas virtuales alojadas en él: Ahora más que nunca 
deberemos adoptar soluciones de alta disponibilidad como 
clustering y replicación para evitar caídas de servicio de 
múltiples servidores con una única avería.
• Disminuye el número de ventas de hardware: Aunque el 
hardware adquirido para alojar máquinas virtuales es más 
potente, el número de máquinas vendidas será inferior
• El sistema operativo anfitrión se vuelve de rol crítico: Hasta 
ahora estábamos acostumbrados a utilizar un sistema para 
todas nuestras necesidades.
Infraestructura Virtual
Las máquinas virtuales son un pilar importante para una
solución mayor: la infraestructura virtual.
Si bien una máquina virtual simula los recursos de
hardware de una computadora entera, la
infraestructura virtual simula los recursos
interconectados de hardware de una infraestructura
de TI completa (incluso las computadoras, los
dispositivos de red y los recursos de almacenamiento
compartido).
Infraestructura Virtual
Organizaciones de todo tipo utilizan soluciones similares
para construir infraestructuras virtuales de servidor y
escritorio que mejoran la disponibilidad, la seguridad y la
capacidad de administración de las aplicaciones de
misión crítica.
¿Cómo funciona la Virtualización?
• Existen diferentes plataformas de virtualización en el
mercado (VmWare, Hyper-V, Xen, etc…), que vienen
moduladas con una arquitectura diseñada para el
negocio.
• Con estos software de virtualización, se pueden
transformar o virtualizar los recursos de hardware de
una computadora basada en x86 (incluso la CPU, la
memoria RAM, el disco duro y el controlador de redes)
y crear una maquina virtual totalmente funcional que
pueda ejecutar su propio sistema operativo y
aplicaciones como si fuera una computadora física.
¿Cómo funciona la Virtualización?
• Cada máquina virtual contiene un sistema completo, lo
que elimina conflictos potenciales. La virtualización
introduce una capa ligera de software directamente en
el hardware de la computadora o en un sistema
operativo anfitrión. Ésta contiene un monitor de
máquina virtual o "hipervisor" que asigna recursos de
hardware de forma dinámica y transparente. Varios
sistemas operativos funcionan simultáneamente en
una sola computadora física y comparten recursos de
hardware entre sí.
¿Cómo funciona la Virtualización?
HyperVisor
¿Cómo funciona la Virtualización?
• Gracias al encapsulamiento total de una
máquina, que incluye la CPU, la memoria, el
sistema operativo y los dispositivos de red, la
máquina virtual es totalmente compatible con
todos los sistemas operativos, aplicaciones y
controladores de dispositivos x86 estándar.
¿Cómo funciona la Virtualización?
• Además, también se
pueden ejecutar varios
sistemas operativos y
aplicaciones de forma
segura y al mismo
tiempo en una
computadora y que
cada uno de ellos
tenga acceso a los
recursos que necesita
cuando los necesita.
¿Cómo funciona la Virtualización?
• La virtualización de una computadora física es
sólo el comienzo, ya que se puede construir una
infraestructura virtual entera y escalarla a
cientos de computadoras físicas y dispositivos
de almacenamiento interconectados, que
permiten implementaciones como base para la
creación de nubes publicas y privadas
¿Cómo funciona la Virtualización?
• Al hacer esto no es necesario asignar servidores,
almacenamiento o ancho de banda de red de forma
permanente para cada aplicación. Por el contrario, sus
recursos de hardware se asignan de forma dinámica
cuando y donde se necesita en su nube privada.
• Las aplicaciones de mayor prioridad siempre cuentan
con los recursos necesarios, evitando así invertir
dinero en hardware que sólo se utiliza en horarios
pico.
¿Cómo funciona la Virtualización?
Tipos de Máquinas Virtuales
• Las VM las podemos clasificar en dos 
categorías, descritas a continuación:
• Máquinas virtuales de sistema (en inglés 
System Virtual Machine).
• Máquinas virtuales de proceso (en inglés 
Process Virtual Machine).
Máquinas Virtuales de Sistema
• Las máquinas virtuales de sistema, también conocidas 
como hardware VM, proporcionan un entorno 
completo, en el que múltiples sistemas operativos y 
procesosde múltiples usuarios pueden coexistir.
• Diferentes sistemas operativos pueden coexistir en una 
misma máquina. Las máquinas virtuales pueden 
proporcionar una arquitectura de instrucciones (ISA) 
que sea diferente a la de la máquina en la que se 
ejecuta (host), lo que implica, que puede simular 
hardware. 
Máquinas Virtuales de Proceso
• Una máquina virtual de proceso, o máquina virtual de 
aplicación, se ejecuta como un proceso normal dentro 
de un sistema operativo, creando un pequeño entorno 
virtual que contiene los componentes necesarios para 
su ejecución. 
• Este entorno virtual actúa como una capa entre la 
aplicación y el sistema operativo, y elimina los 
conflictos entre aplicaciones, y aplicaciones y el 
sistema operativo. El ejemplo más característico de 
este tipo de VM sería la Java Virtual Machine de Sun.
Técnicas de Virtualización
A la Virtualización las podemos clasificar en:
• Emulación.
• Paravirtualización
• Virtualización Completa
• Virtualización a nivel SO
Emulación
• Este es el tipo de virtualización más complejo de lograr. Consiste en 
emular, mediante máquinas virtuales, los componentes de hardware. 
De esta manera el sistema operativo no se ejecuta sobre el hardware 
real sino sobre el virtual.
• La gran ventaja de este enfoque es que pueden emularse distintas 
plataformas de hardware (por ejemplo, x86 sobre SPARC). 
• Su principal desventaja es el alto costo de traducción de cada una de 
las operaciones de las máquinas virtuales a la máquina real, pudiendo 
obtenerse un rendimiento de 100 a 1000 veces menor.
Paravirtualización
• La paravirtualización consiste en ejecutar sistemas operativos guests
sobre otro sistema operativo que actúa como hipervisor (host). Los
guests tienen que comunicarse con el hypervisor para lograr la
virtualización.
• Las ventajas de este enfoque son un muy buen rendimiento y la
posibilidad de ejecutar distintos sistemas operativos como guests. Se
obtienen, además, todas las ventajas de la virtualización enunciadas
anteriormente.
• Su desventaja es que los sistemas operativos guests deben ser
modificados para funcionar en este esquema.
Virtualización Completa
• La virtualización completa es similar a la paravirtualización pero no
requiere que los sistemas operativos guest colaboren con el
hypervisor. En plataformas como la x86 existen algunos
inconvenientes para lograr la virtualización completa, que son
solucionados con las últimas tecnologías propuestas por AMD e Intel.
• Este método tiene todas las ventajas de la paravirtualización, con el
añadido de que no es necesaria ninguna modificación a los guests.
• La única restricción es que estos últimos deben soportar la
arquitectura de hardware utilizada.
Virtualización por Software
• Este es el otro extremo de la virtualización. En este esquema no se
virtualiza el hardware y se ejecuta una única instancia del sistema
operativo (kernel). Los distintos procesos perteneciente a cada
servidor virtual se ejecutan aislados del resto.
• La ventaja de este enfoque es la separación de los procesos de
usuario prácticamente sin pérdida en el rendimiento, pero al
compartir todos los servidores virtuales el mismo kernel no pueden
obtenerse el resto de las ventajas de la virtualización.
Soluciones existentes en el mercado
APLICACIÓN TIPO DE LICENCIA
VirtualBox GPL v2
Open VZ GPL
Bochs LGPL
XEN GPL
QEMU GPL/LGPL
Virtual PC Privativa
Virtual Server Privativa
Vmware Privativa
Parallels Privativa
Existen en la actualidad en el mercado aplicaciones basadas en
software libre (con licencias GPL, LGPL), como privativas, esto lo
podemos ver resumido en la tabla.

Continuar navegando