¿Qué es la virtualización?

• Es la combinación de hardware y software que permite a una única
máquina comportarse como si fueran varias máquinas.
HYPERVISOR
• El hipervisor permite la virtualización 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 físico y el sistema operativo.
HYPERVISOR(2)
• Los hipervisores pueden adoptar una
arquitectura de micronúcleo.
• También pueden tener una arquitectura
monolítica
HYPERVISOR(3)
• Un hipervisor de micronúcleo solo incluye las
funciones básicas e inmutables como
memoria física y la programación de los
procesadores.
• Los controladores (Drivers) de los dispositivos
y los otros componentes mutables se
encuentran fuera del hipervisor.
HYPERVISOR(4)
• Los hipervisores monolíticos implementan
todas las funciones mencionadas, adicional los
controladores de los dispositivos.

• Es capaz de convertir los dispositivos físicos en
recursos virtuales disponibles para el uso de
las máquinas virtuales.
Tipos de virtualización
• Emulación

• Virtualización completa

• Paravirtualización
Emulación
• Una capa de virtualización 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 virtualización.
• En Linux existen varios emuladores pero los
mas conocidos son: qemu, Bochs, VirtualBox y
Virtuozzo
Virtualización Completa.
• En la virtualización completa, las instrucciones
que no son críticas se ejecutan directamente
en el hardware

• Mientras que las instrucciones críticas se
descubren y reemplazan con intercepciones
en el VMM para emularlas en software.
Virtualización Completa(2)
• Hay que tener en cuenta también que la
virtualización completa no se refiere a todo el
conjunto de hardware disponible en un
equipo, sino a sus componentes principales,
básicamente el procesador y memoria.
• Existen herramientas para poder hacer una
virtualización completa XEN, KVM, Local
Domains y VMWARE.
Paravirtualización
• La paravirtualización tiene que modificar el
sistema operativo invitado.
• Una máquina virtual paravirtualizada
proporciona APIs especiales que requieren de
modificaciones considerables en las
aplicaciones de usuario.
• La degradación del rendimiento es un
problema fundamental de los sistemas
virtualizados.
KVM Y OPENVZ
• KVM solucion muy estable de virtualizacion
Opensource

• OpenVz es virtualizacion y no es virtualizacion,
veremos mas adelante que es.
KVM
• KVM, el sistema oficial de virtualización
del kernel de Linux.
• Es un módulo 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 estándar del kernel
• Sistema de virtualización oficial de RHEL
KVM(1)
• KVM, basado en Qemu (emulación)
pero modificado para virtualización
• Necesidad de soporte en el procesador instruc
ciones Intel-VT, AMD-V
• Al cargarse el módulo KVM, se convierte en un
hypervisor “bare-metal”
• Soporte de drivers paravirtualizados para mejo
rar el rendimiento
KVM Sistemas Operativos
• Soporta como sistemas operativos invitados:
•
•
•
•
•

Linux
Windows
OpenBSD
FreeBSD
Solaris
OpenVZ
OpenVZ
• OpenVZ es una tecnología de virtualización en
el nivel de sistema operativo para Linux.
• OpenVZ permite que un servidor físico ejecute
múltiples instancias de sistemas operativos
aislados, conocidos como Servidores Privados
Virtuales (SPV o VPS en inglés) o Entornos
Virtuales (EV).
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 elección del
sistema operativo, tanto los huéspedes como
los anfitriones deben ser Linux aunque las
distribuciones de GNU/Linux pueden ser
diferentes en diferentes Evs.
Openvz
• OpenVZ es capaz de crear máquinas 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.
OpenVZ Ejemplo de Poder
Power Example
• Las medidas fueron hechas en una máquina
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
páginas estáticas, que fueron transmitidas por
http_load, y se midió el primer tiempo de
respuesta.
Power Example
• Como se puede ver, según el número de EV crece,
el tiempo de respuesta se hace más alto a causa
de la disminución 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.
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
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.
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%
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.
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
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
Resultados OpenVZ
• Consolidation Stack Unit

• Basado en transactions/sec for Db,
requests/sec for Web and java operations/sec
for Java.
PROXMOX
Proxmox Virtual Environment
• es un proyecto de código abierto, desarrollado
y mantenido por Proxmox Server Solutions.
• completa plataforma de virtualización basada
en sistemas de código abierto que permite la
virtualización tanto sobre OpenVZ como KVM.
Proxmox Virtual Environment
• Es una distribución bare-metal, basada en
Debian con solo los servicios básicos para de
esta forma obtener un mejor rendimiento.
• una interfaz gráfica muy sencilla.
• Permite la migración en vivo de maquinas
virtuales, clustering de servidores, backups
automáticos y conexión a un NAS/SAN con
NFS, iSCSI, etc…
Proxmox
• Creacion de una maquina virtual en KVM
utilizando Proxmox.
Video
Proxmox
• Creacion de un entorno virtual Utilizando
OpenVZ
Contactos
Alfio Munoz
amunoz@alteknativa.com
Twitter: alfiomunoz
Skype: alfiomunoz
Facebook: alfiomunoz
Preguntas

Virtualización Avanzada con Elastix

  • 2.
    ¿Qué es lavirtualización? • Es la combinación de hardware y software que permite a una única máquina comportarse como si fueran varias máquinas.
  • 5.
    HYPERVISOR • El hipervisorpermite la virtualización 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 físico y el sistema operativo.
  • 6.
    HYPERVISOR(2) • Los hipervisorespueden adoptar una arquitectura de micronúcleo. • También pueden tener una arquitectura monolítica
  • 7.
    HYPERVISOR(3) • Un hipervisorde micronúcleo solo incluye las funciones básicas e inmutables como memoria física y la programación de los procesadores. • Los controladores (Drivers) de los dispositivos y los otros componentes mutables se encuentran fuera del hipervisor.
  • 8.
    HYPERVISOR(4) • Los hipervisoresmonolíticos implementan todas las funciones mencionadas, adicional los controladores de los dispositivos. • Es capaz de convertir los dispositivos físicos en recursos virtuales disponibles para el uso de las máquinas virtuales.
  • 10.
    Tipos de virtualización •Emulación • Virtualización completa • Paravirtualización
  • 11.
    Emulación • Una capade virtualización 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 virtualización. • En Linux existen varios emuladores pero los mas conocidos son: qemu, Bochs, VirtualBox y Virtuozzo
  • 13.
    Virtualización Completa. • Enla virtualización completa, las instrucciones que no son críticas se ejecutan directamente en el hardware • Mientras que las instrucciones críticas se descubren y reemplazan con intercepciones en el VMM para emularlas en software.
  • 14.
    Virtualización Completa(2) • Hayque tener en cuenta también que la virtualización completa no se refiere a todo el conjunto de hardware disponible en un equipo, sino a sus componentes principales, básicamente el procesador y memoria. • Existen herramientas para poder hacer una virtualización completa XEN, KVM, Local Domains y VMWARE.
  • 15.
    Paravirtualización • La paravirtualizacióntiene que modificar el sistema operativo invitado. • Una máquina virtual paravirtualizada proporciona APIs especiales que requieren de modificaciones considerables en las aplicaciones de usuario. • La degradación del rendimiento es un problema fundamental de los sistemas virtualizados.
  • 16.
    KVM Y OPENVZ •KVM solucion muy estable de virtualizacion Opensource • OpenVz es virtualizacion y no es virtualizacion, veremos mas adelante que es.
  • 18.
    KVM • KVM, elsistema oficial de virtualización del kernel de Linux. • Es un módulo 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 estándar del kernel • Sistema de virtualización oficial de RHEL
  • 20.
    KVM(1) • KVM, basadoen Qemu (emulación) pero modificado para virtualización • Necesidad de soporte en el procesador instruc ciones Intel-VT, AMD-V • Al cargarse el módulo KVM, se convierte en un hypervisor “bare-metal” • Soporte de drivers paravirtualizados para mejo rar el rendimiento
  • 22.
    KVM Sistemas Operativos •Soporta como sistemas operativos invitados: • • • • • Linux Windows OpenBSD FreeBSD Solaris
  • 23.
  • 24.
    OpenVZ • OpenVZ esuna tecnología de virtualización en el nivel de sistema operativo para Linux. • OpenVZ permite que un servidor físico ejecute múltiples instancias de sistemas operativos aislados, conocidos como Servidores Privados Virtuales (SPV o VPS en inglés) o Entornos Virtuales (EV).
  • 25.
    OpenVZ • OpenVZ escapaz de alojar cientos de Entornos Virtuales en hardware decente (las principales limitaciones son RAM y CPU). • Ofrece menor flexibilidad en la elección del sistema operativo, tanto los huéspedes como los anfitriones deben ser Linux aunque las distribuciones de GNU/Linux pueden ser diferentes en diferentes Evs.
  • 26.
    Openvz • OpenVZ escapaz de crear máquinas 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.
  • 27.
  • 28.
    Power Example • Lasmedidas fueron hechas en una máquina 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 páginas estáticas, que fueron transmitidas por http_load, y se midió el primer tiempo de respuesta.
  • 30.
    Power Example • Comose puede ver, según el número de EV crece, el tiempo de respuesta se hace más alto a causa de la disminución 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.
  • 31.
    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
  • 32.
    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.
  • 33.
    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%
  • 34.
    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.
  • 35.
    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
  • 36.
    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
  • 39.
    Resultados OpenVZ • ConsolidationStack Unit • Basado en transactions/sec for Db, requests/sec for Web and java operations/sec for Java.
  • 40.
  • 41.
    Proxmox Virtual Environment •es un proyecto de código abierto, desarrollado y mantenido por Proxmox Server Solutions. • completa plataforma de virtualización basada en sistemas de código abierto que permite la virtualización tanto sobre OpenVZ como KVM.
  • 42.
    Proxmox Virtual Environment •Es una distribución bare-metal, basada en Debian con solo los servicios básicos para de esta forma obtener un mejor rendimiento. • una interfaz gráfica muy sencilla. • Permite la migración en vivo de maquinas virtuales, clustering de servidores, backups automáticos y conexión a un NAS/SAN con NFS, iSCSI, etc…
  • 44.
    Proxmox • Creacion deuna maquina virtual en KVM utilizando Proxmox.
  • 45.
  • 46.
    Proxmox • Creacion deun entorno virtual Utilizando OpenVZ
  • 49.
  • 50.