Download docx - VIRTUALIZACION

Transcript
Page 1: VIRTUALIZACION

VIRTUALIZACION

CONCEPTO

En informática, virtualización es un término bastante amplio, ya que se refiere a la abstracción de los recursos de una computadora, llamada Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de la abstracción entre el hardware de la maquina física (host) y el sistema operativo de la maquina virtual (virtual machine, guest)., siendo un medio para crear una versión virtual de un dispositivo o recurso, como un servidor, un dispositivo de almacenamiento, una red o incluso un sistema operativo, donde se divide el recurso en uno o más entornos de ejecución.Esta capa de software (VMM) maneja, gestiona y arbitra los cuatro recursos principales de una computadora (CPU, Memoria, Red, Almacenamiento) y así podrá repartir dinámicamente dichos recursos entre todas las maquinas virtuales definidas en el computador central. De modo que nos permite tener varios ordenadores virtuales ejecutándose sobre el mismo ordenador físico.Tal término es antiguo; se viene usando desde 1960, y ha sido aplicado a diferentes aspectos y ámbitos de la informática, desde sistemas computacionales completos, hasta capacidades o componentes individuales. Lo mas importante en este tema de virtualización es la de ocultar detalles técnicos a través de la encapsulación.La virtualización se encarga de crear un interfaz externo que esconde una implementación subyacente mediante la combinación de recursos en locaciones físicas diferentes, o por medio de la simplificación del sistema de control. Un avanzado desarrollo de nuevas plataformas y tecnologías de virtualización han hecho que se vuelva a prestar atención a este importante concepto. De modo similar al uso de términos como “abstracción” y “orientación a objetos”, virtualización es usado en muchos contextos diferentes.

Este concepto que realmente es interesante, del cual se lleva desarrollando por muchos años, pero que parece que finalmente está encontrando sus caminos productivos y de desarrollo para profesionales.

QUÉ ES UNA MAQUINA VIRTUAL:

En ocasiones surge la necesidad de probar un programa o realizar pruebas en otro sistema operativo distinto al instalado. Surge la pregunta que cual es la solución a esta necesidad, si formatear el equipo e instalar este sistema operativo, crear una partición e instalarlo o buscar otro equipo en el que sí esté instalado. La solución es mucho mas sencilla que todo esto: lo único que hay que hacer es instalar una herramienta que emule el sistema operativo que se quiere probar, así no

Page 2: VIRTUALIZACION

hay necesidad de formatear ni de cambiar de equipo. El sistema operativo emulado debería ser totalmente independiente del sistema operativo real, conviviendo ambos en total armonía y pudiendo pasar de uno a otro con facilidad.

Lo anterior se consigue mediante el uso de las máquinas virtuales. Una máquina virtual es un programa informático que crea un entorno virtual entre el sistema operativo y el hardware para que el usuario final pueda ejecutar aplicaciones en una máquina abstracta. Por decirlo de manera más sencilla, una máquina virtual es una aplicación que simula el funcionamiento de una máquina real sobre la que se pueden instalar sistemas operativos, aplicaciones, navegar de forma segura, imprimir desde alguna aplicación, usar los dispositivos USB, etc.

La maquina virtual en general es un sistema operativo completo que corre como si se estuviera instalado en una plataforma de hardware autónoma. Típicamente muchas máquinas virtuales son simuladas en un computador central. Para que el sistema operativo “guest” funcione, la simulación debe ser lo suficientemente grande (siempre dependiendo del tipo de virtualización).

Se pueden encontrar varios tipos de máquinas virtuales:

- Máquinas virtuales software: este tipo de máquinas virtuales se sitúan por encima del sistema operativo y tratan de aislar a las aplicaciones del entorno sobre el que se ejecutan. Proporcionan una capa entre las aplicaciones y el sistema operativo que captura todas las llamadas al sistema y las traduce al sistema concreto de ejecución. La máquina virtual de Java o la máquina virtual del entorno .NET son dos claros ejemplos de máquinas virtuales software.

- Entornos virtuales: este tipo de máquinas se crean para ejecutar directamente aplicaciones que necesitan un entorno determinado de ejecución sobre otro entorno totalmente diferente.

- Maquinas virtuales hardware: este tipo de aplicaciones tratan de emular directamente el hardware. Las llamadas al hardware del sistema operativo instalado serán capturadas y convertidas en llamadas al sistema del hardware emulado. En general, la emulación del hardware recibe el nombre de virtualización. Al emularse directamente el hardware, el usuario tiene la impresión de que la máquina sobre la que está trabajando es totalmente independiente. Este tipo de máquinas virtuales serán el objeto del presente monográfico y a partir de ahora nos centraremos en ellas.

Page 3: VIRTUALIZACION

El uso de software de virtualización permite ejecutar varias máquinas virtuales con distintos sistemas operativos sobre el mismo hardware de manera simultánea. Además estas máquinas virtuales se pueden copiar y mover a otra máquina física de manera muy sencilla, lo que proporciona una manera rápida y cómoda de hacer backups o de reutilizar máquinas existentes. Las máquinas virtuales tienen discos duros virtuales que para la máquina anfitriona (es decir, para la máquina real) son simplemente ficheros de datos que se pueden copiar y manejar. La propia máquina virtual no es mas que un fichero de configuración.

Además existen en Internet muchas máquinas virtuales listas para ser ejecutadas y que permiten tener un entorno de desarrollo web en muy pocos minutos: Linux con Apache, PHP y mySQL instalado y configurado de manera directa, o bien una solución wiki lista para ser usada simplemente descargando una máquina virtual.

 

 

TIPOS DE VIRTUALIZACION:

Virtualización de plataforma: Esta involucra la simulación de máquinas virtuales.La virtualización de plataforma se lleva a cabo en una plataforma de hardware mediante un software “host” (“anfitrión”, que es un programa de control) que simula un entorno computacional (máquina virtual) para su software “guest”. Este software “guest”, que generalmente es un sistema operativo completo, corre como si estuviera instalado en una plataforma de hardware autónoma. Típicamente muchas máquinas virtuales son simuladas en una máquina física dada. Para que el sistema operativo “guest” funcione, la simulación debe ser lo suficientemente grande como para soportar todas las interfaces externas de los sistemas guest, las cuales se pueden incluir (todo esto dependiendo del tipo de virtualización)a los drivers de hardware.

VIRTUALIZACIÓN COMPLETAEsta es en donde la máquina virtual simula un hardware suficiente para permitir un sistema operativo “guest” sin modificar (uno diseñado para la misma CPU) para correr de forma aislada. Típicamente, muchas instancias pueden correr al mismo tiempo. Este enfoque fue el pionero en 1966 con CP-40 y CP[-67]/CMS, predecesores de la familia de máquinas virtuales de IBM.Ejemplos: VMware Workstation, VMware Server, Parallels Desktop,

Page 4: VIRTUALIZACION

Virtual Iron, Adeos, Mac-on-Linux, Win4BSD, Win4Lin Pro y z/VM. VIRTUALIZACION PARCIAL“Address Space Virtualization”. La máquina virtual simula múltiples instancias de mucho (pero no de todo) del entorno subyacente del hardware, particularmente address spaces. Tal entorno acepta compartir recursos y alejar procesos, pero no permite instancias separadas de sistemas operativos “guest”. Aunque no es vista como dentro de la categoría de máquina virtual, históricamente éste fue un importante acercamiento, y lo usaron en sistemas como CTSS, el experimental IBM M44/44X, y podría mencionarse que en sistemas como OS/VS1, OS/VS2 y MVS.VIRTUALIZACION POR S.O.Virtualizar significa instalar un sistema operativo dentro de otro al que se le llama guest (anfitrión), mediante el uso de una maquina virtual. Frecuentemente denominada virtualización compartida del Sistema Operativo o virtualización del SO, la virtualización del Sistema Operativo virtualiza servidores en la capa del sistema operativo (kernel). Este método de virtualización crea particiones aisladas o entornos virtuales (VEs) en un único servidor físico e instancia de SO para así maximizar los esfuerzos de administración del hardware, software y centro de datos. La Virtualización de Hypervisor tiene una capa base (generalmente un kernel, Linux que se muestra aquí como un hypervisor o SO estándar) que se carga directamente en el servidor base. Para asignar hardware y recursos a las máquinas virtuales (VMs), es recomendable que todo el hardware del servidor esté virtualizado. La siguiente capa superior muestra cada chip, placa, etc. que debe virtualizarse para que así pueda ser asignado a las VMs. Una vez en la VM, hay un copia completa de un sistema operativo y finalmente la aplicación o carga de trabajo. La Virtualización de SO mejora el rendimiento, gestión y eficiencia. En la base reside un sistema operativo huésped estándar, en el caso de Parallels Virtuozzo que incluye Windows y Linux. A continuación encontramos la capa de virtualización, con un sistema de archivos propietario y una capa de abstracción de servicio de kernel que garantiza el aislamiento y seguridad de los recursos entre distintos contenedores. La capa de virtualización hace que cada uno de los contenedores aparezca como servidor autónomo. Finalmente, el contenedor aloja la aplicación o carga de trabajo.

DIFERENCIAS ENTRE VIRTUALIZAR UN SISTEMA OPERATIVO O INSTALARLO:Virtualizar el sistema operativo es una opción interesante si no queremos instalar dos sistemas operativos en el mismo ordenador, pero si por el contrario lo que hacemos es instalarlo, todos los sistemas operativos que tengamos instalados funcionaran de la misma manera que si estuvieran instalados en distintos ordenadores.

Page 5: VIRTUALIZACION

El único y pequeño inconveniente es que necesitamos un gestor de arranque que al encender nuestro ordenador nos de la opción de elegir que sistema operativo queremos utilizar, lo que con lleva a que si por ejemplo estamos en Windows y queremos cambiar a Linux deberíamos reiniciar nuestro ordenador.La virtualización por el contrario permite cambiar de sistema operativo como si se tratase de cualquier otro programa, sin embargo, esta agilidad tiene la desventaja de que un sistema operativo virtualizado no es tan potente como uno que ya estuviera instalado.

VENTAJAS DE VIRTUALIZAR SISTEMAS

 La solución de virtualización permite gestionar de forma centralizada los sistemas virtualizados así como sus recursos de almacenamiento y de red proporcionando :

-         Rápida incorporación de nuevos recursos para los servidores virtualizados.

  -         Reducción de los costes de espacio y consumo necesario de forma proporcional al índice de consolidación logrado (Estimación media 10:1).

  -         Reducción de los costes de IT gracias al aumento de la eficiencia y la flexibilidad en el uso de recursos.

  -         Administración global centralizada y simplificada.

  -         Nos permite gestionar nuestro CPD como un pool de recursos o agrupación de toda la capacidad de procesamiento, memoria, red y almacenamiento disponible en nuestra infraestructura

 

 

-         Mejora en los procesos de clonación y copia de sistemas: 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.

  -         Aislamiento : un fallo general de sistema de una máquina virtual no afecta al resto de máquinas virtuales

  -         Mejora de TCO y ROI

Page 6: VIRTUALIZACION

  -         No sólo aporta el beneficio directo en la reducción del hardware necesario, así como de sus costes asociados

  -         Reduce los tiempos de parada

  -         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

  -         Balanceo dinámico de máquinas virtuales entre los servidores físicos que componen el pool de recursos, garantizando que cada máquina virtual ejecute en el servidor físico más adecuado y proporcionando un consumo de recursos homogéneo y óptimo en toda la infraestructura

  -         Alto grado de satisfacción general

En resumen, se ahorraría espacio físico porque ya no habría varios PC sino solamente uno. Se comparten recursos de hardware, aprovechando al máximo las prestaciones del anfitrión.Sin duda se ahorra energía al usar tan solo un PCSe clonan los entornos para poder hacer pruebas, por ejemplo, en Windows xp de usar y tirar.Y se trasladan fácilmente a otros PCs.

Herramientas de virtualización más conocidas

Existen diversas soluciones de virtualización disponibles actualmente, tanto gratuitas como de pago. Las más conocidas son las siguientes:

Bochs : un emulador de procesadores x86 y AMD64 con licencia de software abierto. Bochs puede ejecutarse en distintos sistemas operativos, incluyendo Linux, Windows o incluso la XBox. Puede además simular varios sistemas operativos como DOS, Windows o Linux.

Microsoft Virtual PC : suite de virtualización de Microsot para Windows y para MacOS. VirtualPC emula un PC estándar y todo el hardware asociado.

Parallels Workstation : software de virtualización de la empresa Parallels Incorporation para procesadores Intel x86.

QEMU : aplicación de software libre que implementa un emulador de procesador y que incluye un acelerador que permite incrementar la velocidad de las máquinas virtuales.

Virtual Iron : otra aplicación de virtualización que ha sido de las primeras en aprovechar las capacidades específicas de virtualización de los nuevos procesadores Intel y AMD.

Page 7: VIRTUALIZACION

VMWare : una completo conjunto de aplicaciones de virtualización, con herramientas de pago orientadas a la empresa y otras gratuitas más orientadas al uso personal. Hasta hace poco tiempo solo se ofrecía de manera gratuita la aplicación VMWare Player, que permitía ejecutar distintas máquinas virtuales ya creadas y que se podían descargar desde Internet. Desde fechas recientes se ofrece también de manera gratuita VMWare Server, que permite no sólo ejecutar máquinas ya creadas sino crear las máquinas desde el comienzo.

Xen: Una herramienta muy usada en la comunidad Linux puesto que hasta hace poco tiempo sólo podía usar Linux/Unix como sistema anfitrión. Con la versión Xen 3.0 ya se puede instalar en Windows.

VirtualBox : una herramienta para Windows y para Linux (la versión para MAC actualmente está en desarrollo en fase pre-alfa) liberada bajo licencia GPL y con un rendimiento similar al de otras aplicaciones como VirtualPC o VMWare.

QEMU, VMWare y Microsoft Virtual PC son las tres herramientas mas utilizadas.

Utilidades y usos más frecuentes de las máquinas virtuales

¿Para qué se pueden usar las máquinas virtuales?. La capacidad de aprovechar al máximo el hardware disponible ofrece una gran cantidad de posibilidades a nivel empresarial y a nivel doméstico. A continuación se detallan algunos de los usos más frecuentes que se le puede dar al software de virtualización:

- Consolidación de servidores: convertir muchos servidores físicos en virtuales. De este modo se aprovecha el hardware disponible de la mejor manera posible.

- Recuperación de desastres: las máquinas virtuales se pueden salvar muy fácilmente, y además su estado se puede almacenar, por lo que en caso de desastre se puede recuperar la información con rapidez.

- Pruebas de aplicaciones:   en muchas ocasiones se necesita un entorno limpio para probar una aplicación. Usar una máquina virtual permite instalar un sistema operativo desde cero, probar la aplicación y luego eliminar la máquina.

- Ejecución de entornos completos sin instalación ni configuración :   la posibilidad de descargar máquinas virtuales desde Internet permite ahorrar tiempo en instalaciones y configuraciones. Existen muchas máquinas virtuales con servidores LAMP (Linux, Apache, mySQL y PHP)

Page 8: VIRTUALIZACION

completos listos para ser usados, máquinas con gestores de contenidos, wikis, etc., gratuitos y funcionales desde el primer momento.

- Aplicaciones portátiles: con el uso de las máquinas virtuales se pueden tener PCs completos listos para usar en dispositivos USB, lo que puede ser de mucha utilidad para tener un entorno privado y usarlo en cualquier PC.

Comparativa de herramientas de virtualización

Cuadro  comparativo entre VirtualBox , VMWare Server y VirtualPC 2007

Característica Explicación Producto destacado

Facilidad de instalación.

Los tres productos se instalan de manera muy sencilla mediante un asistente. VirtualBox y VirtualPC se instalan rápidamente. Sin embargo, VMWare server tarda bastante tiempo en instalarse y dependiendo de la máquina puede llegar a tardar más de media hora.

VirtualBox, VirtualPC 2007

Sistemas operativos anfitriones soportados.

VirtualBox: Windows, Linux

VMWare server: Windows, Linux

Virtual PC 2007: Windows, MacOS

VMWare server

Sistemas operativos invitados soportados.

VirtualBox: DOS, Windows, Linux, OS/2, OpenBSD, FreeBSD, Netware, Solaris.

VMWare server: DOS, Windows, Linux, FreeBSD, Netware, Solaris, Virtual Appliances.

Virtual PC 2007: DOS, Windows, OS/2

VMWare server

Soporte para USB VirtualBox: Sí.

VMWare server: Sí.

Virtual PC 2007: No.

VirtualBox,

VMWare server

Facilidad de creación de máquinas virtuales.

VirtualBox: Fácil.

VMWare server: Fácil.

VirtualPC 2007, VirtualBox, VMWare Server

Page 9: VIRTUALIZACION

Virtual PC 2007: Fácil.Existencia de máquinas virtuales disponibles en Internet.

VMWare server dispone de las llamadas Virtual Appliances, que son máquinas virtuales preconfiguradas y listas para ser usadas. En Internet se pueden encontrar muchas y de muchos tipos.

VMWare server

Integración con el sistema operativo anfitrión: display, carpetas compartidas, drag&drop.

Los tres sistemas disponen de herramientas que permiten mejorar la integración del sistema invitado con el anfitrión una vez instalado. En el caso de VMWare, se llaman VMWare Tools, y en el caso de Virtual PC, Virtual Machine additions. Tanto VMWare como VirtualPC permiten usar drag&drop y carpetas compartidas con el sistema anfitrión.

VMWare Server, VirtualPC 2007

Capacidad de importar máquinas creadas con otras herramientas.

VMWare server es capaz de importar máquinas creadas con VirtualPC.

VMWare Server

Rendimiento. VirtualBox: Muy bueno.

VMWare server: Muy bueno.

Virtual PC 2007: Muy bueno si se le instalan las Virtual Machine Additions..

VirtualBox, VMWare Server, VirtualPC 2007

En resumen, se podría afirmar que las tres aplicaciones son buenas soluciones de virtualización. Probablemente la balanza se inclina por VMWare server por la existencia de máquinas virtuales disponibles en Internet que agilizan el uso de las máquinas virtuales y por la cantidad de información que existe sobre ella en la red. Además Virtual PC 2007 es una herramienta que no podrá ser usada por los usuarios de Linux, mientras que las otras dos están disponibles en versiones para Windows y para Linux.

Bibliografía:

Page 10: VIRTUALIZACION

- Montserrat Pérez Lobato. Introducción a las máquinas virtuales. Observatorio Tecnológico. Ministerio de Educación y Ciencia.España.2007

- Web site: wwww.virtualización.com- Wikipedia: definición de virtualización