You are on page 1of 66

Virtualizacin

15 Aniversario!!!

Virtualizacin
Donosti, Jueves 1 de octubre 2009
IIGO LOSADA Director de Comunicaciones y Sistemas ilosada@ibex.es

Virtualizacin
15 Aniversario!!!

Introduccin
La virtualizacin es una tecnologa que
fue desarrollada por IBM en los aos 60. El primer ordenador diseado especficamente para virtualizacin fue el mainframe IBM S/360 Modelo 67 (1972) es una familia de sistemas operativos usados en el System/370, System/390, zSeries y System z9 en mainframes

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

Virtualizacin
15 Aniversario!!!

Introduccin
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 virtualizacin es un trmino que se refiere a la abstraccin de los recursos de un ordenador llamado Hypervisor o VMM (Virtual Machine Monitor)

Virtualizacin
15 Aniversario!!!

Introduccin
El VMM crea una capa de la abstraccin entre el hardware de la mquina fsica (host) y el sistema operativo de la mquina virtual (virtual machine, guest) El VMM maneja los recursos de las mquinas fsicas de manera que el usuario pueda crear varias mquinas virtuales presentando a cada una de ellas una interfaz del hardware que sea compatible con el sistema operativo elegido

Virtualizacin
15 Aniversario!!!

Introduccin
Cada VM (mquina virtual) trabaja de manera separada en un espacio de usuario con su propio esquema de direccionamiento, dispositivos virtuales, etc La mquina virtual generalmente es un sistema operativo completo que corre como si estuviera instalado en una plataforma de hardware autnoma

Virtualizacin
15 Aniversario!!!

Formas de virtualizar
Emulacin del hardware Virtualizacin del hardware (nativa o total) Paravirtualizacin Virtualizacin a nivel de Sistema Operativo

Virtualizacin
15 Aniversario!!!

Emulacin 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)

Virtualizacin
15 Aniversario!!!

Emulacin de hardware
Ventajas:
El S.O. invitado no necesita ser modificado (se puede emular una CPU x86 en una mquina PowerPC o al revs)

Inconvenientes:
Prdida de prestaciones importante al emular las instrucciones de hardware de la CPU emulada a la CPU nativa

Virtualizacin
15 Aniversario!!!

Virtualizacin 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

Virtualizacin
15 Aniversario!!!

Virtualizacin de hardware (total o nativa)


Ventajas:
El S.O. invitado (guest) no necesita modificarse Mejores prestaciones que con la emulacin 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 emulacin del hardware

Virtualizacin
15 Aniversario!!!

Paravirtualizacin
Es una tcnica de virtualizacin que consiste en crear un interface de software a las mquinas virtuales

Virtualizacin
15 Aniversario!!!

Paravirtualizacin
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 mquina virtual

Virtualizacin
15 Aniversario!!!

Paravirtualizacin
Productos:
Xen 3

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

Virtualizacin
15 Aniversario!!!

Paravirtualizacin
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

Virtualizacin
15 Aniversario!!!

Paravirtualizacin: paravirt-ops
Es un entorno de trabajo (Framework) En Linux est en el kernel desde la versin 2.6.20 Es una paravirtualizacin transparente de plataforma-cruzada Interface abierto soportado por IBM, Red Hat, VMware y Xensource Soportado por VMware Workstation 6

Virtualizacin
15 Aniversario!!!

Paravirtualizacin: paravirt-ops
Incorpora muchos de los conceptos de VMI incluyendo el soporte de paravirtualizacin 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 distribucin Linux en soportar paravirt-ops

Virtualizacin
15 Aniversario!!!

Hypervisor
El corazn de la virtualizacin es un programa de control o hypervisor que funciona en la mquina fsica 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

Virtualizacin
15 Aniversario!!!

Hypervisor
El software hypervisor es quien controla algunas cosas como las siguientes:
Planificacin del tiempo de la CPU Localizacin de la memoria fsica y proteccin y separacin entre las mquinas virtuales Control de interrupciones Paso de mensajes y comunicacin entre las mquinas virtuales

Virtualizacin
15 Aniversario!!!

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

Virtualizacin
15 Aniversario!!!

Hypervisor
Los hypervisores se pueden clasificar de dos tipos:
Hypervisor tipo 1: Tambin 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: Tambin denominado hosted. Es software que se ejecuta sobre un sistema operativo para ofrecer la funcionalidad descrita

Virtualizacin
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

Virtualizacin
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

Virtualizacin
15 Aniversario!!!

Virtualizacin a nivel de S.O.


No hay emulacin Hay un nico kernel para el S.O. anfitrin (host) y el S.O. invitado (guest) Productos: OpenVZ/Virtuozzo Jaulas de FreeBSD Solaris Containers Parallels Virtuozzo Containers

Virtualizacin
15 Aniversario!!!

Virtualizacin a nivel de S.O.


El kernel permite a mltiples 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 tecnologa podra verse como una extensin avanzada del mecanismo chroot

Virtualizacin
15 Aniversario!!!

Virtualizacin a nivel de S.O.

Virtualizacin
15 Aniversario!!!

Virtualizacin a nivel de S.O.

Virtualizacin
15 Aniversario!!!

Virtualizacin a nivel de S.O.


Ventajas: Muy buenas prestaciones ya que no hay emulacin y los programas en la particin virtual usan las llamadas al sistema normales Arranque muy rpido de los S.O. invitados Alta densidad de S.O. invitados

Virtualizacin
15 Aniversario!!!

Virtualizacin a nivel de S.O.


Inconvenientes: El S.O. anfitrin 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

Virtualizacin
15 Aniversario!!!

Virtualizacin a nivel de S.O. vs Hypervisor

Virtualizacin
15 Aniversario!!!

Tecnologas de virtualizacin 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 lnea de servidores BladeSymphony Sun Microsystems UltraSPARC T1 hypervisor

Virtualizacin
15 Aniversario!!!

El entorno ideal: mxima flexibilidad

Virtualizacin
15 Aniversario!!!

El entorno ideal: mxima flexibilidad


Datacenter flexible: Transparencia en el uso de recursos. Uso eficiente de recursos hardware y software

Virtualizacin
15 Aniversario!!!

El entorno ideal: mxima flexibilidad


Datacenter flexible: Transparencia en el uso de recursos. Uso eficiente de recursos hardware y software

POOL DE RECURSOS Disco, CPU, memoria, red

Virtualizacin
15 Aniversario!!!

Escenarios de virtualizacin
Consolidacin de Servidores Continuidad del negocio

Pruebas y desarrollo

Delegaciones Remotas

Virtualizacin
15 Aniversario!!!

Por qu utilizar la virtualizacin


Para consolidar servidores y almacenamiento Gestionar mejor los recursos informticos Flexibilizar los recursos fsicos Reducir costes Aumentar el aprovechamiento de los recursos Facilitar migraciones y recuperacin ante desastres Implantar alta disponibilidad

Virtualizacin
15 Aniversario!!!

Por qu utilizar la virtualizacin


Simplificar la infraestructura Desplegar aplicaciones ms rpidamente Independizar el S.O. (con aplicaciones y datos) del hardware.El mundo del PC es demasiado dinmico (incluso catico) Facilitar la gestin de los administradores de sistemas Plan de contingencia ms sencillo Nos obliga a crear una estructura redundante desde el inicio del proyecto

Virtualizacin
15 Aniversario!!!

Por qu utilizar la virtualizacin


Procedimiento de marcha atrs ante cambios de soft, parches, actualizaciones Antes de hacer cualquier cambio en los el sistema, podemos hacer fotos o snapshots para poder volver atrs 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

Virtualizacin
15 Aniversario!!!

Por qu utilizar la virtualizacin


Reducir espacio fsico ocupado Reducir el calor generado Reducir el consumo de electricidad Reducir el consumo de aire acondicionado Disminuir el nmero de servidores Crear entornos independientes de desarrollo Implementar nuevas aplicaciones sin parar produccin

Virtualizacin
15 Aniversario!!!

Por qu utilizar la virtualizacin


Migracin P2V: de fsico 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 anfitrin. El S.O. anfitrin puede detectar acciones sospechosas o peligrosas en la VM

Virtualizacin
15 Aniversario!!!

Consolidar servidores
Esto permite que servicios que normalmente se tengan que ejecutar en ordenadores distintos, se puedan ejecutar en la misma mquina de manera completamente aislada y compartiendo los recursos de un nico ordenador. La consolidacin de servidores a menudo contribuye a reducir el coste total de las instalaciones necesarias para mantener los servicios, dado que permiten ahorrar en hardware

Virtualizacin
15 Aniversario!!!

Recomendaciones para el host


Hosts x64 versus x86
Los hosts x64 tienen mejor gestin de memoria Los hosts x64 son ms rpidos para ciertas operaciones Solo VMs de 32-bits soportadas en algn software

Intel VT/ AMD V


Mejora el rendimiento de la instalacin Mejora el rendimiento de las VM

Virtualizacin
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

Virtualizacin
15 Aniversario!!!

Recomendaciones para el host


Almacenamiento
Separar el S.O. en un particin diferente Utilizar los discos ms rpidos 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 tamao fijo.

Virtualizacin
15 Aniversario!!!

Recomendaciones para el host


Red
Usar mltiples NIC Gigabit Dedicar una NIC al Host Dedicar NICs a VMs Planificar las redes virtuales, estandarizando sus nombres en todos los servidores de Virtualizacin Dedicar una NIC al host

Virtualizacin
15 Aniversario!!!

Planificacin de la CPU
Procesador:
Requerimientos de CPU = n de CPUs x velocidad de CPU x Utilizacin de CPU 2 procesadores x 2000 MHz x 10% uso= ~400 Mhz Tener en cuenta los picos

Virtualizacin
15 Aniversario!!!

Planificacin de la CPU
Clculo 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 mquinas virtuales

Virtualizacin
15 Aniversario!!!

Planificacin de la red
Requerimientos de ancho de banda:
Ancho de Banda = nmero de VMs x velocidad de la NIC x utilizacin 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

Virtualizacin
15 Aniversario!!!

Planificacin de la red
Clculo 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 virtualizacin

Virtualizacin
15 Aniversario!!!

Planificacin 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 segn estas cifras

Virtualizacin
15 Aniversario!!!

Planificacin del almacenamiento


Requerimientos
Espacio de disco en uso Tamao total de disco

Cantidad de memoria de las VMs

Cambios en el fichero de paginacin La cantidad de memoria determina el espacio que ocupan los ficheros de estado salvado Determinar si se utilizaran discos UNDO Requiere espacio adicional. Como mnimo el tamao del fichero de paginacin

Virtualizacin
15 Aniversario!!!

Planificacin del almacenamiento


Sumar:
El uso de disco total de todas las VMs La memoria asignada para calcular el tamao total de los ficheros de Save State El espacio necesario para los discos UNDO Un 30% adicional para rendimiento y operaciones de desfragmentacin

Virtualizacin
15 Aniversario!!!

Inconvenientes de la virtualizacin
Un nico punto de fallo para todas las mquinas virtuales que corren sobre un nico servidor fsico Nos fuerza a disear un entorno ms redundante (inconveniente o ventaja?) Un fallo de hardware afecta a todas las mquinas virtuales Si nos roban el servidor anfitrin, nos roban TODOS los servidores virtuales

Virtualizacin
15 Aniversario!!!

Inconvenientes de la virtualizacin
Soluciones: Utilizacin de servidores fsicos con un nivel importante de redundancia (disco, memoria, hub, hba (host bus adapter), fuente de alimentacin) Replicacin de los servidores fsicos en una misma localizacin o en localizaciones distantes fsicamente

Virtualizacin
15 Aniversario!!!

Contingencia en entornos virtuales


Una mquina virtual en el mundo real est contenida en un nico fichero de datos y en otro de configuracin Con slo tener una copia de respaldo del fichero podemos tener una segunda mquina de backup

Virtualizacin
15 Aniversario!!!

Contingencia en entornos virtuales


Mediante la utilizacin de almacenamiento compartido (SAN) podemos migrar una mquina virtual de un servidor fsico a otro sin prdida de visibilidad de la mquina por los usuarios Podemos implementar tcnicas de clustering tanto a nivel de servidores fsicos como a nivel de servidores virtuales si las aplicaciones as lo requieren

Virtualizacin
15 Aniversario!!!

Lo ms nuevo y lo prximo: VDI


VDI (Virtual Desktop Infraestructure) o virtualizacin del escritorio. Se invoca una ejecucin remota en el servidor de una instancia Windows (o Linux) que enva la pantalla a travs de la red Los protocolos habituales para esto ICA y RDP con una frecuencia de 100 ms. eran suficientes para aplicaciones grficas Windows

Virtualizacin
15 Aniversario!!!

Lo ms nuevo y lo prximo: VDI


ICA y RDP no son tan eficientes para aplicaciones grficas intensivas (el famoso Aero), 3D y para sincronizar audio y vdeo Hay nuevas tcnicas ms sofisticadas como: screen scrape, redireccin multimedia y aceleracin por hardware...

Virtualizacin
15 Aniversario!!!

Lo ms nuevo y lo prximo: VDI


Citrix usa su tecnologa de display llamada SpeedScreen Wyse usa su tecnologa TCX Qumranet (creadores de KVM) usan su protocolo SPICE Hay un standard abierto propuesto de VESA llamado Net2Display. Sera un protocolo de display remoto como ICA, RDP, VNC, X

Virtualizacin
15 Aniversario!!!

Lo ms nuevo y lo prximo: libvirt y virsh


Es una librera de C para gestionar las mquinas virtuales en Linux (Qemu, KVM, Xen, VirtualBox, OpenVZ) Proporciona un interface en lnea de comandos, configuracin basada en xml Libvirt dispone de enlaces de programa para C/C ++ y Python, de manera que puede incorporarse fcilmente al conjunto de herramientas de gestin existentes

Virtualizacin
15 Aniversario!!!

Lo ms nuevo y lo prximo: 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

Virtualizacin
15 Aniversario!!!

Lo ms nuevo y lo prximo: OVF


Open Virtualization Format: es un entorno de trabajo abierto independiente de la plataforma de software de virtualizacin Originalmente propuesto por VMware y XenSource con contribuciones de Dell, HP, IBM y Microsoft. Aceptado como standard DMTF del 23/03/2009

Virtualizacin
15 Aniversario!!!

Lo ms nuevo y lo prximo: OVF


Habilita la portabilidad y el despliegue simplificado de los Appliances virtuales Seguro, abierto, portable y eficiente La unidad de empaquetado y distribucin ( OVF package) puede contener uno o ms sistema virtuales, cada uno de los cuales puede desplegarse a una VM

Virtualizacin
15 Aniversario!!!

Lo ms nuevo y lo prximo: Nested virtualization


Habitual en mainframes y con varios niveles de jerarqua La CPU virtualizada incluye las extensiones de virtualizacin Significa que el guest puede correr un Hipervisor til para depurar y probar Hipervisores y para Hypervisores embebidos

Virtualizacin
15 Aniversario!!!

Enlaces de inters
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

Virtualizacin
15 Aniversario!!!

Enlaces de inters
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

Virtualizacin
15 Aniversario!!!

IIGO LOSADA Director de Comunicaciones y Sistemas ilosada@ibex.es

Ibe/X Servicios Informticos, S.L.


http://www.ibex.es
(.15 Aniversario!!!)

You might also like