PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
Unitec virtualización
1. Si un sueño se siente
real, entonces ¿cómo
se siente un sueño
después de que crees
que te has
despertado del
sueño? ¿Y si sigue
pasando?
VIRTUALIZACIÓN
Egdares Futch H.
Agosto 2013
2.
3. ¿Qué es Virtualización?
• Real vs. Virtual
– Cuentan con una esencia o efecto similar
– “Formalmente” son diferentes
• Es un marco de referencia (idea/concepto) que combina o
divide recursos para presentar una vista transparente de
uno o más
– Particionamiento de hardware/software
– Simulación parcial o completa de una máquina
– Emulación (igual, parcial o completa)
– Tiempo compartido (cualquier tipo de compartir)
• En general, puede ser cualquier mapeo de M-a-N (M
recursos “reales”, N recursos “virtuales”)
4. Mapeos
• 1 -> N
– Multitasking
• M -> 1
– Grid Computing, Clustering
• M -> N
– Máquinas virtuales
5. No es un concepto nuevo
• Concepto con más
de 40 años
– IBM 7044
• Compatible Time
Sharing System
(CTSS)
– M.I.T. – Atlas
Proyect
6. • Popek y Goldberg establecieron
en 1974 los requerimientos para
una arquitectura virtualizable
7. Requerimientos para una arquitectura
virtualizable – Popek & Goldberg
• Equivalencia/Fidelidad
– Un proceso corriendo bajo un Administrador de Máquina Virtual
(VMM) debe mostrar comportamiento idéntico a cuando se
ejecuta directamente en una máquina equivalente
• Control de recursos/Seguridad
– El Administrador de Máquina virtual (VMM) debe estar en
control completo de los recursos virtualizados
• Eficiencia/Desempeño
– Una gran proporción de instrucciones de máquina deben ser
ejecutadas sin intervención del Administrador de Máquina
Virtual (VMM)
8. ¿Para qué podemos usar
virtualización?
• Consolidación de servidores
• Consolidación de aplicaciones/reducción de
licenciamiento
• Hardware virtual
• Debugging
• Máquinas de propósito dedicado (Appliances)
• Pruebas/Aseguramiento de Calidad
• Recuperación de desastres
11. Técnicas de virtualización en hardware
• Arquitectura del Conjunto de Instrucciones (Instruction Set
Architecture)
– Emular el ISA en software
• Interpretar, traducir al ISA anfitrión (si se requiere)
• Dispositivos implementados en software
• Generalmente es ineficiente
• Ejemplo: SPIM, el emulador de MIPS32
• Capa de abstracción de hardware (Hardware Abstraction
Layer – HAL)
– Entre “máquina real” y “emulador”
– Maneja arquitecturas no virtualizables (validar, insertar código)
12. Ejemplos de virtualización de conjunto
de instrucciones
• Traducción binaria a
espacios de
hardware
• Procesador Crusoe
(Trasmeta)
– Tecnología Code
Morphing
interpretaba diversos
conjuntos de
instrucciones
14. Bochs
• Simulador de x86 (386,
486, Pentium, PPro)
• Corre sobre x86,
PowerPC, Alpha, SPARC y
MIPS
• Corre Linux, MS
Windows, BSD, FreeBSD,
OpenBSD, etc.
15. Qemu
• Emulación completa
(semejante a Bochs)
• Emula diferentes
arquitecturas x86, x86_64,
ARM, SPARC, PowerPC y
MIPS
• Emula múltiples
procesadores
• Emulación en modo
usuario (solo en Linux)
16. No sólo plataformas x86
• IBM Logical Partitioning (LPAR)
– Sistemas pSeries (Power Architecture)
– Feature interesante: Microparticionamiento
19. Virtualización completa
• Un sistema hipervisor
administra el metal
• No es necesario correr
un OS modificado
• Mejor desempeño que
emulación de hardware
• Mediación consume
recursos
• El OS debe soportar
hardware real
20. Xen
• Desarrollado en la
Universidad de
Cambridge
• Corre Linux, NetBSD,
FreeBSD, Plan9,
Netware y Windows
• Virtualización
completa con Intel VT
o con AMD Pacífica
• Permite migración de
máquinas virtuales
21. Virtualización dentro del OS
• Crea máquinas
virtuales dentro del
mismo OS
• Cada máquina virtual
corre mismo SO
• Aisla una máquina de
otra
• Se comparten los
recursos de hardware
22. Virtualización en móviles
• Máquina virtual Dalvik
– Provee el entorno en el
cual todas las aplicaciones
Android corren
– Cada aplicación Android
corre dentro de su propio
proceso, con su propia
instancia de Dalvik
– Dalvik fue diseñado para
correr en múltiples
instancias de forma
eficiente
23. Caso de Implementación en una
empresa en Honduras
• Antes: servidores multiuso
– Un solo equipo era servidor de base de datos,
DNS, impresión, etc.
• Luego evolucionó a tener un servidor para
cada uso
– Bueno desde el punto de vista de seguridad, pero
es caro y cuesta administrar
– Problemas de licenciamiento: por CPU, por socket,
por «Processor Value Units», etc.
24. Plataforma de máquinas virtuales
• Se inicia el uso de máquinas virtuales para
desarrollo y testing.
• Evolución: un «banco» de máquinas virtuales
preconfiguradas
• Capacidades estáticas de procesamiento
• Siguiente paso: capacidades elásticas
– Utility computing?
25. Plataforma de máquinas virtuales
• Sistemas operativos variados
– Windows 2003, 2008, XP
– Linux en varios sabores (Red Hat, Debian, Ubuntu)
• Capacidades de manejo de cargas mejoradas
– Microparticionamiento
– Sizing en demanda
• Capacidades de respaldo y recuperación
mejoradas
– VMware Vmotion
– Acronis Universal Restore
– Tivoli Storage Manager
27. Amarrando todo
• Estos componentes
juntos, forman una
arquitectura
empresarial
virtualizada
28. Otras direcciones en virtualización…
• Virtualización de pantallas (Terminal Services,
Citrix, Remote Desktop, VNC)
• Virtualización de stack de comunicaciones o
redes (Software Defined Networking)
• Grid Computing / Virtual Private Servers
• …
29. El cielo es el límite…
Muchas gracias por su atención
• efutch@gmail.com
• Twitter: @efutch
• http://efutch.blogspot.com
• http://maestros.unitec.edu/~efutch