Download virtualización
Document related concepts
Transcript
UNIVERSIDAD TECNOLÓGICA ECOTEC FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES Y TELECOMUNICACIONES VIRTUALIZACIÓN SISTEMAS OPERATIVOS I ANA MARÍA ALARCÓN ORDÓÑEZ ING. SARA NORIEGA DE LA CRUZ GUAYAQUIL, JUNIO 17 DEL 2012 Tabla de contenido 1.1 Introducción ................................................................................................................... 3 2.1 Virtualización ............................................................................................................... 4-7 2.1.1 Concepto ............................................................................................................................ 4 2.1.2 Características ................................................................................................................. 4 2.1.3 Tipos ............................................................................................................................. 5 2.1.4 Ventajas .................................................................................................................. 6-7 2.1.5 Desventajas ............................................................................................................ 7 3.1 Máquinas Virtuales ...................................................................................................... 7-8 3.1.1 Concepto ............................................................................................................................ 7 3.1.2 Funcionamiento ............................................................................................................... 7 3.1.3 Características ............................................................................................................. 8 4.1 Técnicas de Virtualización - Explicación ........................................................................... 8 5.1 Paravirtualización ........................................................................................................... 9 5.1.1 Concepto ............................................................................................................................ 9 5.1.2 Características ................................................................................................................. 9 5.1.3 Funcionamiento ........................................................................................................... 9 5.1.4 Uso ............................................................................................................................ 9 5.1.5 Ventajas ................................................................................................................ 9 5.1.6 Desventajas ........................................................................................................ 9 6.1 Virtualización asistida por hardware - Explicación ......................................................... 10 7.1 Descripción de KVM, Virtualbox, VMWare, OpenVZ, Exokernel .................................10-11 8.1 Hyper-V ......................................................................................................................... 11 9.1 Conclusión .................................................................................................................... 12 10.1 Bibliografía ................................................................................................................. 13 Introducción Hace ya algún tiempo que nos encontramos en un tremendo boom de la virtualización de sistemas informáticos. Gran cantidad de empresas están migrando sus sistemas a entornos virtualizados seducidos por las grandes ventajas que aportan estos sistemas en cuanto a comodidad y eficiencia. Virtualizar ha sido considerado históricamente y de manera general como tomar algo en cierto estado y hacer parecer que se encuentra en otro estado diferente. A partir de ello, dos aproximaciones han ido evolucionando: hacer parecer que un computador se trata de múltiples computadores y no solamente de uno –virtualización- o lograr que múltiples computadores sean uno sólo; esto, más que virtualización, comúnmente es llamado Grid Computing o Server Aggregation. En el presente, la virtualización ha llegado al escritorio, lo que ha hecho que incremente exponencialmente de nuevo su popularidad y esto provoque que sea una de las tecnologías más innovadoras del momento debido a las notables ventajas que supone su aplicación. Uno de los hechos que justifican esto es que prácticamente todas las grandes empresas dentro del mundo informático han desarrollado productos de virtualización o han adquirido empresas que los ofrecían. VIRTUALIZACIÓN Concepto Virtualización describe como en un solo computador físico se coordina el uso de los recursos para que varios sistemas operativos puedan funcionar al mismo tiempo de forma independiente y sin que los SO’s sepan que están compartiendo recursos con otros sistemas operativos. Es decir, se dividen los recursos de un ordenador (servidor) en uno o más entornos de ejecución; que se comportarán a su vez como servidores reales. Características Las organizaciones están optando por invertir en tecnologías como la virtualización, que ofrecen un rápido retorno de la inversión, reducen costes e incrementan la productividad. Se automatizan las tareas de TI y se agiliza la gestión, al mismo tiempo se reacciona con mayor rapidez ante las oportunidades de negocio o fallo del sistema, garantizando la continuidad del servicio. La tecnología nos ofrece la posibilidad de disponer de varios servidores con características muy distintas pero instalando físicamente una sola máquina. Las características de configuración son independientes. Estos recursos pueden ser compartidos o se pueden bloquear de forma que cada máquina virtual tenga su propia memoria RAM, CPU, disco duro, recursos de red. Lo mismo ocurre con las aplicaciones y el S.O. Se instala en el ordenador huésped un Hypervisor o VMM, un gestor de máquinas virtuales que se ocupa de gestionar los recursos del servidor y de distribuirlos entre las máquinas virtuales. Este software o sistema operativo para máquinas virtuales se puede encontrar distribuido por empresas como Microsoft, VMWare, Parallels, Citrix y otras. Tipos Virtualización de plataforma: se trata de simular una máquina real (servidor o PC) con todos sus componentes (no necesariamente son todos los de la máquina física) y prestarle todos los recursos necesarios para su funcionamiento. En general, hay un software anfitrión que es el que controla que las diferentes máquinas virtuales sean atendidas correctamente. Dentro de este esquema caben la mayoría de las formas de virtualización más conocidas, incluidas la virtualización de sistemas operativos, la virtualización de aplicaciones y la emulación de sistemas operativos. Virtualización de sistema operativo: uso de un software que permite al sistema ejecutar múltiples instancias de diferentes sistemas operativos de forma simultánea, en una única computadora. Así, se ejecutan diferentes aplicaciones que son requeridas por los sistemas operativos, garantizando que no interfieran entre sí, ni a las aplicaciones. Virtualización de red: trata a todos los servidores y servicios en la red como un único grupo de recursos que pueden ser accedidos sin considerar sus componentes físicos. Se logra instalando software y servicios para gestionar el almacenamiento compartido, los ciclos de computación y las aplicaciones. Balanceo de carga. Virtualización de servidor: se particiona un servidor físico en pequeños servidores virtuales. Los recursos del propio servidor son escondidos o enmascarados a los usuarios. El software es usado para dividir el servidor físico en múltiples entornos virtuales, llamados servidores virtuales o servidores privados. Esta tecnología se utiliza en los servidores web. Virtualización de aplicaciones: separa las aplicaciones del S.O y las convierte en servicios virtuales gestionados y administrados de forma centralizada. Estas aplicaciones se ejecutan en su propio entorno, los conflictos asociados con el S.O son totalmente eliminados. Virtualización de recursos: esta permite agrupar varios dispositivos para que sean vistos como uno solo, o al revés, dividir un recurso en múltiples recursos independientes. Generalmente se aplica a medios de almacenamiento. También existe una forma de virtualización de recursos muy popular que no es sino las redes privadas virtuales o VPN, abstracción que permite a un PC conectarse a una red corporativa a través de la Internet como si estuviera en la misma sede física de la compañía. Ventajas Las ventajas de disponer de servidores virtualizados frente a servidores físicos son las siguientes: Ahorro de costos: 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 costo de mantenimiento y en el de personal, además de ahorrar espacio. 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. 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. Esa aplicación puede “sobrevivir” en una máquina virtual independiente sin que haga falta conservar el ordenador antiguo. 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. Por ejemplo, se puede clonar una máquina y seguir dando servicio mientras se realiza mantenimiento de la máquina virtual de producción como actualizaciones. 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. Movilidad: El uso de dispositivos utilizados o que pueden ser utilizados en máquinas virtuales, junto con los datos virtuales en los archivos de copia de seguridad o de volumen de discos virtuales, hace que sea fácil el desplazar o mover las máquinas virtuales de un sistema físico a otro, para funciones de mantenimiento y la utilización más eficaz de los recursos. Desventajas El uso de la virtualización representa conflictos con el licenciamiento que aplican los fabricantes de software. El software de virtualización representa un desafío para los tipos de licencia por usuario existentes actualmente, por lo cual es probable que cambien las reglas respecto al licenciamiento de software. Su instalación y administración requiere de personal calificado en TI, mas su uso puede ser transparente para un usuario promedio corporativo. MÁQUINAS VIRTUALES Definición Es un software que crea un entorno virtual entre el sistema informático que la alberga y el usuario final, permitiendo que se ejecute un software determinado. Funcionamiento La idea principal es la de permitir ejecutar varios sistemas operativos sobre el mismo hardware. El corazón del sistema es conocido como monitor de máquina virtual, y se ejecuta sobre el hardware proporcionando varias máquinas virtuales al siguiente nivel de software. De esta forma cada una puede estar ejecutando un sistema operativo distinto y no interferir con los demás. Una máquina virtual es como una capa intermedia entre el hardware de la computadora y algún software y puede encargarse de funciones como traducir instrucciones o simular el funcionamiento de una computadora específica. Hay desde las más complejas que emulan una computadora en su totalidad (Incluyendo tarjetas de video, discos duros, etc.), hasta otras más sencillas y especializadas que brindan solo una capa de abstracción entre plataformas de hardware y software muy específico. Arquitectura típica de una máquina virtual. Características Los procesos que ejecutan las máquinas virtuales están limitados por los recursos proporcionados por ellas. Estos procesos no pueden escaparse de este ordenador virtual. Se puede instalar el S.O que se desee Compatibilidad 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 desde nuestro sistema operativo habitual, sin necesidad de instalarlo directamente en nuestra computadora y sin miedo a que se desconfigure el sistema operativo primario. TÉCNICAS DE VIRTUALIZACIÓN Emulación del hardware (ejecución nativa): Esta técnica se suele llamar virtualización completa del hardware ya que permite ejecutar sistemas operativos propietarios como Windows sin que sea modificado. Utiliza un hypervisor de tipo 1 y2: - Tipo 1.- se ejecuta directamente sobre el hardware. - Tipo 2.- se ejecuta sobre otro sistema operativo como Linux. Emulación de un sistema no nativo: Pueden actuar como emuladores de hardware, permitiendo que aplicaciones y sistemas operativos diseñados para algún una plataforma específica puedan correr sobre otra plataforma con la cuál técnicamente no es compatible. Ej: Máquina virtual de Java, del entorno de .NET. Paravirtualización: El host no ofrece una emulación del hardware. Pero sin embargo ofrece un API que permite que los guests puedan acceder a los recursos de la máquina, controlados por el host por supuesto. Los guests corren de forma aislada y segura de forma tal que no se afectan en caso de problemas. El kernel de los guests tiene que ser modificado para permitir acceder al API del host y poder manejar y acceder a los recursos del host (disco, red, usb, etc). Ej.: Incluyen el VMWare ESX Server y el XEN. Virtualización a nivel de sistema operativo: Esta técnica consiste en dividir una computadora en varios compartimentos independientes de manera que en cada compartimento podamos instalar un servidor. A estos compartimentos se los llama "entornos virtuales". Desde el punto de vista del usuario, el sistema en su conjunto actúa como si realmente existiesen varios servidores ejecutándose en varias máquinas distintas. Ej.: Las zonas de Solaris (Solaris Zones) y la técnica de Micro Partioning de AIX. PARAVIRTUALIZACIÓN Definición Consiste en ejecutar sistemas operativos invitados sobre otro sistema operativo que actúa como hypervisor (host). Los invitados tienen que comunicarse con el hypervisor para lograr la virtualización. Esta técnica permite que cada uno pueda colaborar para obtener un alto rendimiento al realizar operaciones importantes relacionadas al uso de los recursos de hardware y cuando se ejecute una máquina virtual. Características Esta técnica requiere que el sistema operativo del las maquinas virtuales sea modificado. Sistemas operativos como Linux, FreeBSD, NetBSD, OpenSolaris son buenos candidatos para ejecutarse en entornos de Paravirtualización. Funciones El hypervisor interactúa directamente con el hardware y se encarga de gestionarlo entre las máquinas virtuales que se encuentran en la capa superior. De esta forma el hardware se gestiona de forma mucho más eficiente y el rendimiento de las máquinas virtuales se incrementa de forma considerable. Usos El término hypervisor viene de supervisor, que es como se llama al software que maneja las maquinas virtuales en la virtualización completa (VMware). Se podría describir como un microkernel con las siguientes funciones: - Planificación del tiempo de CPU. - Protección de memoria entre máquinas virtuales. - Encaminamiento de interrupciones. - Mantenimiento del tiempo. - Paso de mensajes entre máquinas virtuales. El hypervisor se ejecuta por debajo del S.O anfitrión proporcionando estabilidad, aislamiento entre maquinas y políticas de QoS (Calidad del servicio). La empresa VMware tiene en uno de sus productos un hypervisor con funciones parecidas a las de Xen (VMware Server ESX) Ventajas La gran ventaja de estos hipervisores es el rendimiento. Según el software, permiten cambiar la asignación de memoria RAM y memoria en disco de una máquina virtual dinámicamente, de forma que no hace falta reiniciar la máquina virtual para que el cambio surta efecto. También se permite mover máquinas virtuales de un servidor a otro en caliente, sin necesidad de apagar la máquina virtual. Además se obtienen todas las ventajas de la virtualización. Desventajas Los sistemas operativos invitados deben ser modificados para funcionar con este esquema. VIRTUALIZACIÓN ASISTIDA POR HARDWARE (VIRTUALIZACIÓN COOPERATIVA). El propio hardware provee la tecnología para que las máquinas virtuales puedan ejecutar el sistema operativo en el nivel privilegiado que utilizaría si estuviera instalado físicamente. La traducción binaria parte de la base de la existencia de un monitor de máquinas virtuales (VMM) que vigila a cada segundo las instrucciones que el sistema operativo huésped envía al procesador. Si existe algún problema inmediatamente las reescribe y las envía al huésped. En otras palabras, lo que antes se hacía con una traducción binaria ahora se ejecuta directamente. Lógicamente, la performance en los procesadores modernos es mayor con este método. La desventaja es que el hardware que se utilice debe tener incorporada la tecnología de virtualización. Esta virtualización es posible gracias a las extensiones de virtualización de los procesadores actuales, como la Intel VT y la AMD-V. Intel y AMD han desarrollado independientemente extensiones de virtualización a la arquitectura x86 .No son directamente compatibles entre sí, pero proporcionan las mismas funciones. Ambos permiten que una máquina virtual se ejecute en un huésped no modificado. DESCRIPCIÓN DE KVM, VIRTUALBOX, VMWARE, XEN, OPEN VZ, EXOKERNEL. KVM (Kernel-based Virtual Machine): utiliza virtualización completa por hardware y requiere que el sistema operativo host sea Linux. Es open source y gratuito. Virtualbox: propiedad de Sun desde hace ya un tiempo, es un producto open source con versiones para Windows, Linux, Mac OS X y OpenSolaris. VirtualBox permite realizar virtualización completa eligiendo traducción binaria o asistida por hardware. VMware: VMware es quizá el producto con más experiencia y madurez en el mercado. Tiene muchísimas versiones diferentes que soportan múltiples técnicas de virtualización. Entre ellas, la gama ESX instala directamente el hypervisor sobre el hardware, sin necesidad de otro sistema operativo que le sirva de host. Este tipo de plataforma se denomina precisamente non-hosted. Puede accederse a varias versiones gratuitas y otras son pagas. Xen: corre sobre hosts Linux y soporta paravirtualización y virtualización completa por hardware. Es un muy buen producto muy popular entre los usuarios de Linux, sobre todo en plataformas de paravirtualización. También es open source. OpenVZ: Desarrollado por SWsoft, Inc. Permite que un servidor físico ejecute múltiples instancias de sistemas operativos aislados, conocidos como Servidores Privados Virtuales (VPS) o Entornos Virtuales (EV). Ofrece menor flexibilidad en la elección del sistema operativo: tanto los huéspedes como los anfitriones deben ser Linux. Sin embargo, la virtualización en el nivel de S.O de OpenVZ proporciona mejor rendimiento, escalabilidad, densidad, administración de recursos dinámicos y facilidad de administración. Exokernel: Radica en reducir la función del kernel del sistema logrando multiplexar los recursos físicos. Un exokernel provee a las aplicaciones la misma interfaz que provee el hardware, con ello no se necesita de una virtualización ni abstracción del mismo. Son de naturaleza Sistemas Centralizados. Un exonúcleo elimina la noción de que un sistema operativo debe proveer abstracciones en las que se construyen las aplicaciones, se concentran en seguridad. Trabaja con direcciones de memoria específica. Función principal multiplexar y proteger recursos. HYPER-V Hyper-V es un rol de Windows Server 2008 R2 de 64x que proporciona las herramientas y los servicios necesarios para crear un entorno servidor virtualizado. Este entorno virtualizado se puede usar para abordar diversos objetivos empresariales orientados a mejorar la eficacia y reducir los costos. Además, este tipo de entorno es útil en el sentido de que permite crear y administrar máquinas virtuales. Características: Tiene una mejor arquitectura con lo cual se consigue mayor rendimiento y mayor seguridad. Diversidad de sistemas operativos tanto 32x, 64x, Windows y Linux. Soporte de memoria, direccionamiento de memoria para cada máquina virtual. Acceso mejorado al sistema de almacenamiento. Integración de Linux, aunque de manera limitada. Pruebas y desarrollo Escalabilidad verticalmente para dar soporte a un mayor número de máquinas virtuales. Crea una infraestructura de IT más dinámica CONCLUSIÓN PERSONAL Actualmente existen diversas empresas que se encargan de ofrecer servicios de virtualización. Sin embargo compararé VMware y Hyper-V de Microsoft. VMware es obviamente la compañía con más experiencia con respecto a los productos de virtualización. La organización tiene 10 años de experiencia en este campo y durante este tiempo ha conseguido establecer una gran base de clientes a nivel mundial. En contraste HyperV es un producto relativamente nuevo, teniendo poca experiencia en el área de virtualización. Microsoft no tiene un modelo de soporte exclusivo para Hyper-V. Hyper-V requiere hardware de 64 bits y descarta por completo aquellas empresas que han aplazado la renovación de equipos. De hecho, este es uno de los beneficios de la virtualización, poder aprovechar el hardware existente para maximizar el rendimiento de sistemas. Desde el punto de vista de fiabilidad, se estima que ESX Server puede funcionar más de 1.000 días sin requerir un reinicio. Sin embargo, Hyper-V requiere un reinicio cada 30 días por los updates y parches de Microsoft. Con respecto a la funcionalidad VMWare tiene alta disponibilidad, se pueden realizar migraciones de máquinas “en vivo”, distribución dinámica de recursos, etc.; no son soportadas o lo son de una forma muy limitada por la solución de Microsoft. Una característica fundamental de WMWare es su herramienta de conversión gratuita (VMWare Converter), que sirve tanto para la conversión de máquinas reales a virtuales, como para la conversión entres las distintas plataformas de VMWare. Además de la facilidad para trasladar las máquinas virtuales, basta con copiar los ficheros asociados a la máquina a otro servidor o medio de almacenamiento y volverla a arrancar. Esto, no funciona en el caso de Hyper-V, ya que deberemos exportar la máquina para poder migrarla a otro servidor, pero tendremos que volver a crear la máquina con todas las opciones originales. Es cierto que una licencia de VMware Infrastructure Enterprise Suite con Virtual Center requiere una inversión costosa que la solución de Microsoft. Sin embargo, cuando se trata de aplicaciones de misión crítica, el precio nunca debe ser el único parámetro. BIBLIOGRAFIA Ernesto Pérez. Técnicas de Virtualización. Recuperado el 28 de febrero de 2007 de http://www.ecualug.org/2007/02/28/comos/1_t_cnicas_de_virtualizaci_n IT News (2011). Tipos de Virtualización. Recuperado de http://www.itnews.ec/marco/000039.aspx Rodolfo de Juana (2010). Cómo funciona la virtualización y para qué sirve. Recuperado el 21 de abril de 2010 de http://www.muypymes.com/2010/04/21/como-funciona-la-virtualizacion-ypara-que-sirve Eugenio Velásquez (2009). Virtualización. Recuperado el 8 de enero de 2009 de http://www.tecnologiapyme.com/software/que-es-la-virtualizacion Eugenio Velásquez (2009). Virtualización. Recuperado el 8 de enero de 2009 de http://www.tecnologiapyme.com/software/que-es-la-virtualizacion Técnicas de Virtualización. Recuperado el 5 de octubre de 2009 de http://www.baitic.com/productividad/paravirtualizacion-expande-tus-posibilidades.html Microsoft Hyper-V. Recuperado el 22 de marzo de 2012 de http://www.tecnicobat.com/2012/03/22/que-es-microsoft-hyper-v/