FACULTAD DE CIENCIAS COMPUTACIONALES Y TELECOMUNICACIONES ASIGNATURA: SISTEMAS OPERATIVOS I TÍTULO: LA VIRTUALIZACIÓN, TIPOS DE VIRTUALIZACIONES



Documentos relacionados
Taller de Software Libre

Maquinas virtuales Conceptos Básicos

Virtualización. Carlo López Armando Mejía Andrés Sánchez

Maquinas Virtuales - VirtualBox. Talleres ETSIIT Oficina de Software Libre Universidad de Granada José Antonio Serrano García

Máquinas virtuales. Tema 1 SRI. Vicente Sánchez Patón. I.E.S Gregorio Prieto

UT04 01 Máquinas virtuales (introducción)

Guía de uso del Cloud Datacenter de acens

Talleres de Aplicaciones Maquinas Virtuales

Redes de Nueva Generación Área de Ingeniería Telemática. Virtualización

Trabajo TP6 Sistemas Legados

Soluciones de virtualización en sistemas Linux:

Virtualización - Que es?

Soluciones innovadoras para optimizar su infraestructura TI. Virtualización con el sistema operativo i, PowerVM y Power Systems de IBM

Alta Disponibilidad y Virtualización con soluciones de bajo costo. Virtualización. Conceptos básicos


Instalación de XEN Información de XEN Qué es XEN? Componentes de XEN:... 2

VIRTUALIZACIÓN DE SERVIDORES

WINDOWS : COPIAS DE SEGURIDAD

VIRTUALBOX (MAQUINA VIRTUAL)

Nuevas tendencias: Virtualización de computadores / servidores

Actividad 2: Configurar e Instalar un Sistema Operativo virtual

Marco Teórico MARCO TEÓRICO. AGNI GERMÁN ANDRACA GUTIERREZ

NOMBRE: Sánchez Sandoval Edgar Rafael GRUPO: 301 MATERIA: OPERAR EL EQUIPO DE COMPUTO PROFESOR: Joel rodríguez Sánchez FECHA DE CREACION: 24/09/2013

- Qué es una Máquina Virtual?

VMware vs. Xen. Comparación de dos esquemas populares de virtualización. Héctor López Guillermo Veitia

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

Cómo crear una máquina virtual?

Montando Web for Pentester en VirtualBox

Instalación del sistema operativo Microsoft Windows Server 2008 Standard Edition x86

Infraestructura Tecnológica. Sesión 8: Configurar y administrar almacenamiento virtual

Windows Server 2012: Infraestructura de Escritorio Virtual

Virtualización en GNU/Linux

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

Sección 1: Introducción al Modo Windows XP para Windows 7

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 3: sistemas operativos

Virtualización. (y Software Libre) Lic. Marcelo Fernández - UNLuX. fernandezm@gmail.com -

Análisis de aplicación: Virtual Machine Manager

Conoce los Tipos de Hosting que Existen y Elige el Mejor para tus Necesidades

Software para virtualización

CA ARCserve Backup r12.5 Preguntas frecuentes para partners

Sistemas Operativos. Curso 2013 Virtualización

Acronis License Server. Guía del usuario

I. INTRODUCCIÓN A LA VIRTUALIZACIÓN

Maquinas Virtuales. Prof.: Huerta Molina Samuel. Cuellar Sánchez Jesús. Pinto López Luis Tonatiuh. Hecho por Jesús y Luis. 1

Capítulo 5. Cliente-Servidor.

Virtualización. Administración Avanzada de Sistemas Operativos. Eduardo Iniesta Soto

IES Abyla. Departamento de Informática. Sistemas Operativos

WINDOWS : TERMINAL SERVER

Herramientas de. Sistemas Informáticos I.E.S. Virgen de la Paloma

Symantec Backup Exec System Recovery 7.0 Server Edition. Recuperación de sistemas en cuestión de minutos, en lugar de en horas o días

COLEGIO COMPUESTUDIO

Pruebas y Resultados PRUEBAS Y RESULTADOS AGNI GERMÁN ANDRACA GUTIERREZ

CONSIDERACIONES TÉCNICAS SOBRE LOS SERVICIOS GESTIONADOS DE COPIA DE SEGURIDAD DE STORAGE NETWORKING

CONFIGURACIONES DE ALTA DISPONIBILIDAD

Almacenamiento virtual de sitios web HOSTS VIRTUALES

La Pirámide de Solución de TriActive TRICENTER

CAPÍTULO 3: Resultados

CAPÍTULO 1 Instrumentación Virtual

INFORME TÉCNICO PREVIO DE EVALUACIÓN DE SOFTWARE N SOFTWARE DE VIRTUALIZACIÓN

System Center. la plataforma para una gestión ágil de los entornos de TI IDG COMMUNICATIONS, S.A.

Virtualización en Servidores. Conceptos básicos

Transición de su infraestructura de Windows Server 2003 a una solución moderna de Cisco y Microsoft

Arquitectura de sistema de alta disponibilidad

Cómo hacer backups en ambientes virtualizados?

Una mirada práctica a los Micro-Kernels y los Virtual Machine Monitors François Armand, Michel Gien INFORMATICA III

UNIVERSIDAD LUTERANA SALVADOREÑA FACULTAD DE CIENCIAS DEL HOMBRE Y LA NATURALEZA LICENCIATURA EN CIENCIAS DE LA COMPUTACION.

La Arquitectura de las Máquinas Virtuales.

Virtualización. Gilberto Moreno gmoreno at cenditel.gob.ve Alejandro Vazquez avazquez at cenditel.gob.ve

Utilización del sistema operativo GNU/ Linux en las netbooks

TP6 Sistemas Legados

Windows Server Información general para partners

Gestión de Recursos y Seguridad en Redes Virtualización de Servidores, VMware. Derman Zepeda Vega. dzepeda@unan.edu.ni

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

Como instalar y usar Windows XP y Windows 7 en el mismo equipo

Acceso al Disco Compartido y Dispositivos USB y DVD

Universidad Dominicana O&M Seminario de Tecnología Aplicada

Implementación, aprovisionamiento y actualización de Windows Server con System Center

DEPARTAMENTO ADMINISTRATIVO NACIONAL DE ESTADÍSTICA. Oficina de Sistemas

Curso: FT433 - Introducción a la virtualización con VirtualBox

UNIVERSIDAD LUTERANA SALVADOREÑA FACULTAD DE CIENCIAS DEL HOMBRE Y LA NATURALEZA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

Virtualización. Esquemas populares

Symantec Desktop and Laptop Option

Creación y administración de grupos de dominio

Trabajo TICO Unidad 2: Sistemas Operativos. Guillermo Jarne Bueno.

MANUAL COPIAS DE SEGURIDAD

Internet, conceptos básicos

Internet Information Server

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado.

Instalación de Winisis en Windows 8 (64 bits) usando Virtual Box Oracle Ernesto Spinak 10/07/2013 borrador 1

Entorno ubicuo basado en virtualización para la docencia práctica. Entorno ubicuo basado en virtualización para la docencia práctica.

Plataforma en la nube CA AppLogic para aplicaciones empresariales

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Hyper-V: Un puente entre Windows Server 2008 y SUSE Linux Enterprise 10

Tema 3: Virtualización

Instituto Universitario Politécnico. Santiago Mariño. Unidad I Revisión de conceptos de Sistemas. Operativos. Elaborado por: Ing. Víctor Valencia.

Redes de Área Local: Configuración de una VPN en Windows XP

Mi primer servidor. Fernando Fernández Consultor Preventa HP ISS

Transcripción:

FACULTAD DE CIENCIAS COMPUTACIONALES Y TELECOMUNICACIONES ASIGNATURA: SISTEMAS OPERATIVOS I TÍTULO: LA VIRTUALIZACIÓN, TIPOS DE VIRTUALIZACIONES AUTOR: César Zúñiga S. PROFESOR: Ing. Sara Noriega FECHA DE ENTREGA 22 Junio del 2012

INDICE INTRODUCCIÓN... 4 OBJETIVOS... 5 Explique lo que es la Virtualización, características, tipos, beneficios y desventajas.... 6 Tipos de virtualización... 7 Virtualización por (Hardware)... 7 La virtualización de almacenamiento... 7 Particionamiento... 7 Máquina virtual... 7 Hypervisor de almacenamiento... 8 Ventajas de la Virtualización... 8 Contribución al medio ambiente -Green IT- por menor consumo de energía en servidores físicos.... 8 Desventajas de la Virtualización... 8 Explique lo que son las máquinas virtuales, definición, como funcionan, características... 9 Máquinas virtuales de sistema... 10 Aplicaciones de las máquinas virtuales de sistema... 10 Máquinas virtuales de proceso... 11 Explique las técnicas de Virtualización.... 11 Explique todo lo referente a la Paravirtualización, definición, características, funciones, usos, ventajas y desventajas.... 12 Explique lo que es la virtualización asistida por hardware (virtualización cooperativa)... 13 Virtualización asistida por hardware.... 13 KVM... 16 VirtualBox... 17 VMWARE... 18 XEN... 19 Paravirtualización con Xen... 20 Virtualización completa con Xen... 20 Migración de máquinas virtuales... 20 XEN En la actualidad... 21 OPENVZ... 21 Administración de recursos... 21 Cuota de disco de dos niveles... 22

Monitor de usuarios... 22 Punto de comprobación y migración en vivo... 22 Exokernel.... 23 Motivación... 23 Visión general... 24 CPU... 24 Memoria... 24 Almacenamiento en disco... 24 Redes... 25 Aplicaciones... 25 Rendimiento... 25 Hyper-V... 25 Escenarios de uso de Windows Server 2008 Hyper-V... 26 Características principales de Windows Server 2008 Hyper-V... 28 CONCLUSIÓN... 30 BIBLIOGRAFIA... 31

INTRODUCCIÓN Hoy en día esta muy de moda la virtualización debido a su gran utilidad que s ele puede brindar y a su fácil implementación, por lo que veremos los tipos de virtualización que se puede aplicar.

OBJETIVOS Proporcionar las principales características de los tipos de virtualización existentes con sus ventajas y desventajas.

Explique lo que es la Virtualización, características, tipos, beneficios y desventajas. La virtualización es 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. Dicho de otra manera, se refiere a la abstracción de los recursos de una computadora, llamada Hypervisor o VMM (Virtual Machine Monitor) que crea una capa de abstracción entre el hardware de la máquina física (host) y el sistema operativo de la máquina virtual (virtual machine, guest), dividiéndose 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, Almacenamiento y Conexiones de Red) y así podrá repartir dinámicamente dichos recursos entre todas las máquinas virtuales definidas en el computador central. Esto hace que se puedan tener varios ordenadores virtuales ejecutándose en el mismo ordenador físico. La virtualización se encarga de crear una interfaz externa que encapsula una implementación subyacente mediante la combinación de recursos en localizaciones 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 ha hecho que en los últimos años se haya vuelto a prestar atención a este concepto. La máquina virtual en general simula una plataforma de hardware autónoma incluyendo un sistema operativo completo que se ejecuta como si estuviera instalado. Típicamente varias máquinas virtuales operan 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). Existen diferentes formas de virtualización: es posible virtualizar el hardware de servidor, el software de servidor, virtualizar sesiones de usuario, virtualizar aplicaciones y también se pueden crear máquinas virtuales en una computadora de escritorio. Entre los principales proveedores de software que han desarrollado tecnologías de virtualización integrales (que abarcan todas las instancias: servidor, aplicaciones, escritorio) se encuentran, por ejemplo VMware y Microsoft. Estas compañías han diseñado soluciones específicas para virtualización, como VMware Server y Windows Server 2008 Hyper-V para la virtualización de servidores. Si bien la virtualización no es un invento reciente, con la consolidación del modelo de la Computación en la nube, la virtualización ha pasado a ser uno de los componentes fundamentales, especialmente en lo que se denomina infraestructura de nube privada.

Tipos de virtualización La virtualización se puede hacer desde un sistema operativo Windows, ya sea XP, Vista u otra versión que sea compatible con el programa que utilicemos, en el que virtualizamos otro sistema operativo como Linux o viceversa, que tengamos instalado Linux y queramos virtualizar una versión de Windows. Virtualización por (Hardware) Virtualización asistida por Hardware son extensiones introducidas en la arquitectura de procesador x86 para facilitar las tareas de virtualización al software ejecutándose sobre el sistema. Si cuatro son los niveles de privilegio o "anillos" de ejecución en esta arquitectura, desde el cero o de mayor privilegio, que se destina a las operaciones del kernel de SO, al tres, con privilegios menores que es el utilizado por los procesos de usuario, en esta nueva arquitectura se introduce un anillo interior o ring -1 que será el que un hypervisor o Virtual Machine Monitor usará para aislar todas las capas superiores de software de las operaciones de virtualización. La virtualización de almacenamiento Se refiere al proceso de abstraer el almacenamiento lógico del almacenamiento físico, y es comúnmente usado en SANs ("Storage Area Network" Red de área de almacenamiento). Los recursos de almacenamiento físicos son agregados al "storage pool" (almacén de almacenamiento), del cual es creado el almacenamiento lógico. Particionamiento Es la división de un solo recurso (casi siempre grande), como en espacio de disco o ancho de banda de la red, en un número más pequeño y con recursos del mismo tipo que son más fáciles de utilizar. Esto es muchas veces llamado zoning, especialmente en almacenamiento de red. Máquina virtual La entenderemos básicamente como un sistema de virtualización, denominado "virtualización de servidores", que dependiendo de la función que esta deba de desempeñar en la organización, todas ellas dependen del hardware y dispositivos físicos, pero casi siempre trabajan como modelos totalmente independientes de este. Cada una de ellas con sus propias CPUs virtuales, tarjetas de red, discos etc. Lo cual podría especificarse como una compartición de recursos locales físicos entre varios dispositivos virtuales.

Hypervisor de almacenamiento Es un pack portátil de gestión centralizada, utilizado para mejorar el valor combinado de los sistemas de disco de almacenamiento múltiples, incluyendo los modelos diferentes e incompatibles, complementando sus capacidades individuales con el aprovisionamiento extendido, la réplica y la aceleración del rendimiento del servicio. Su completo conjunto de funciones de control y monitorización del almacenamiento, operan como una capa virtual trasparente entre los pools de disco consolidados para mejorar su disponibilidad, velocidad y utilización. Ventajas de la Virtualización Reutilización de hardware existente (para utilizar software más moderno) y optimizar el aprovechamiento de todos los recursos de hardware. 6 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). 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. No sólo aporta el beneficio directo en la reducción del hardware necesario, sino también los 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. Contribución al medio ambiente -Green IT- por menor consumo de energía en servidores físicos. Desventajas de la Virtualización La avería o fallo de un servidor anfitrión de virtualización afecta a todos los servidores virtuales que aloja, por lo que es importante no solo copias de seguridad

de las máquinas, si no incluso según lo crítico que sea el proyecto un clusters de servidores anfitriones para evitar te posible fallo. Teóricamente no podrás utilizar hardware que no este soportado por el hipervisor de virtualización. La aceleración de vídeo se ve afectada por el menor rendimiento, pero se han conseguido que funcione muy bien las últimas versiones de aplicaciones de virtualización de escritorio como vmware o Parallels ya incluyen soporte para OpenGL y DirectX. Aumento de las máquinas virtuales, como una vía para ahorrar compra de hierro, servidores dedicados reales, y con la idea de mejorar la escalabilidad de los proyectos, aunque también es necesario más tiempo de administración de sistemas, gestión de licencia (si tenemos virtualización de pago), posibles riesgos de seguridad. A veces se desaprovechan los recursos con la creación de máquinas virtuales que no son necesarias. Como cada producto de virtualización usa sus propio sistemas, no hay uniformidad o estandarización de formatos, la portabilidad entre plataformas es realmente complicada. Por eso es importante esa decisión al principio, lo más normal es utilizar GNU/Linux como base. La virtualización incide de forma directa en la venta de servidores reales, aunque los servidores utilizados para virtualizar suelen ser más potentes y por supuesto más caros. Sobre esto se plantea una interesante pregunta, existirá un canon oculto por comprar hardware para virtualización?. Como hemos comentado antes el sistema operativo anfitrión se vuelve crítico, por lo que la seguridad de este es vital, así como evitar reinicios innecesarios que hacen todas las máquinas virtuales que alojan puedan quedar fuera de servicio. El reiniciar ya no es la solución, como quizás muchas veces lo es. Explique lo que son las máquinas virtuales, definición, como funcionan, características. En informática una máquina virtual es un software que emula a una computadora y puede ejecutar programas como si fuese una computadora real. Este software en un principio fue definido como "un duplicado eficiente y aislado de una máquina física". La acepción del término actualmente incluye a máquinas virtuales que no tienen ninguna equivalencia directa con ningún hardware real. Una característica esencial de las máquinas virtuales es que los procesos que ejecutan están limitados por los recursos y abstracciones proporcionados por ellas. Estos procesos no pueden escaparse de esta "computadora virtual". Uno de los usos domésticos más extendidos de las máquinas virtuales es ejecutar sistemas operativos para "probarlos". De esta forma podemos ejecutar un sistema operativo que queramos probar (GNU/Linux, por ejemplo) desde nuestro sistema

operativo habitual (Mac OS X por ejemplo) sin necesidad de instalarlo directamente en nuestra computadora y sin miedo a que se desconfigure el sistema operativo primario. Las máquinas virtuales se pueden clasificar en dos grandes categorías según su funcionalidad y su grado de equivalencia a una verdadera máquina. 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 llamadas máquinas virtuales de hardware, permiten a la máquina física subyacente multiplicarse entre varias máquinas virtuales, cada una ejecutando su propio sistema operativo. A la capa de software que permite la virtualización se la llama monitor de máquina virtual o hypervisor. Un monitor de máquina virtual puede ejecutarse o bien directamente sobre el hardware o bien sobre un sistema operativo ("host operating system"). Aplicaciones de las máquinas virtuales de sistema Varios sistemas operativos distintos pueden coexistir sobre la misma computadora, en sólido aislamiento el uno del otro, por ejemplo para probar un sistema operativo nuevo sin necesidad de instalarlo directamente. La máquina virtual puede proporcionar una arquitectura de instrucciones (ISA]) que sea algo distinta de la verdadera máquina. Es decir, podemos simular hardware. Varias máquinas virtuales (cada una con su propio sistema operativo llamado sistema operativo "invitado" o "guest"), pueden ser utilizadas para consolidar servidores. Esto permite que servicios que normalmente se tengan que ejecutar en computadoras distintas para evitar interferencias, se puedan ejecutar en la misma máquina de manera completamente aislada y compartiendo los recursos de una única computadora. La consolidación de servidores a menudo contribuye a reducir el coste total de las instalaciones necesarias para mantener los servicios, dado que permiten ahorrar en hardware. La virtualización es una excelente opción hoy día, ya que las máquinas actuales (Laptops, desktops, servidores) en la mayoría de los casos están siendo "subutilizados" (gran capacidad de disco duro, memoria RAM, etc.), llegando a un uso de entre 30% a 60% de su capacidad. Al virtualizar, la necesidad de nuevas máquinas en una ya existente permite un ahorro considerable de los costos asociados (energía, mantenimiento, espacio, etc).

Máquinas virtuales de proceso Una máquina virtual de proceso, a veces llamada "máquina virtual de aplicación", se ejecuta como un proceso normal dentro de un sistema operativo y soporta un solo proceso. La máquina se inicia automáticamente cuando se lanza el proceso que se desea ejecutar y se detiene para cuando éste finaliza. Su objetivo es el de proporcionar un entorno de ejecución independiente de la plataforma de hardware y del sistema operativo, que oculte los detalles de la plataforma subyacente y permita que un programa se ejecute siempre de la misma forma sobre cualquier plataforma. El ejemplo más conocido actualmente de este tipo de máquina virtual es la máquina virtual de Java. Otra máquina virtual muy conocida es la del entorno.net de Microsoft que se llama "Common Language Runtime". Explique las técnicas de Virtualización. Técnicas de virtualización Una VM brinda un entorno de ejecución donde puede correr un sistema operativo completo, denominado virtualizado o invitado. Ofrece la ilusión de acceso exclusivo a la plataforma de hardware sobre la cual se ejecuta, e incluso puede mostrar una visión de otra arquitectura diferente a la real, tanto de la CPU como la memoria, el almacenamiento y los dispositivos de entrada/salida.la virtualización de servidores puede implementarse en distintos niveles, a saber: - Virtualización a nivel de aplicaciones. - Virtualización a nivel de sistema operativo. - Virtualización a nivel de hardware. Un ejemplo de la virtualización a nivel de aplicaciones es la máquina virtual Java (JVM), que provee un ambiente de ejecución de aplicaciones desarrolladas en lenguaje Java en forma de una capa de software que remueve la dependencia de la aplicación respecto de la interface de programación del sistema operativo (API y system calls) y del hardware. De esta forma, las aplicaciones Java pueden correr en múltiples plataformas, tales como PC s, servidores, celulares y otro dispositivos. La virtualización a nivel del sistema operativo abstrae los servicios del S.O. tales como sistemas de archivos (filesystems), dispositivos, la red y la seguridad, y provee un entorno virtualizado a las aplicaciones nativas. Generalmente este tipo de virtualización es provista por el kernel de un único sistema operativo, y permite crear múltiples instancias virtualizadas, parametrizadas en forma específica para la aplicación que correrá en ese entorno. Por ejemplo, podría ejecutarse un motor de base de datos, por caso Oracle, en una instancia, y un servidor web como Apache en otra instancia, optimizando cada instancia por separado en directa relación a la aplicación que allí se ejecuta. Ejemplos de virtualización a nivel del sistema operativo son los Containers Solaris,

Linux Vservers, FreeBSD Jails o Windows Virtual servers. En general, la sobrecarga introducida por este tipo de virtualización es menor a la de la virtualización por hardware. Dado que todas las VM comparten una única instancia del kernel, la aislación entre VM's es la provista por éste. Explique todo lo referente a la Paravirtualización, definición, características, funciones, usos, ventajas y desventajas. La Paravirtualización es una técnica de programación informática que permite virtualizar por software sistemas operativos. El programa paravirtualizador presenta una interfaz de manejo de máquinas virtuales. Cada máquina virtual se comporta como un computador independiente, por lo que permite usar un sistema operativo o varios por computador emulado. La intención de la interfaz modificada es reducir la porción del tiempo de ejecución del usuario, empleado en operaciones que son sustancialmente más difíciles de ejecutar en un entorno virtual, comparado con un entorno no virtualizado. La paravirtualización provee filtros especialmente definidos para permitir a los invitados y al anfitrión hacer peticiones y conocer estas tareas, que de otro modo serían ejecutadas en el dominio virtual (donde el rendimiento de la ejecución es peor.) Por lo tanto, una plataforma de paravirtualización exitosa puede permitir que el monitor de la máquina virtual (VMM) sea más simple (por traslado de la ejecución de tareas críticas desde el dominio virtual al anfitrión de dominio), y/o que reduzca la degradación del rendimiento global de la ejecución de la máquina dentro del anfitrión virtual. La paravirtualización requiere que el sistema operativo invitado sea portado de manera explícita para la_api. Una distribución de un sistema operativo convencional que no soporte paravirtualización no puede ser ejecutada ni visualizada en un monitor de máquina virtual VMM. La paravirtualización es un término nuevo para una vieja idea. el sistema operativo VM de IBM ha ofrecido tales características desde 1972 (y antes como CP-67). En el mundo de máquinas virtuales, esto se conoce como "código de DIAGNÓSTICO", debido a que usa un código de instrucción usado normalmente sólo por software para mantenimiento de hardware y por lo tanto indefinido. El sistema operativo de la estación de trabajo paralela hace una llamada a su equivalente a una "hypercall". Todas son lo mismo: una llamada de sistema al hipervisor de abajo. Tales llamadas requieren soporte en el sistema operativo guest, él debe tener código hipervisor específico para hacer tales llamadas.

Un ejemplo de uso de paravirtualización por rendimiento: el monitor de máquina virtual puede presentar el sistema operativo guest con una NIC inteligente con soporte para envío de paquetes basado en DMA, incluso si la NIC en el anfitrión (real) carece de esta capacidad. El envío de paquetes es ejecutado enteramente por el monitor de máquina virtual y las señales enviadas a la NIC también. Aunque el envío de señales al sistema operativo guest es costoso, el rendimiento puede mejorar. Explique lo que es la virtualización asistida por hardware (virtualización cooperativa) Virtualización asistida por hardware. Mucho se habla (y más se hablará) sobre las ventajas e inconvenientes de la Virtualización asistida por Hardware. Los dos contendientes en la Chip Wars, AMD e Intel incorporan en sus chips nuevos juegos de instrucciones que facilitan la virtualización. Por un lado, AMD con Su codename Pacifica, y por otro, Intel con Vanderpool. Pero antes de hablar sobre estas tecnologías, veamos los tres grandes tipos de virtualización: Emulación, Paravirtualización y traducción binaria. El método de virtualización con el que creo todos estamos más familiarizados es la emulación. Todos hemos ejecutado el emulador de nintendo, o el de pocket PC, por poner ejemplos. Y todos sabemos cual es su principal problema: La lentitud. El overhead de simular byte a byte un hardware por software hace trabajar a las CPU de manera considerable. El desarrollo de emuladores es una tarea ardua y propensa a errores. En el otro extremo está la Paravirtualización. La paravirtualización (PV) parte de la base de que el sistema operativo huesped "sabe" perfectamente que está siendo ejecutado en un entorno virtual, y modifica su comportamiento de acuerdo con esto. Los sistemas operativos necesitan ser modificados para adaptarse a un entorno "hardware" virtual, lo que implica que hay una relación directa entre cómo se escribe el kernel del sistema operativo y cómo virtualiza la capa de virtualización. Realmente la Paravirtualización no es virtualización pura, sino más bien una colaboración entre la capa de virtualización y el sistema operativo virtualizado. Esto funciona bastante bien en entornos abiertos, donde el kernel del sistema operativo (como linux o BSD) puede ser modificado para tener en cuenta que "debajo" hay una capa de virtualización, pero en el caso de otros OS'es (como es el caso de Windows), la cosa no está tan clara. En este caso, hablar de rendimiento nativo es realmente relativo, ya que un OS's

virtualizado no ejecuta exactamente el mismo código ni opera igual que si corriera en hardware real. En el medio de estas dos opciones encontramos la, que hasta el momento, parece ser la mejor opción: La traducción binaria. La traducción binaria. La traducción binaria parte de la base de la existencia de un monitor de máquinas virtuales (VMM) que monitoriza a cada segundo las instrucciones que el sistema operativo huesped envía al procesador. Si el VMM detecta una instrucción problemática (que puede afectar al entorno de virtualización, otras VMM o a la estabilidad del hardware hospedador - host), rápidamente la reescribe (muchas veces convirtiendo una sola instrucción en docenas de ellas), y devuelve el resultado al huesped, que interpreta que esa instrucción original ha sido ejecutada. El resto de instrucciones no problemáticas son pasadas directamente al procesador. Es evidente que reescribir instrucciones no es la manera más rápida de virtualizar, pero sí nos garantiza la ejecución de cualquier OS soportado SIN necesidad de reescribir el kernel del mismo. También abre la puerta a la virtualización de OS's que corren en hardware distinto al de nuestra plataforma base (en este caso, x86, x64, i64)... imaginad AIX corriendo en una VM... o incluso el Cisco IOS... porqué no? porqué es necesario hacer todo esto?... pues básicamente porque la arquitectura x86 no es virtualizable. Entendamos un poco cómo funciona nuestro PC. Existen, al menos, 4 niveles de privilegio de acceso al procesador, llamados anillos y numerados del 0 al 3, cuya prioridad es inversa a su numeración, aunque en la práctica, sólo se usan el 0 y el 3 (el de mayor y menor prioridad, respectivamente). Los sistemas operativos usan típicamente el anillo 0, mientras que los programas usan, también típicamente, el anillo 3. De hecho, las extensiones de 64 bits de los procesadores x64 sacrifican, en muchos casos, los anilos 1 y 2... No hay demasiada gente que se haya preocupado por ello ( vosotros lo notáis?)... salvo aquellos que trabajan desarrollando capas de virtualización. Es evidente que las capas de virtualización (VMware ESX, por ejemplo) se ejecutan en el anillo 0, y para poder mantener constantemente el control del sistema, han de mantener al OS huésped fuera de él. La solución más obvia es, entonces, ejecutarlo en el anillo 1 (por ejemplo). Esto sería una solución gloriosa si no fuera por esa manía de los sistemas operativos de ejecutarse en el anillo 0. En entornos de paravirtualización no hay problema: como el huésped colabora con la capa de virtualización, este puede decidir ejecutarse en anillo 1, por ejemplo, si la capa de virtualización así se lo indica. En la traducción binaria, hay que "obligar" o "engañar" al huesped para que se ejecute en el anillo 1. Esto tampoco parece complicado, salvo porque hay determinadas

instrucciones no funcionan o lo hacen de modo extraño si no se ejecutan en el anillo 0 del procesador. La traducción binaria hace eso exactamente: Mentirle al sistema operativo huesped. La virtualización asistida por hardware entra precisamente en este punto mediante el nuevo modo VMX. Por resumirlo de una manera sencilla (aunque no totalmente exacta), tanto Vanderpool como Pacifica permiten a la capa de virtualización ejecutarse en un "anillo -1", es decir, con mayor prioridad que el 0, de forma que ya no es necesario engañar al sistema operativo. El Virtual Machine Monitor se ejecuta en modo VMX root, mientras las VM se ejecutan en modo VMX. El procesador alterna entre universos mediante los procesos "VM entry" y "VM exit." Las tecnologías VT permiten movernos (mediante VM entry y VM exit) entre el modo VMX y el VMX root, aislando a nivel de procesador, los universos del Virtual Machine Monitor (VMM) y de la máquina virtual (VM). Maravilloso, No? Pues no... El trabajo de recordar que estaban haciendo el VMM y todas las VM no está implementado a nivel de procesador. El procesador provee mecanismos simples que facilitan al VMM la conservación de estados, pero el trabajo sucio sigue siendo del VMM. Como resumen, parece ser que Pacífica le pondrá más fácil las cosas a los VMM, mientras que Vanderpool sacrifica funciones en favor de la velocidad. porqué tanto ruido con la virtualización asistida por hardware? Respuesta fácil: es la única manera en que un entorno Paravirtualizado (como Xen o Viridian) pueda ejecutar un sistema operativo sin modificar el kernel. Básicamente el procesador permite a un OS sin modificar instalarse en el anillo 0, dejando el -1 para el VMM. Evidentemente, esto a VMware le hace bastante poca gracia, dado que, en teoría, la traducción binaria ya no haría falta. Digo en teoría porque se me ocurren un par de cositas que la traducción binaria puede solucionar y que me dá a mi que tal y como se llevan Intel y AMD la virtualización asistida no:

KVM En esta ocasión vamos a presentar KVM (Kernel based Virtual Machine), una de las tantas herramientas de virtualización. Basada en GNU/Linux y desarrollada por la empresa Qumranet, esta herramienta de software libre permite la virtualización sobre hardware X86 y viene incluido por default a partir del Kernel 2.6.20 de Linux, permitiendo una rapida implementación. KVM realiza una virtualización completa, a diferencia de otras alternativas que hacen emulación del procesador (Virtual Box, VMWare), 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 orta 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, ya que necesitas instalar solo 3 paquetes (qemu, kvm y kvm-kmp). 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 interfaz de escritorio para administrar las maquinas virtual se llama Virtual Machine Manager (virt-manager es el nombre del paquete). Esta permite tener una visión del funcionamiento nto y utilizacion de los recursos en tiempo real, actualizaciones y estadísticas de la utilización de recursos. Permite ver los gráficos detallados de rendimiento y utilización en el tiempo. Permite la creación de nuevos dominios, la configuración y el ajuste de la asignación de recursos de un dominio y hardware virtual. Trae incorporado un cliente de VNC, la cual presenta una consola gráfica completa del dominio huésped. No podemos omitir el gran cambio que realizo Red Hat al migrar de Xen a KVM, brindandole dole un apoyo mas que importante. Red Hat decidio llevar su solucion de virtualizacion RHEV (Red Hat Enterprise Virtualization) a KVM, produciendo un impacto alto en el mercado y lanzandose como un competidor a tener en cuenta.

La empresa del sombrero rojo lanzo RHEV 2.2, el cual 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. Las aplicaciones certificadas para RH, Oracle y SAP por ejemplo, pueden ser utilizadas con RHEV. Modelo híbrido ya que RHEV tiene la capacidad de ejecutar maquinas virtuales como fisicas en la misma plataforma. Ahorro de energía al concentrar las maquinas virtuales en pocos servidores durante las horas de baja demanda. Snapshot Virtualización tanto para servidores como para desktop. Balanceo de carga. Soporte para múltiples arquitecturas de hardware (x86, POWER, SystemZ, Itanium) Amplia variedad de ofertas para pilas de middleware (Java EE Application Platform, ESB, Portal Server) Capacidad de transferir una aplicacion entre servidores fisicos y virtuales. Al tener una interfaz grafica sencilla y no ser muy intuitivo, no es un sistema recomendado para usuarios que se inicializan en la virtualización. Red Hat lo presenta con el Virtualization Manager, el cual esta basado en el Virtual Machine Manager y permite administrar el entorno virtual. VirtualBox Oracle VM VirtualBox es un software de virtualización para arquitecturas x86/amd64, creado originalmente por la empresa alemana innotek GmbH. Actualmente es desarrollado por Oracle Corporation como parte de su familia de productos de virtualización. Por medio de esta aplicación es posible instalar sistemas operativos adicionales, conocidos como «sistemas invitados», dentro de otro sistema operativo «anfitrión», cada uno con su propio ambiente virtual. Entre los sistemas operativos soportados (en modo anfitrión) se encuentran GNU/Linux, Mac OS X, OS/2 Warp, Microsoft Windows, y Solaris/OpenSolaris, y dentro

de ellos es posible virtualizar los sistemas operativos FreeBSD, GNU/Linux, OpenBSD, OS/2 Warp, Windows, Solaris, MS-DOS y muchos otros. La aplicación fue inicialmente ofrecida bajo una licencia de software privativo, pero en enero de 2007, después de años de desarrollo, surgió VirtualBox OSE (Open Source Edition) bajo la licencia GPL 2. Actualmente existe la versión privativa Oracle VM VirtualBox, que es gratuita únicamente bajo uso personal o de evaluación, y esta sujeta a la licencia de "Uso Personal y de Evaluación VirtualBox" (VirtualBox Personal Use and Evaluation License o PUEL) y la versión Open Source, VirtualBox OSE, que es software libre, sujeta a la licencia GPL. VirtualBox ofrece algunas funcionalidades interesantes, como la ejecución de maquinas virtuales de forma remota, por medio del Remote Desktop Protocol (RDP), soporte iscsi, aunque estas opciones no están disponibles en la versión OSE. En cuanto a la emulación de hardware, los discos duros de los sistemas invitados son almacenados en los sistemas anfitriones como archivos individuales en un contenedor llamado Virtual Disk Image,, incompatible con los demás software de virtualización. Otra de las funciones que presenta es la de montar imágenes ISO virtuales ópticas de CD o DVD, o como un disquete. como unidades Tiene un paquete de controladores que permiten aceleración en 3D, pantalla completa, hasta 4 placas PCI Ethernet (8 si se utiliza la línea de comandos para configurarlas), integración con teclado y ratón. VMWARE VMware Inc., (VM de Virtual Machine) filial de EMC Corporation que proporciona la mayor parte del software de virtualización disponible para ordenadores compatibles X86. Entre este software se incluyen VMware Workstation, y los gratuitos VMware Server y VMware Player. El software de VMware puede funcionar en Windows, Linux, y

en la plataforma Mac OS X que corre en procesadores INTEL, bajo el nombre de VMware Fusion. El nombre corporativo de la compañía es un juego de palabras usando la interpretación tradicional de las siglas «VM» en los ambientes de computación, como máquinas virtuales (Virtual Machines). VMware es un sistema de virtualización por software. Un sistema virtual por software es un programa que simula un sistema físico (un computador, un hardware) con unas características de hardware determinadas. Cuando se ejecuta el programa (simulador), proporciona un ambiente de ejecución similar a todos los efectos a un computador físico (excepto en el puro acceso físico al hardware simulado), con CPU (puede ser más de una), BIOS, tarjeta gráfica, memoria RAM, tarjeta de red, sistema de sonido, conexión USB, disco duro (pueden ser más de uno), etc. Un virtualizador por software permite ejecutar (simular) varios computadores (sistemas operativos) dentro de un mismo hardware de manera simultánea, permitiendo así el mayor aprovechamiento de recursos. No obstante, y al ser una capa intermedia entre el sistema físico y el sistema operativo que funciona en el hardware emulado, la velocidad de ejecución de este último es menor, pero en la mayoría de los casos suficiente para usarse en entornos de producción. VMware es similar a su homólogo Virtual PC, aunque existen diferencias entre ambos que afectan a la forma en la que el software interactúa con el sistema físico. El rendimiento del sistema virtual varía dependiendo de las características del sistema físico en el que se ejecute, y de los recursos virtuales (CPU, RAM, etc.) asignados al sistema virtual. Mientras que VirtualPC emula una plataforma x86, Vmware la virtualiza, de forma que la mayor parte de las instrucciones en VMware se ejecutan directamente sobre el hardware físico, mientras que en el caso de Virtual PC se traducen en llamadas al sistema operativo que se ejecuta en el sistema físico. XEN Xen es un monitor de máquina virtual de código abierto desarrollado por la Universidad de Cambridge. La meta del diseño es poder ejecutar instancias de sistemas operativos con todas sus características, de forma completamente funcional en un equipo sencillo. Xen proporciona aislamiento seguro, control de recursos, garantías de calidad de servicio y migración de máquinas virtuales en caliente. Los sistemas operativos pueden ser modificados explícitamente para correr Xen (aunque manteniendo la compatibilidad con aplicaciones de usuario). Esto permite a Xen alcanzar virtualización de alto

rendimiento sin un soporte especial de hardware. Intel ha realizado diversas contribuciones a Xen que han permitido añadir soporte para sus extensiones de arquitectura VT-X Vanderpool. Esta tecnología permite que sistemas operativos sin modificar actúen como hosts dentro de las máquinas virtuales de Xen, siempre y cuando el servidor físico soporte las extensiones VT de Intel o Pacifica de AMD. Las máquinas virtuales son usadas a menudo por las empresas en sus servidores y ordenadores centrales para abstraer la mayor cantidad de aplicaciones posibles y proteger las aplicaciones poniéndolas en máquinas virtuales diferentes (semejante a una jaula chroot). Se puede utilizar no sólo por razones de seguridad o funcionamiento, sino también para poder tener ejecutándose diferentes sistemas operativos en el mismo ordenador. Con la migración de máquinas virtuales en caliente de Xen se puede conseguir hacer balance de cargas sin tiempos muertos. Paravirtualización con Xen Xen utiliza una técnica llamada paravirtualización para alcanzar alto rendimiento (es decir, bajas penalizaciones del rendimiento, típicamente alrededor del 2%, con los peores casos rondando el 8%; esto contrasta con las soluciones de emulación que habitualmente sufren penalizaciones de un 20%). Con la paravirtualización, se puede alcanzar alto rendimiento incluso en arquitecturas (x86) que no suelen conseguirse con técnicas tradicionales de virtualización. A diferencia de las máquinas virtuales tradicionales, que proporcionan entornos basados en software para simular hardware, Xen requiere portar los sistemas operativos para adaptarse al API de Xen. Hasta el momento hay ports para NetBSD, Linux, FreeBSD y Plan 9. En 2005, Novell muestra un port de NetWare para Xen. Un port de Windows XP fue creado durante el desarrollo inicial de Xen, pero las licencias de Microsoft prohíben su lanzamiento público. Virtualización completa con Xen Intel ha realizado modificaciones a Xen para soportar su arquitectura de extensiones Vanderpool. Esta tecnología permite que sistemas operativos sin modificaciones se ejecuten en máquinas virtuales Xen, si el sistema soporta las extensiones Vanderpool o Pacífica (de Intel y AMD respectivamente, extensiones para soportar virtualización de forma nativa). Prácticamente, esto significa una mejora de rendimiento, y que es posible virtualizar Windows sin tener que modificarlo. Migración de máquinas virtuales Las máquinas virtuales Xen pueden ser migradas en caliente entre equipos físicos sin pararlos. Durante este proceso, la memoria de la máquina virtual es copiada