810 likes | 1.05k Views
Virtualización para entornos de prueba y desarrollo. Mediante el uso de maquinas virtuales. Introducción.
E N D
Virtualización para entornos de prueba y desarrollo Mediante el uso de maquinas virtuales
Introducción • En la actualidad, se ha implantado el concepto de virtualización, que en definitiva consiste en instalar un sistema operativo (huésped) sobre otro al que llamaremos anfrition (o host), pudiendo tener tantas máquinas virtuales como queramos.
Virtualización General • En informática, virtualización es un término amplio que se refiere a la abstracción de los recursos de una computadora. • Este término es bastante antiguo: viene siendo usado desde antes de 1960, y ha sido aplicado a diferentes aspectos y ámbitos de la informática, desde sistemas computacionales completos hasta capacidades o componentes individuales. • El tema en común de todas las tecnologías de virtualización es la de ocultar los detalles técnicos a través de la encapsulación. • La virtualización crea un interfaz externo que esconde una implementación subyacente mediante la combinación de recursos en locaciones físicas diferentes, o mediante la simplificación del sistema de control. • Un reciente desarrollo de nuevas plataformas y tecnologías de virtualización han hecho que se vuelva a prestar atención a este maduro 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. • Asimismo, el término virtualización es un concepto importante en contextos no computacionales. Muchos sistemas de control implementan interfaces virtuales en un mecanismo complejo; de esta manera el pedal del acelerador de un automóvil moderno hace más que solo aumentar el flujo del combustible hacia el motor; y el sistema de vuelos por cables (fly by wire) presenta un avión virtual simplificado que tiene muy poco que ver con la implementación física.
Virtualización Tipos • Virtualización de plataforma que involucra la simulación de maquinas virtuales, el sentido original del término virtualización, nacido en 1960, es el de la creación de una máquina virtual utilizando una combinación de hardware y software. • Virtualización de recursos que involucra la simulación de recursos combinados, fragmentados o simples.
Virtualización de plataforma • El término máquina virtual aparentemente tiene su origen en el experimento del sistema de paginación (paging system) de IBM M44/44X. • La creación y administración de las máquinas virtuales también se refiere a la creación de seudo máquinas, en los primeros días de la CP-40, y de virtualización de servidores más recientemente. • La virtualización de plataforma es llevada a cabo en una plataforma de hardware mediante un software “host” (“anfitrión”, 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.
Enfoques a la virtualización de plataformas • Emulación o simulación : la máquina virtual simula un hardware completo, admitiendo un sistema operativo “guest” sin modificar para una CPU completamente diferente • Virtualización nativa y virtualización completa: la máquina virtual simula un hardware suficiente para permitir un sistema operativo “guest” sin modificar para correr de forma aislada. • Virtualización parcial: la máquina virtual simula múltiples instancias de mucho (pero no de todo) del entorno subyacente del hardware • Paravirtualización : la máquina virtual no necesariamente simula un hardware, en cambio ofrece un API especial que solo puede usarse mediante la modificación del sistema operativo “guest” • Virtualización a nivel del sistema operativo : virtualizar un servidor físico a nivel del sistema operativo permitiendo múltiples servidores virtuales aislados y seguros correr en un solo servidor físico • Virtualización de aplicaciones consiste en el hecho de correr una desktop o una aplicación de server localmente, usando los recursos locales, en una máquina virtual apropiada
Concepto • Ordenador virtual: Abstracción creada sobre un sistema operativo “real” donde se delimitan el hardware que forma dicho ordenador y los recursos a los que puede acceder, con el fin de ejecutar otro sistema operativo huésped sobre el funcionamiento de su anfitrión.
Utilidades • Instalación de varios sistemas operativos en un mismo ordenador sin necesidad de crear más particiones, arranques dobles, triples, etc. • Aislar software de prueba. • Prueba de modificaciones en la configuración del sistema operativo. • Crear entornos de prueba para aplicaciones propias. • Entornos de desarrollo variados. • Contar con servicios que no podemos instalar en nuestro sistema operativo actual. • Experimentación general. • En entornos de trabajo, un único servidor puede albergar todas las funcionalidades necesarias a través de varias máquinas virtuales. • Ejecución de aplicaciones de otros sistemas operativos.
Ventajas e inconvenientes • copias de seguridad • aislamiento de datos • aislamiento de hardware • portabilidad • limitación de recursos
Opciones Especiales • Para compartir información, tenemos la opción de permitir que el ordenador “real” y el “virtual” tengan conexión a través de la red y compartir carpetas. • Existen otras soluciones para compartir información y mejorar el rendimiento. • En el caso de Virtual PC, este cuenta con “additions”, un software que se instala en el ordenador virtual y entre las funciones que permite destacan las siguientes: • Funcionalidad de arrastrar de colocar (para copiar archivos y carpetas sin necesidad de tener compartidos recursos de red) • Compartir carpeta (similar a la opción de red, pero a través del software additions). • Compatibilidad de mouse integrado (permite que el ratón no quede bloqueado en la ventana del ordenador virtual, ahorrando que se pulse la combinación de teclas necesaria para salir del entorno virtual y volver al real). • En el caso de vmware, el software para estas funcionalidades se llama vmtools, que debe ser instalado en el sistema operativo cliente (el virtual), permitiendo además conectar o desconectar dispositivos sin salir del entorno cliente (por ejemplo, la tarjeta de red). • Virtualbox también tiene unas utilidades en su caso las guest additions que permiten una optimización similar a additions y vmtools.
Software de virtualización • qemu • virtual PC • virtual box • vmware
qemu • En entorno Windows está más indicado para emulación de procesadores de distintas arquitecturas. • En entorno Linux crea una máquina virtual completa con bastantes opciones. • El emulador Qemu se usa menos en entornos de usuario no avanzados por ser más complejo en su configuración e inicio • La creación de discos virtuales, configuración y arranque es por comandos ms-dos. • Para usuarios avanzados tiene la opción de emular procesadores de arquitecturas diferentes a la Intel x86, permitiendo emular procesadores sparc, powerpc, etc. • El emulador Qemu por ser precursor en algunos aspectos de otros entornos de virtualización y de tener un uso extendido en entornos Linux.
virtual PC • Este software de máquinas virtuales es de Microsoft. • En la actualidad, y desde la versión 2004, es gratuito. • Si bien tiene las mismas funcionalidades que los entornos de máquinas virtuales que veremos a continuación, está más orientado a sistemas operativos Windows. • Por esta misma razón, puede dar problemas con otros sistemas operativos. • Tiene un rendimiento moderado y una instalación de sistema operativo puede hacerse desesperantemente larga. • Una vez instalada la máquina virtual, se instalan las “Additions” que es software para permitir un rendimiento un poco más alto, permitir compartir carpetas entre el anfitrión y el huésped y poder sacar el ratón de la máquina virtual sin necesidad de tener que dar a la secuencia de escape (o botón host). • No tiene su correspondiente versión para Linux, lo que limita su uso.
virtual box • También de distribución gratuita, • Es muy completo en funcionalidades y tiene un rendimiento bastante bueno (sin necesidad de instalar software adicional al sistema operativo huésped). • Es un poco más difícil llevarse las máquinas virtuales a otros ordenadores que con otro software, pero merece la pena el esfuerzo. • Viene preparado para multitud de sistemas operativos (anfitriones) y el software tiene distribuciones para Windows y para Linux. • También cuenta con un software adicional que permite optimizar ciertos apartados y que es instalado posteriormente llamado “guest additions”.