Donosti, Jueves 1 de octubre 2009

Virtualización …15º Aniversario!!! Virtualización Donosti, Jueves 1 de octubre 2009 IÑIGO LOSADA Director de Comunicaciones y Sistemas [email protected]...
0 downloads 0 Views 1MB Size
Virtualización …15º Aniversario!!!

Virtualización Donosti, Jueves 1 de octubre 2009 IÑIGO LOSADA Director de Comunicaciones y Sistemas [email protected]

Virtualización …15º Aniversario!!!

Introducción • La virtualización es una tecnología que

fue desarrollada por IBM en los años 60. El primer ordenador diseñado específicamente para virtualización fue el mainframe IBM S/360 Modelo 67

• El S.O. VM (Virtual Machine) de IBM

(1972) es una familia de sistemas operativos usados en el System/370, System/390, zSeries y System z9 en mainframes

Virtualización …15º Aniversario!!!

Introducción • Los sistemas operativos incluidos eran: • La familia OS (OS/360, OS/VS1, OS/VS2, MVS, OS/390, y el actual z/OS) • La familia DOS (DOS/360, DOS/VSE, y el actual z/VSE)

• La virtualización es un término que se refiere a la abstracción de los recursos de un ordenador llamado Hypervisor o VMM (Virtual Machine Monitor)

Virtualización …15º Aniversario!!!

Introducción • El VMM crea una capa de la abstracción entre el hardware de la máquina física (host) y el sistema operativo de la máquina virtual (virtual machine, guest) • El VMM maneja los recursos de las máquinas físicas de manera que el usuario pueda crear varias máquinas virtuales presentando a cada una de ellas una interfaz del hardware que sea compatible con el sistema operativo elegido

Virtualización …15º Aniversario!!!

Introducción • Cada VM (máquina virtual) trabaja de manera separada en un espacio de usuario con su propio esquema de direccionamiento, dispositivos virtuales, etc… • La máquina virtual generalmente es un sistema operativo completo que corre como si estuviera instalado en una plataforma de hardware autónoma

Virtualización …15º Aniversario!!!

Formas de virtualizar • Emulación del hardware • Virtualización del hardware (nativa o total) • Paravirtualización • Virtualización a nivel de Sistema Operativo

Virtualización …15º Aniversario!!!

Emulación de hardware • La CPU y otros componentes de hardware como chips de E/S, tarjetas de video, red, etc son emulados • Productos: • Bochs • QEMU • MS Virtual PC para MAC (PowerPC)

Virtualización …15º Aniversario!!!

Emulación de hardware • Ventajas: • El S.O. invitado no necesita ser modificado (se puede emular una CPU x86 en una máquina PowerPC o al revés)

• Inconvenientes: • Pérdida de prestaciones importante al emular las instrucciones de hardware de la CPU emulada a la CPU nativa

Virtualización …15º Aniversario!!!

Virtualización de hardware (total o nativa) • La CPU no se emula. Se emula el resto del hardware (chips de E/S, tarjetas, etc...) • Productos: • VMware Worstation y Server • Parallels Desktop • VirtualBox • Xen 3 con soporte de CPU Intel-VT o AMD-V • KVM con soporte de CPU Intel-VT o AMD-V

Virtualización …15º Aniversario!!!

Virtualización de hardware (total o nativa) • Ventajas: • El S.O. invitado (guest) no necesita modificarse • Mejores prestaciones que con la emulación del hardware

• Inconvenientes: • La arquitectura de la CPU debe ser igual en el S.O. central y el invitado • Mucha sobrecarga (overhead) importante: Intel VT y AMD-V para intentar reducirla

• El S.O. invitado (guest) no necesita modificarse • Mejores prestaciones que con la emulación del hardware

Virtualización …15º Aniversario!!!

Paravirtualización • Es una técnica de virtualización que consiste en crear un interface de software a las máquinas virtuales

Virtualización …15º Aniversario!!!

Paravirtualización • Permite que las VM's tengan unas prestaciones cercanas al hardware no virtualizado • Si el S.O. invitado puede comunicarse con el “hypervisor” para indicarle lo que quiere hacer, coopera y mejora las prestaciones en cada máquina virtual

Virtualización …15º Aniversario!!!

Paravirtualización • Productos: • Xen 3

• En 2005 VMware propone la especificación VMI o Virtual Machine Interface (http:// www.vmware.com/pdf/vmi_specs.pdf) como una especificación abierta • Es un interface de paravirtualización, un mecanismo entre el S.O. invitado (guest) y el hypervisor. De esta forma, una sencilla versión binaria del S.O. puede correr en un hypervisor en modo paravirtualizado

Virtualización …15º Aniversario!!!

Paravirtualización • Inconveniente: • Los S.O. invitados (guest) deben ser modificados para correr paravirtualizados • La arquitectura de la CPU debe ser igual en el S.O. central y el invitado • Ventajas: • Prestaciones, tiempo de arranque • Permite compartir recursos en forma colaborativa sin modificar el S.O. central

Virtualización …15º Aniversario!!!

Paravirtualización: paravirt-ops • Es un entorno de trabajo (Framework) • En Linux está en el kernel desde la versión 2.6.20 • Es una paravirtualización transparente de plataforma-cruzada • Interface abierto soportado por IBM, Red Hat, VMware y Xensource • Soportado por VMware Workstation 6

Virtualización …15º Aniversario!!!

Paravirtualización: paravirt-ops • Incorpora muchos de los conceptos de VMI incluyendo el soporte de paravirtualización transparente • Un S.O. paravirtualizado Linux correrá en cualquier hypervisor que lo soporte • Incluye soporte del interface VMI de VMware • Ubuntu 7.04 ha sido la primera distribución Linux en soportar paravirt-ops

Virtualización …15º Aniversario!!!

Hypervisor • El corazón de la virtualización es un programa de control o hypervisor que funciona en la máquina física y que crea el entorno virtual incluyendo el hardware, las operaciones de E/S, control de prioridades, almacenamiento virtual, etc ... • En los sistemas basados en Hypervisor (como Xen) el S.O. (Linux por ejemplo) no tiene total control del hardware

Virtualización …15º Aniversario!!!

Hypervisor • El software hypervisor es quien controla algunas cosas como las siguientes: • Planificación del tiempo de la CPU • Localización de la memoria física y protección y separación entre las máquinas virtuales • Control de interrupciones • Paso de mensajes y comunicación entre las máquinas virtuales

Virtualización …15º Aniversario!!!

Hypervisor • En el caso de Xen, una de las máquinas virtuales se encarga del hardware (tarjetas de red, video, drivers, etc...) • Las otras máquinas virtuales se comunican con esta máquina virtual privilegiada llamada (domain 0) para manipular los dispositivos virtuales. Un Hypervisor es una especie de microkernel

Virtualización …15º Aniversario!!!

Hypervisor • Los hypervisores se pueden clasificar de dos tipos: • Hypervisor tipo 1: También denominado nativo, unhosted o sobre el metal desnudo (bare metal). Es software que se ejecuta directamente sobre el hardware, para ofrecer la funcionalidad descrita • Hypervisor tipo 2: También denominado hosted. Es software que se ejecuta sobre un sistema operativo para ofrecer la funcionalidad descrita

Virtualización …15º Aniversario!!!

Hypervisor • El hypervisor classic type 1 fue el CP/CMS, desarrollado en IBM en los 60, antecesor del actual z/VM • Actualmente lo usan productos como Xen (Open Source), Citrix XenServer, Oracle VM, VMware's ESX Server, IBM's POWER Hypervisor (PR/SM), Microsoft's Hyper-V Parallels Server, and Sun's Logical Domains Hypervisor

Virtualización …15º Aniversario!!!

Hypervisor • El hypervisor classic type 2 es un software que corre dentro de un S.O. Un S.O. invitado (guest) corre en un tercer nivel por encima del hardware • Actualmente lo usan productos como VMware Server (conocido como GSX), VMware Workstation, VMware Fusion, QEMU (Open Source), Virtual PC y Microsoft Virtual Server, VirtualBox, Parallels Workstation y Parallels Desktop

Virtualización …15º Aniversario!!!

Virtualización a nivel de S.O. • No hay emulación • Hay un único kernel para el S.O. anfitrión (host) y el S.O. invitado (guest) • Productos: • OpenVZ/Virtuozzo • Jaulas de FreeBSD • Solaris Containers • Parallels Virtuozzo Containers

Virtualización …15º Aniversario!!!

Virtualización a nivel de S.O. • El kernel permite a múltiples instancias (llamadas containers, VEs or VPSs) aisladas en espacio de usuario (en lugar de solo una) correr como un servidor real • En sistemas Unix esta tecnología podría verse como una extensión avanzada del mecanismo chroot

Virtualización …15º Aniversario!!!

Virtualización a nivel de S.O.

Virtualización …15º Aniversario!!!

Virtualización a nivel de S.O.

Virtualización …15º Aniversario!!!

Virtualización a nivel de S.O. • Ventajas: • Muy buenas prestaciones ya que no hay emulación y los programas en la partición virtual usan las llamadas al sistema normales • Arranque muy rápido de los S.O. invitados • Alta densidad de S.O. invitados

Virtualización …15º Aniversario!!!

Virtualización a nivel de S.O. • Inconvenientes: • El S.O. anfitrión e invitados deben ser iguales • Menos flexible que otras soluciones • No indicado para entornos de pruebas • Si cae el S.O. caen todos los sistemas virtualizados

Virtualización …15º Aniversario!!!

Virtualización a nivel de S.O. vs Hypervisor

Virtualización …15º Aniversario!!!

Tecnologías de virtualización hard en la CPU • • • •

AMD Pacifica x86 virtualization (AMD-V) IBM Advanced POWER virtualization Intel Vanderpool x86 virtualization (IVT) Hitachi's Virtage hardware virtualization, disponible es su línea de servidores BladeSymphony • Sun Microsystems UltraSPARC T1 hypervisor

Virtualización …15º Aniversario!!!

El entorno ideal: máxima flexibilidad

Virtualización …15º Aniversario!!!

El entorno ideal: máxima flexibilidad Datacenter flexible: •Transparencia en el uso de recursos. •Uso eficiente de recursos hardware y software

Virtualización …15º Aniversario!!!

El entorno ideal: máxima flexibilidad Datacenter flexible: •Transparencia en el uso de recursos. •Uso eficiente de recursos hardware y software

POOL DE RECURSOS Disco, CPU, memoria, red

Virtualización …15º Aniversario!!!

Escenarios de virtualización Consolidación de Servidores

Pruebas y desarrollo

Continuidad del negocio

Delegaciones Remotas

Virtualización …15º Aniversario!!!

Por qué utilizar la virtualización • Para consolidar servidores y almacenamiento • Gestionar mejor los recursos informáticos • Flexibilizar los recursos físicos • Reducir costes • Aumentar el aprovechamiento de los recursos • Facilitar migraciones y recuperación ante desastres • Implantar alta disponibilidad

Virtualización …15º Aniversario!!!

Por qué utilizar la virtualización • Simplificar la infraestructura • Desplegar aplicaciones más rápidamente • Independizar el S.O. (con aplicaciones y datos) del hardware.El mundo del PC es demasiado dinámico (incluso caótico) • Facilitar la gestión de los administradores de sistemas • Plan de contingencia más sencillo • Nos “obliga” a crear una estructura redundante desde el inicio del proyecto

Virtualización …15º Aniversario!!!

Por qué utilizar la virtualización • Procedimiento de marcha atrás ante cambios de soft, parches, actualizaciones • Antes de hacer cualquier cambio en los el sistema, podemos hacer fotos o snapshots para poder volver atrás • El punto anterior nos ayuda en la seguridad de nuestros servidores. Lo normal es que para evitar problemas no hagamos actualizaciones de seguridad en los servidores

Virtualización …15º Aniversario!!!

Por qué utilizar la virtualización • • • • • • •

Reducir espacio físico ocupado Reducir el calor generado Reducir el consumo de electricidad Reducir el consumo de aire acondicionado Disminuir el número de servidores Crear entornos independientes de desarrollo Implementar nuevas aplicaciones sin parar producción

Virtualización …15º Aniversario!!!

Por qué utilizar la virtualización • Migración P2V: de físico a virtual. Permite crear una copia exacta de un ordenador sin alterar datos • Conociendo el formato del disco duro virtual podemos actuar en los ficheros del mismo desde el S.O anfitrión. El S.O. anfitrión puede “detectar” acciones sospechosas o peligrosas en la VM

Virtualización …15º Aniversario!!!

Consolidar servidores • Esto permite que servicios que normalmente se tengan que ejecutar en ordenadores distintos, se puedan ejecutar en la misma máquina de manera completamente aislada y compartiendo los recursos de un único ordenador. • 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

Virtualización …15º Aniversario!!!

Recomendaciones para el host • Hosts x64 versus x86 • Los hosts x64 tienen mejor gestión de memoria • Los hosts x64 son más rápidos para ciertas operaciones • Solo VMs de 32-bits soportadas en algún software

• Intel VT/ AMD V • Mejora el rendimiento de la instalación • Mejora el rendimiento de las VM

Virtualización …15º Aniversario!!!

Recomendaciones para el host • CPUs multi-core • Los Cores se usan para balancear las diferentes threads de las diferentes VMs • Mejor rendimiento que el hyperthreading

• Memoria • Reservar 512 MB para el funcionamiento del S.O

Virtualización …15º Aniversario!!!

Recomendaciones para el host • Almacenamiento • Separar el S.O. en un partición diferente • Utilizar los discos más rápidos que sea posible • Utilizar RAID 0 para el almacenamiento de los VHD. Para tolerancia a fallos usar RAID 0+1 o RAID 5 • El mejor rendimiento de E/S para discos lo dan los discos SCSI de tamaño fijo.

Virtualización …15º Aniversario!!!

Recomendaciones para el host • Red

• Usar múltiples NIC Gigabit • Dedicar una NIC al Host • Dedicar NICs a VMs • Planificar las redes virtuales, estandarizando sus nombres en todos los servidores de Virtualización • Dedicar una NIC al host

Virtualización …15º Aniversario!!!

Planificación de la CPU • Procesador: • Requerimientos de CPU = nº de CPUs x velocidad de CPU x Utilización de CPU • 2 procesadores x 2000 MHz x 10% uso= ~400 Mhz • Tener en cuenta los picos

Virtualización …15º Aniversario!!!

Planificación de la CPU • Cálculo de la capacidad de CPU del destino: • Capacidad total de CPU = nº de procesadores x velocidad de CPU • 2 CPUs x 3600 MHz = 7200 MHz

• Reservar un 25% para el host • 0,25 x 7200 = 1800 MHz • 7200 -1800 = ~5400 MHz disponibles para las máquinas virtuales

Virtualización …15º Aniversario!!!

Planificación de la red • Requerimientos de ancho de banda: • Ancho de Banda = número de VMs x velocidad de la NIC x utilización de la NIC • 12 VMs x 100 Mb/s x 40% = 480 Mb/s • 4 VMs x 1000 Mb/s x 25% = 1000 Mb/s • Necesidad Total = 1480 Mb/s • Tener en cuenta los picos

Virtualización …15º Aniversario!!!

Planificación de la red • Cálculo de la capacidad de las NIC del host: • Suponemos que el host tiene una NIC dedicada • Capacidad Total del Host = nº de NICs x velocidad de la NIC • 2 NICs x 1000 Mb/s = 2000 Mb/s

• Suponiendo un 75% de eficiencia de una Ethernet GB • 75 x 2000 = 1500 Mb/s disponibles para virtualización

Virtualización …15º Aniversario!!!

Planificación de la memoria • Requerimientos de memoria • Memoria necesaria = nº de VMs x (VM RAM + 32 MB) • 12 VMs x (1024 MB + 32 MB) = 12672 MB • 4 VMs x (2048 MB + 32 MB) = 8320 MB • Total necesario = 20992 MB or 21 GB (redondeado al alza)

• Considerar el uso actual de memoria del propio host y planificar según estas cifras

Virtualización …15º Aniversario!!!

Planificación del almacenamiento • Requerimientos • Espacio de disco en uso • Tamaño total de disco

• Cantidad de memoria de las VMs

• Cambios en el fichero de paginación • La cantidad de memoria determina el espacio que ocupan los ficheros de estado salvado • Determinar si se utilizaran discos UNDO • Requiere espacio adicional. Como mínimo el tamaño del fichero de paginación

Virtualización …15º Aniversario!!!

Planificación del almacenamiento • Sumar: • El uso de disco total de todas las VMs • La memoria asignada para calcular el tamaño total de los ficheros de Save State • El espacio necesario para los discos UNDO • Un 30% adicional para rendimiento y operaciones de desfragmentación

Virtualización …15º Aniversario!!!

Inconvenientes de la virtualización • Un único punto de fallo para todas las máquinas virtuales que corren sobre un único servidor físico • Nos fuerza a diseñar un entorno más redundante (¿inconveniente o ventaja?) • Un fallo de hardware afecta a todas las máquinas virtuales • Si nos roban el servidor anfitrión, nos roban TODOS los servidores virtuales

Virtualización …15º Aniversario!!!

Inconvenientes de la virtualización • Soluciones: • Utilización de servidores físicos con un nivel importante de redundancia (disco, memoria, hub, hba (host bus adapter), fuente de alimentación) • Replicación de los servidores físicos en una misma localización o en localizaciones distantes físicamente

Virtualización …15º Aniversario!!!

Contingencia en entornos virtuales • Una máquina virtual en el mundo real está contenida en un único fichero de datos y en otro de configuración • Con sólo tener una copia de respaldo del fichero podemos tener una segunda máquina de backup

Virtualización …15º Aniversario!!!

Contingencia en entornos virtuales • Mediante la utilización de almacenamiento compartido (SAN) podemos migrar una máquina virtual de un servidor físico a otro sin pérdida de visibilidad de la máquina por los usuarios • Podemos implementar técnicas de clustering tanto a nivel de servidores físicos como a nivel de servidores virtuales si las aplicaciones así lo requieren

Virtualización …15º Aniversario!!!

Lo más nuevo y lo próximo: VDI • VDI (Virtual Desktop Infraestructure) o virtualización del escritorio. Se invoca una ejecución remota en el servidor de una instancia Windows (o Linux) que envía la pantalla a través de la red • Los protocolos habituales para esto ICA y RDP con una frecuencia de 100 ms. eran suficientes para aplicaciones gráficas Windows

Virtualización …15º Aniversario!!!

Lo más nuevo y lo próximo: VDI • ICA y RDP no son tan eficientes para aplicaciones gráficas intensivas (el famoso Aero), 3D y para sincronizar audio y vídeo • Hay nuevas técnicas más sofisticadas como: “screen scrape”, redirección multimedia y aceleración por hardware...

Virtualización …15º Aniversario!!!

Lo más nuevo y lo próximo: VDI • Citrix usa su tecnología de display llamada “SpeedScreen” • Wyse usa su tecnología TCX • Qumranet (creadores de KVM) usan su protocolo SPICE • Hay un standard abierto propuesto de VESA llamado “Net2Display”. Sería un protocolo de display remoto como ICA, RDP, VNC, X…

Virtualización …15º Aniversario!!!

Lo más nuevo y lo próximo: libvirt y virsh • Es una librería de C para gestionar las máquinas virtuales en Linux (Qemu, KVM, Xen, VirtualBox, OpenVZ) • Proporciona un interface en línea de comandos, configuración basada en xml • Libvirt dispone de enlaces de programa para C/C ++ y Python, de manera que puede incorporarse fácilmente al conjunto de herramientas de gestión existentes

Virtualización …15º Aniversario!!!

Lo más nuevo y lo próximo: virtio • Virtio: standard Linux para drivers de disco y red http://www.linux-kvm.org/page/ WindowsGuestDrivers • Es diferente aunque parecido en arquitectura a los drivers paravirtualizados de Xen (virtio es full virtualization) • RedHat los anunció bajo GPLv2

Virtualización …15º Aniversario!!!

Lo más nuevo y lo próximo: OVF • Open Virtualization Format: es un entorno de trabajo abierto independiente de la plataforma de software de virtualización • Originalmente propuesto por VMware y XenSource con contribuciones de Dell, HP, IBM y Microsoft. Aceptado como standard DMTF del 23/03/2009

Virtualización …15º Aniversario!!!

Lo más nuevo y lo próximo: OVF • Habilita la portabilidad y el despliegue simplificado de los Appliances virtuales • Seguro, abierto, portable y eficiente • La unidad de empaquetado y distribución (ó OVF package) puede contener uno o más sistema virtuales, cada uno de los cuales puede desplegarse a una VM

Virtualización …15º Aniversario!!!

Lo más nuevo y lo próximo: Nested virtualization • Habitual en mainframes y con varios niveles de jerarquía • La CPU virtualizada incluye las extensiones de virtualización • Significa que el guest puede correr un Hipervisor • Útil para depurar y probar Hipervisores y para Hypervisores “embebidos”

Virtualización …15º Aniversario!!!

Enlaces de interés • http://www.vmware.com/interfaces/ paravirtualization.html • http://en.wikipedia.org/wiki/Paravirtualization • http://www.cl.cam.ac.uk/research/srg/netos/xen/ • http://www.linuxjournal.com/article/8540 • http://openvz.org • http://en.wikipedia.org/wiki/Hypervisor • http://www.linuxtag.org/2007/fileadmin/linuxtag/ downloads/besucher/slides/LinuxTag2007slides_OpenVZ_Fischer.pdf

Virtualización …15º Aniversario!!!

Enlaces de interés • • • • • • • •

http://en.wikipedia.org/wiki/X86_virtualization http://www.linux-kvm.org http://www.xen.org http://www.vmware.com http://www.parallels.com http://www.intel.com/technology/virtualization/ http://www.amd.com/virtualization http://en.wikipedia.org/wiki/Power_Architecture

Virtualización …15º Aniversario!!!

IÑIGO LOSADA Director de Comunicaciones y Sistemas [email protected]

Ibe/X Servicios Informáticos, S.L. http://www.ibex.es

(….15º Aniversario!!!)