Virtualización Avanzada con Elastix

50

description

ElastixWorld 2013 - Taller Expositor: Alfio Muñoz Alteknativa Descripción Un taller práctico de cómo utilizar técnicas avanzadas de virtualización con software libre. En el taller se mostrará como tener un Elastix operacional en 5 segundos luego de encendido, como crear diferentes plantillas para diferentes escenarios y tener alta disponibilidad para maquinas virtuales.

Transcript of Virtualización Avanzada con Elastix

  • 1. Qu es la virtualizacin? Es la combinacin de hardware y software que permite a una nica mquina comportarse como si fueran varias mquinas.

2. HYPERVISOR El hipervisor permite la virtualizacin en el nivel de hardware en dispositivos sin sistema operativo, como: CPU, memoria e interfaces de red. El software del hipervisor se ubica directamente entre el hardware fsico y el sistema operativo. 3. HYPERVISOR(2) Los hipervisores pueden adoptar una arquitectura de microncleo. Tambin pueden tener una arquitectura monoltica 4. HYPERVISOR(3) Un hipervisor de microncleo solo incluye las funciones bsicas e inmutables como memoria fsica y la programacin de los procesadores. Los controladores (Drivers) de los dispositivos y los otros componentes mutables se encuentran fuera del hipervisor. 5. HYPERVISOR(4) Los hipervisores monolticos implementan todas las funciones mencionadas, adicional los controladores de los dispositivos. Es capaz de convertir los dispositivos fsicos en recursos virtuales disponibles para el uso de las mquinas virtuales. 6. Tipos de virtualizacin Emulacin Virtualizacin completa Paravirtualizacin 7. Emulacin Una capa de virtualizacin encima del sistema operativo host. Este sistema operativo host es responsable de administrar el hardware. Los sistemas operativos invitados se instalan encima del nivel de virtualizacin. En Linux existen varios emuladores pero los mas conocidos son: qemu, Bochs, VirtualBox y Virtuozzo 8. Virtualizacin Completa. En la virtualizacin completa, las instrucciones que no son crticas se ejecutan directamente en el hardware Mientras que las instrucciones crticas se descubren y reemplazan con intercepciones en el VMM para emularlas en software. 9. Virtualizacin Completa(2) Hay que tener en cuenta tambin que la virtualizacin completa no se refiere a todo el conjunto de hardware disponible en un equipo, sino a sus componentes principales, bsicamente el procesador y memoria. Existen herramientas para poder hacer una virtualizacin completa XEN, KVM, Local Domains y VMWARE. 10. Paravirtualizacin La paravirtualizacin tiene que modificar el sistema operativo invitado. Una mquina virtual paravirtualizada proporciona APIs especiales que requieren de modificaciones considerables en las aplicaciones de usuario. La degradacin del rendimiento es un problema fundamental de los sistemas virtualizados. 11. KVM Y OPENVZ KVM solucion muy estable de virtualizacion Opensource OpenVz es virtualizacion y no es virtualizacion, veremos mas adelante que es. 12. KVM KVM, el sistema oficial de virtualizacin del kernel de Linux. Es un mdulo del kernel que convierte el SO Linux en un hypervisor. Se ha portado a FreeBSD. Creado por Quramnet -comprado por RH en 2008 Soporta x86 (32 y 64 bits), S/390, PowerPC, IA-64 y ARM en proceso Utiliza el API estndar del kernel Sistema de virtualizacin oficial de RHEL 13. KVM(1) KVM, basado en Qemu (emulacin) pero modificado para virtualizacin Necesidad de soporte en el procesador instruc ciones Intel-VT, AMD-V Al cargarse el mdulo KVM, se convierte en un hypervisor bare-metal Soporte de drivers paravirtualizados para mejo rar el rendimiento 14. KVM Sistemas Operativos Soporta como sistemas operativos invitados: Linux Windows OpenBSD FreeBSD Solaris 15. OpenVZ 16. OpenVZ OpenVZ es una tecnologa de virtualizacin en el nivel de sistema operativo para Linux. OpenVZ permite que un servidor fsico ejecute mltiples instancias de sistemas operativos aislados, conocidos como Servidores Privados Virtuales (SPV o VPS en ingls) o Entornos Virtuales (EV). 17. OpenVZ OpenVZ es capaz de alojar cientos de Entornos Virtuales en hardware decente (las principales limitaciones son RAM y CPU). Ofrece menor flexibilidad en la eleccin del sistema operativo, tanto los huspedes como los anfitriones deben ser Linux aunque las distribuciones de GNU/Linux pueden ser diferentes en diferentes Evs. 18. Openvz OpenVZ es capaz de crear mquinas virtuales en menos de un minuto. Luego de creadas, pueden estar 100% funcional en 5 Segs o menos (encendido y apagado) No se puede instalar con CDs o con ISO los guest, se utilizan plantillas ya creadas. 19. OpenVZ Ejemplo de Poder 20. Power Example Las medidas fueron hechas en una mquina con 768 MiB ( GiB) de RAM; cada EV estaba ejecutando el conjunto usual de procesos: init, syslogd, crond, sshd y Apache. Los daemons de apache estaban sirviendo pginas estticas, que fueron transmitidas por http_load, y se midi el primer tiempo de respuesta. 21. Power Example Como se puede ver, segn el nmero de EV crece, el tiempo de respuesta se hace ms alto a causa de la disminucin de la memoria RAM y el excesivo swappeo. En este escenario es posible ejecutar hasta 120 EVs en GiB de RAM. Esto se extrapola linealmente, de manera que es posible ejecutar hasta aproximadamente 320 EVs en un equipo con 2 GiB de RAM. 22. Elastix virtualization OpenVZ or VMWare or KVM? VMWare and KVM Los dos proveen una virtualizacion completa lo cual es una capa entre el Hardware y el VPS que esto emula el hardware y provee a la maquina virtual acceso a el. El sistema operativo invitado no sabe que esta corriendo en un VPS 23. Elastix virtualization OpenVZ or VMWare or KVM?(1) Esta segregacion es buena pero agrega una capa entre el VPS y el Hardware de capa inferior. Esto en la mayoria de los casos puede agregar problemas con el Timing lo que es algo critico en Elastix. 24. Elastix virtualization OpenVZ or VMWare or KVM?(2) OpenVZ utiliza una virtualizacion tipo sistema operativo en donde todo el hardware del equipo corre en un kernel compartido para todos los VPS. El rendimiento de OpenVZ en comparacion con las demas soluciones comerciales va desde un 20% a un 25% 25. OPENVZ Benchmark Description vConsolidate benchmark fue desarrollado por Intel en cooperacion con otros vendedores. Corre separadamente cargas de trabajo con Java (SPECjbb test), Mail, Web and Database VMs running concurrently. Cada grupo de esas VMs es llamado CSU Consolidation Stack Unit. 26. Hardware utilizado Hardware: Server: 4xHexCore Intel Xeon (2.66 GHz), 64 GB RAM, HP MSA1500 SAN Storage, 8 SATA (7200 RPM) Disks in RAID0 Client: 4xHexCore Intel Xeon (2.136 GHz), 32 GB RAM Network: 10 Gbit direct server Platform: Virtualization Software:ESXi4.1upd1, XenServer5.6fp1, HyperV (R2), OpenVZ (RH5) 2.6.18-028stab085.3 Guest OS: Centos 5.5 x86_64 27. Software and Tunings Each VM/CT was configured with 1 vCPU, 1 GB RAM Custom vConsolidate profile was used: 4 load threads for Java workload, 4 load threads for Db workload and 8 threads for Web workload (standard settings). Firewall was turned off All other settings were left as defaults 28. Resultados OpenVZ Consolidation Stack Unit Basado en transactions/sec for Db, requests/sec for Web and java operations/sec for Java. 29. PROXMOX 30. Proxmox Virtual Environment es un proyecto de cdigo abierto, desarrollado y mantenido por Proxmox Server Solutions. completa plataforma de virtualizacin basada en sistemas de cdigo abierto que permite la virtualizacin tanto sobre OpenVZ como KVM. 31. Proxmox Virtual Environment Es una distribucin bare-metal, basada en Debian con solo los servicios bsicos para de esta forma obtener un mejor rendimiento. una interfaz grfica muy sencilla. Permite la migracin en vivo de maquinas virtuales, clustering de servidores, backups automticos y conexin a un NAS/SAN con NFS, iSCSI, etc 32. Proxmox Creacion de una maquina virtual en KVM utilizando Proxmox. 33. Video 34. Proxmox Creacion de un entorno virtual Utilizando OpenVZ 35. Contactos Alfio Munoz [email protected] Twitter: alfiomunoz Skype: alfiomunoz Facebook: alfiomunoz 36. Preguntas