Máquinas Virtuales

   EMBED

Share

Preview only show first 6 pages with water mark for full document please download

Transcript

M´ aquinas Virtuales Dise˜ no y Administraci´ on de Sistemas y Redes http://gsyc.es Curso 2007–2008 M´ aquinas Virtuales 1 M´ aquinas Virtuales M´aquina Virtual: Software que crea una capa de abstracci´on, ofreciendo una m´aquina diferente a la m´aquina original Las m´aquinas virtuales que nos interesan en administraci´on de sistemas suelen ofrecer a un sistema operativo la percepci´on de una m´aquina f´ısica Las aplicaciones y los usuarios dentro de la m´aquina virtual se relacionan con la capa de abstracci´ on y no con la plataforma real La m´aquina virtual puede implementar diversos dispositivos virtuales (disco, dispositivos de red, etc) diferentes a los de la plataforma real Guest: Sistema Operativo de la m´aquiva virtual Host: Sistema Operativo de la m´aquina real c 2008 GSyC M´ aquinas Virtuales M´ aquinas Virtuales (cont.) 2 La m´aquina virtual se comporta como una aplicaci´on m´as en el host El guest percibe la m´aquina virtual como si fuera hardware real Este es uno de los modelos posibles c 2008 GSyC M´ aquinas Virtuales M´ aquinas Virtuales (cont.) 3 Utilidad de las m´ aquinas virtuales Tecnolog´ıa tradicional y actual, con muchas utilidades Ejecutar aplicaciones hechas para una plataforma sobre una plataforma diferente: p.e Microsoft Windows sobre Mac OS, Java Virtual Machine Ofrecer un entorno seguro donde experimentar (sandbox) • Docencia • Probar aplicaciones en desarrollo • Probar aplicaciones o webs no confiables Se˜ nuelos (Honeypots) Empresas de hosting pueden ofrecer servidores virtuales (alimentaci´on y conectividad redundante, soporte 24/365, etc) c 2008 GSyC M´ aquinas Virtuales M´ aquinas Virtuales (cont.) 4 Respaldo (backup) de m´aquinas enteras, no solo de datos. Ante un peque˜ no problema o un gran desastre, la m´aquina virtual se recupera inmediatamente Seguridad: Cortafuegos, per´ımetros de seguridad,... Portabilidad: Moviendo un directorio se puede mover la m´aquina virtual de una m´aquina real a otra Independencia del Hardware, p.e. homogeneizar un conjunto de m´aquinas diferentes ... c 2008 GSyC M´ aquinas Virtuales M´ aquinas Virtuales (cont.) 5 Inconvenientes de las m´ aquinas virtuales Inconveniente principal: p´erdida de rendimiento Aunque no siempre La m´aquina real tal vez no existe (p.e. java) Existe, pero es una m´aquina de prop´ osito espec´ıfico. Un guest sobre un host de prop´ osito general puede ser m´as eficiente c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales 6 Tipos de M´ aquinas Virtuales Estos t´ erminos no siempre se usan de la misma forma Emulaci´ on Completa o Virtualizaci´ on Completa No solo emulan memoria, disco y otros dispositivos, sino tambi´en la CPU: Al emular la CPU, son especialmente lentos. La arquitectura Intel tradicional ofrec´ıa muy pocas facilidades Permiten que guest y host trabajen en arquitecturas diferentes c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 7 Ejemplos: QEMU, Bochs. Emulan una CPU intel, incluso cuando se ejecutan sobre intel. Ambos son libres, disponibles para diversos hosts. Pueden ejecutar distintos guest, pero siempre para intel Virtualizaci´ on Al virtualizador tambi´en se le llama hypervisor Se emula memoria virtual, disco y dispositivos Ejemplo: VMware emula tarjeta de audio SoundBlaster 16 y tarjeta ethernet AMD PCnet II. Cualquier aplicaci´on en el guest percibe este hardware No se emula la CPU. Por tanto guest y host tienen que usar la misma arquitectura c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 8 VMware Software propietario, muy maduro Las versiones b´asicas son freeware: • VMware player: Permite ejecutar m´aquinas virtuales creadas con cualquier VMware • VMware server: Permite crear m´aquinas virtuales, y ejecutar m´aquinas virtuales creadas con VMware server host: Windows, Linux. Prevista una versi´ on para Mac OS guest: Pr´acticamente cualquier SO para intel La versi´on superior es un verdadero SO, no se ejecuta sobre un host, sino directamente sobre el hardware c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 9 Virtual PC Software propietario, algunas versiones son freeware El guest puede ser pr´acticamente cualquier SO para intel Dos versiones 1. Para hosts Microsoft Windows. Es un virtualizador 2. Para hosts Mac OS. Es un emulador. Los Mac OS basados en PowerPC (anteriores a 2006) solo ten´ıan esta opci´on para ejecutar Windows Parallels Desktop Virtualizador para los Mac OS basados en Intel guest soportados: Microsoft Windows, Linux, FreBSD, Sun Solaris y algunos otros (los Mac modernos pueden ejecutar Windows en nativo con Boot Camp) c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 10 User Mode Linux UML. No confundir con Unified Modeling Language Es un tipo de m´aquina virtual muy diferente a las anteriores: Un nucleo Linux ligeramente modificado para ejecutarse como un proceso de usuario sobre otro nucleo Linux Permite ejecutar diferentes versiones de Linux sobre diferentes versiones de Linux Dise˜ nado para Intel, hay versiones para IA-64 y PowerPC Los dispositivos del guest no est´an virtualizados. Por tanto en el guest se percibe el hardware real c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 11 Netkit Entorno basado en UML para emular redes: PCs, routers, conmutadores Software libre, desarrollado por la Universidad de Roma c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 12 NetGUI Front-end gr´afico para Netkit Desarrollado URJC c 2008 GSyC en la M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 13 coLinux Versi´on del n´ ucleo de Linux que se ejecuta sobre otro S.O, como Windows AndLinux Distribuci´on basada en Ubuntu con versi´ on del n´ uclero de Linux para ejecutarse sobre Windows. Usa coLinux Algunos servicios van sobre Windows nativo: Servidor de X Window (Xming), servidor de sonido (Pulse Audio) c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 14 Paravirtualizaci´ on Similar a la virtualizaci´ on, pero exige un versi´on ligeramente modificada del guest El rendimiento es normalmente mayor que el de los tipos anteriores Xen Hay una versi´ on libre que permite Linux sobre Linux Hay versiones comerciales que permiten Windows sobre Windows Los drivers est´an paravirtualizados, son m´as eficientes. (En un virtualizador, los drivers son drivers hw normales) Tambi´en hay que modificar el guest (Xen lo llama Dom0 ) c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 15 Virtualizaci´ on nativa Es una emulaci´ on completa, pero realizada por la CPU con lo que el rendimiento es pr´ oximo al nativo Exige soporte en la CPU. Para Intel aparece en 2006 KVM: Kernelbased Virtual Machine. Infraestructura para virtualizaci´on completa del n´ ucleo de Linux T´ecnica muy prometedora, gran desarrollo en la actualidad. Soportado por Xen c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 16 Procesadores que lo soportan: VT Intel (IVT) Vanderpool. Pentium 4 6x2, Pentium D 9x0, Xeon 3xxx/5xxx/7xx, Intel Core, Intel Core 2 AMD-V Pacifica AMD con Socket AM2, Socket S1 y Socket F. Tambi´en procesadores Athlon 64 y Turion 64 a partir de mayo de 2006 c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 17 T´ ecnicas que no emplean m´ aquinas virtuales Parte de la funcionalidad que hemos descrito tambi´en puede conseguirse con t´ecnicas alternativas, sin usar m´aquinas virtuales. Debemos evaluar lo m´as adecuado para cada caso jaulas chroot. Se cambia el directorio raiz que percibe un proceso, de forma que no puede acceder fuera de cierto directorio. No se aisla el acceso a otros procesos, memoria, CPU, red u otros dispositivos Simuladores. Simulan algunas caracter´ısticas del comportamiento externo de un sistema. P.e. simuladores de red (GloMoSim, JSIM, ns-2, OPNET, OMNet, etc) Los mal llamados simulador de Zx-Spectrum para PC, simulador de Commodore 64 para PC, etc, no son simuladores. Son emuladores completos. c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 18 Capas de compatibilidad • WinE. Reimplementaci´ on de la API de Win16 y Win32 para sistemas operativos basados en Unix bajo plataformas Intel. Permite ejecutar algunas aplicaciones Windows sencillas en Linux • Cygwin. Entorno de emulaci´ on de Linux para Windows, compuesto por: 1. DLL que ofrece la funcionalidad de las llamadas al sistema de Linux 2. Colecci´ on de herramientas habituales en sistemas Unix Implementaci´ on de protocolos de red. • Samba, implementaci´ on de smb/cifs para Unix. Permite usar m´aquinas Unix en redes Windows • Implementaciones de NFS para Windows. Permiten usar usar m´aquinas Windows en redes Unix c 2008 GSyC M´ aquinas Virtuales Tipos de M´ aquinas Virtuales (cont.) 19 Clonaci´on. Permite replicar la configuraci´ on de una m´aquina. Normalmente exige m´aquinas id´enticas • SystemImager. Software libre para Linux • Norton Ghost. Software propietario para Windows Instalaci´on autom´atica. Sistema que contesta autom´aticamente a las preguntas que hace un SO en su instalaci´ on. preseed (debian), kickstart (Red Hat) c 2008 GSyC M´ aquinas Virtuales