Академический Документы
Профессиональный Документы
Культура Документы
Introduccin a virtualizacin
Contenidos
Qu es la virtualizacin? Usos de la virtualizacin. Para qu utilizar virtualizacin? Qu opciones hay para virtualizar? Aspectos en el diseo de un sistema virtualizado
Seleccin de plataforma tecnolgica Plan de migracin
Contenidos
Qu es la virtualizacin? Usos de la virtualizacin. Para qu utilizar virtualizacin? Qu opciones hay para virtualizar? Aspectos en el diseo de un sistema virtualizado
Seleccin de plataforma tecnolgica Plan de migracin
de la computacin:
Componentes, computador completo, servidores, desktop, etc.
Virtualizacin en computacin
Virtualizacin es trmino muy amplio que se refiere a la abstraccin de los recursos de un computador. Una tcnica para ocultar las caractersticas fsicas de los recursos de computacin de la forma en la cual otros sistemas, aplicaciones o usuarios finales interactan con esos recursos.
Recurso virtual
Contenidos
Qu es la virtualizacin? Usos de la virtualizacin. Para qu utilizar virtualizacin? Qu opciones hay para virtualizar? Aspectos en el diseo de un sistema virtualizado
Seleccin de plataforma tecnolgica Plan de migracin
Virtualizacin en computacin
Virtualizacin es trmino muy amplio que se refiere a la abstraccin de los recursos de un computador. Una tcnica para ocultar las caractersticas fsicas de los recursos de computacin de la forma en la cual otros sistemas, aplicaciones o usuarios finales interactan con esos recursos.
Recurso virtual
Ejemplos de virtualizacin
a nivel de dispositivo
Almacenamiento:
Ej.: RAID
Conectividad:
Ej.: IP bonding, IP aliasing, NAT
Procesador:
Ej.: emulacin de juego de instrucciones diferente
Ejemplos de virtualizacin
a nivel de dispositivo
163.117.142.54
a54.lab.inf.uc3m.es
Almacenamiento:
Ej.: RAID
163.117.142.55
a55.lab.inf.uc3m.es
163.117.142.55
a55.lab.inf.uc3m.es
Conectividad:
Ej.: IP bonding, IP aliasing, NAT
interfaz
bonding
b0 eepro100
Procesador:
Ej.: emulacin de juego de instrucciones diferente
nic
10
Ejemplos de virtualizacin
a nivel de dispositivo
Almacenamiento:
Ej.: RAID
Conectividad:
Ej.: IP bonding, IP aliasing, NAT
Procesador:
Ej.: emulacin de juego de instrucciones diferente
Rosetta: usado por Apple en la transicin PowerPC a Intel.
11
Ejemplos de virtualizacin
a nivel de proceso
12
Ejemplos de virtualizacin
a nivel de proceso
13
Ejemplos de virtualizacin
a nivel de computador
Escritorio anfitrin:
Ej.: VMWare, VirtualBox, etc.
Escritorio remoto:
Ej.: XEN, VMWare ESX, VirtualBox Headless, etc.
14
Ejemplos de virtualizacin
a nivel de computador
Escritorio anfitrin:
Ej.: VMWare, VirtualBox, etc.
Escritorio remoto:
Ej.: XEN, VMWare ESX, VirtualBox Headless, etc.
Coherence mode, fluid view, etc. No una ventana con todo el escritorio, ventana por aplicacin. Mster en Administracin y Gestin de Sistemas Informticos
15
Ejemplos de virtualizacin
a nivel de computador
Escritorio anfitrin:
Ej.: VMWare, VirtualBox, etc.
Escritorio remoto:
Ej.: XEN, VMWare ESX, VirtualBox Headless, etc.
16
Ejemplos de virtualizacin
a nivel de computador
Escritorio anfitrin:
Ej.: VMWare, VirtualBox, etc.
Escritorio remoto:
Ej.: XEN, VMWare ESX, VirtualBox Headless, etc.
17
Resumen:
Virtualizacin en computacin Virtualizacin es trmino muy amplio que se refiere a la abstraccin de los recursos de un computador. Una tcnica para ocultar las caractersticas fsicas de los recursos de computacin de la forma en la cual otros sistemas, aplicaciones o usuarios finales interactan con esos recursos.
Recurso virtual
18
Resumen:
Virtualizacin en computacin Esto incluye: Hacer un nico recurso fsico (como un servidor, un sistema operativo operativo, una aplicacin, etc.) se presente como un recurso lgico diferente. Hacer un nico recurso fsico (como dispositivos de almacenamiento, servidores, etc.) aparentar que funciona como varios recursos lgicos. Hacer que mltiples recursos fsicos (como dispositivos de almacenamiento, servidores, etc.) aparezcan como un nico recurso lgico.
19
Virtualizacin de plataforma
Nos centraremos en la virtualizacin de una plataforma en trminos de mquinas virtuales Para la clase, usaremos Windows como sistema operativo anfitrin (host)
20
21
Contenidos
Qu es la virtualizacin? Usos de la virtualizacin. Para qu utilizar virtualizacin? Qu opciones hay para virtualizar? Aspectos en el diseo de un sistema virtualizado
Seleccin de plataforma tecnolgica Plan de migracin
22
23
Consolidacin
Consolidacin de servidores:
Ahorro de costes (y mejor aprovechamiento) Simplificacin de la administracin y gestin
1000
1000
1000
1000
24
Consolidacin
Consolidacin de servidores:
Ahorro de costes (y mejor aprovechamiento) Simplificacin de la administracin y gestin
3000
25
Aislamiento
Mejora de la seguridad:
Aislar servicios en mquinas diferentes. Diferente poltica de seguridad a cada mquina.
26
Aislamiento
Mejora de la seguridad:
Aislar servicios en mquinas diferentes. Diferente poltica de seguridad a cada mquina.
27
Tolerancia a fallos
Recuperacin de desastres:
Ejecucin de una mquina en espera Rearranque automtico
28
Tolerancia a fallos
Recuperacin de desastres:
Ejecucin de una mquina en espera Rearranque automtico
29
Tolerancia a fallos
Recuperacin de desastres:
Ejecucin de una mquina en espera Rearranque automtico
30
Entornos de prueba
Pruebas o formacin:
Ejecucin de otro entorno de trabajo Facilitar restauracin del sistema (no inmediato, pero si fcil)
31
Entornos de prueba
Pruebas o formacin:
Ejecucin de otro entorno de trabajo Facilitar restauracin del sistema (no inmediato, pero si fcil)
32
Portabilidad de aplicaciones
Portabilidad de aplicaciones:
Ejecucin de aplicaciones del sistema X en el sistema Y Ejecucin de aplicaciones del sistema X versin A en versin A+1
33
Mster en Administracin y Gestin de Sistemas Informticos http://www.intel.com/technology/magazine/computing/intel-virtualization-0405.htm UNIVERSIDAD CARLOS III DE MADRID
34
Dificultad en el dimensionamiento Necesidad de mayores recursos en un solo ordenador Doble nivel de administracin Prdida de rendimiento
35
Dimensionamiento
Necesidad de un correcto dimensionamiento:
Los servidores (virtuales) cambian sus necesidades (uso de memoria, cpu, etc.) Un incorrecto dimensionamiento puede tener impacto en todos los servidores
36
Mayores recursos
Necesidad de mayores recursos en un solo ordenador:
8 servidores de 1 GB consolidados en 1 servidor de 8 GB No siempre es fcil (y barato) comprar un servidor con n tarjetas de red, n GB de RAM, n TB de disco, etc.
37
Mayores recursos
Necesidad de mayores recursos en un solo ordenador:
8 servidores de 1 GB consolidados en 1 servidor de 8 GB No siempre es fcil (y barato) comprar un servidor con n tarjetas de red, n GB de RAM, n TB de disco, etc.
38
Ms administracin
Doble nivel de administracin:
Administracin de las mquinas reales Administracin de las mquinas virtuales Monitorizacin y control de la asociacin mquina virtual y mquina real
Si una mquina real presenta problemas, entonces es necesario migrar las mquinas virtuales asociadas a ella
ssh real
39
Prdida de rendimiento
Ligera prdida de rendimiento:
En CPU puede ser poco: entre un 3% y un 12% Tarjeta grfica? Disco duro compartido entre varias mquinas virtuales?
40
Contenidos
Qu es la virtualizacin? Usos de la virtualizacin. Para qu utilizar virtualizacin? Qu opciones hay para virtualizar? Aspectos en el diseo de un sistema virtualizado
Seleccin de plataforma tecnolgica Plan de migracin
41
Muchas opciones
OpenVZ
42
Muchas opciones
43
Cmo es internamente
Apps
Apps
Apps Guest OS
Apps Guest OS
Apps
Guest OS
Guest OS
44
Cmo es internamente
Apps Guest OS Apps Guest OS Apps
Guest OS
Monitor/Hipervisor Hardware
El sistema operativo (o los sistemas operativos) se ejecutan en modo privilegiado pero el monitor/hipervisor intercepta sus peticiones para atenderlas
Mster en Administracin y Gestin de Sistemas Informticos UNIVERSIDAD CARLOS III DE MADRID 45
Tipos de virtualizacin
arquitectura de monitores
Emulacin Hardware Virtualizacin completa Paravirtualizacin Vitualizacin a nivel del sistema operativo
46
Emulacin Hardware
Se crea una M.V. en el sistema host para emular el hardware que interesa Ventaja: se puede ejecutar un sistema operativo para CPU1 en CPU2 sin ser modificado Desventaja: lentitud (del orden de x100)
Apps Guest OS Apps Guest OS Apps Guest OS
Hardware VM A Hardware
Hardware VM B
47
Emulacin Hardware
Bochs
Linux/W95
W95/WXP
Qemu
W2k/Linux(F)
Mster en Administracin y Gestin de Sistemas Informticos UNIVERSIDAD CARLOS III DE MADRID
Linux(K)/WXP
48
Virtualizacin completa
El hardware es compartido por todos los sistemas operativos invitados (Guests) a travs del hipervisor Ventaja: no se necesita modificar el sistema operativo Desventaja: es necesario usar trampas para capturar los accesos del sistema operativo invitado al hardware
Soporte hardware Interpretacin de binarios y sustitucin al vuelo
49
Virtualizacin completa
VMware
WXP/MacOS
WXP/Linux
z/VM
Paravirtualizacin
Similar a la virtualizacin completa, pero los invitados colaboran
Ventaja: El sistema operativo colabora con el hipervisor (el tiempo perdido en trampas para interceptar peticiones se disminuye) Desventaja: El sistema operativo ha de modificarse para interactuar con el hipervisor
51
Paravirtualizacin
XEN
Linux(S,F,D)/Linux(F)
Hiper-v
Paravirtualizacin
User Mode Linux (UML)
Linux/Linux
53
54
55
Cmo es internamente
Apps Guest OS Apps Guest OS Apps
Guest OS
Monitor/Hipervisor Hardware
2 3
Se encarga de hablar con todo tipo de hardware Arbitra los recursos hardware entre los distintos sistemas operativos
El sistema operativo (o los sistemas operativos) se ejecutan en modo privilegiado pero el monitor/hipervisor intercepta sus peticiones para atenderlas
Mster en Administracin y Gestin de Sistemas Informticos UNIVERSIDAD CARLOS III DE MADRID 56
Virtualizacin completa/Paravirtualizacin
Interceptar peticiones
User
Hay que ejecutar cdigo privilegiado como si no lo fuera (el hipervisor lo es ahora)
Binary patching
Nuevas instrucciones de virtualizacin
57
Virtualizacin completa/Paravirtualizacin
Interceptar peticiones
Guest Code
Binary translation/patching:
Translator
TC Index
Translation Cache
Callouts
Parcheado de instrucciones al vuelo Se analiza el cdigo del sistema invitado y se cambia las instrucciones privilegiadas por llamadas al hipervisor Aceleracin mediante cach de los fragmentos parcheados
Guest Code
vPC
mov cli and mov sti ret ebx, eax ebx, ~0xfff ebx, cr3
Translation Cache
mov call and mov call call jmp ebx, eax HANDLE_CLI ebx, ~0xfff [CO_ARG], ebx HANDLE_CR3 HANDLE_STI HANDLE_RET
start
58
Virtualizacin completa/Paravirtualizacin
Interceptar peticiones
Instrucciones hardware:
User Kernel monitor Level -1 Level 0 Level 1 Level 2
Anillo -1 donde se ejecuta el hipervisor Permitira la mnima penalizacin en rendimiento al evitar traduccin. Intel y AMD han desarrollado extensiones para virtualizacin, no compatibles entre s pero son similar funcionalidad.
Intel ofrece: VT-x como las extensiones IVT para IA-32 (Vanderpool) VT-i como las extensiones IVT para IA-64 (Silvervale) VT-d en 32/64 para Directed I/O AMD ofrece: AMD-V (Pacifica) para 32/64 IOMMU para Directed I/O o PCI-Passthrough
59
Virtualizacin completa/Paravirtualizacin
Despliegue del hipervisor
60
Virtualizacin completa/Paravirtualizacin
Despliegue del hipervisor
Hosted o Split.
Transformar un sistema operativo existente en un hipervisor Una M.V. es un proceso en el sistema host
I: Doble planificacin I: Acceso al hardware costoso V: Fcil instalacin (otra aplicacin ms)
1. Device I/O
User App
Guest OS (Linux)
Kernel Module
2. CPU/Mem
Virtual Machine Monitor
Mster en Administracin y Gestin de Sistemas Informticos http://www.govirtual.org/servlet/JiveServlet/download/1024-4-1042/IntroToVMs.pptx UNIVERSIDAD CARLOS III DE MADRID
61
KVM est incluido en el kernel de Linux desde la versin 2.6.20 KVM transforma el kernel de Linux en un hipervisor usando un mdulo Otros sistemas operativos invitados puedan ejecutar en espacio de usuario Se usa un proceso QEMU modificado
62
Virtualizacin completa/Paravirtualizacin
Despliegue del hipervisor
Hipervisor.
Quitar a un sistema operativo existente todo lo que le sobra para convertirlo en un hipervisor. Se precisa arrancar el hipervisor primero y luego cada mquina virtual lo usa
V: menos interferencias entre mquinas I: ms difcil instalacin
63
XEN no est incluido en el kernel de Linux (XEN PVops en 2.6.23) XEN es un sistema Linux al que se le ha dejado lo necesario para que funcione como hipervisor. Inicialmente diseado como sistema paravirtualizado
64
Virtualizacin completa/Paravirtualizacin
Acceso a los dispositivos
65
Virtualizacin completa/Paravirtualizacin
Acceso a los dispositivos Emulacin de dispositivo en hipervisor.
Ej.: VMware workstation V: fcil de migrar
66
Virtualizacin completa/Paravirtualizacin
Acceso a los dispositivos Emulacin de dispositivo en espacio de usuario.
Ej.: KVM V: fcil migrar (incluso a otro hipervisor) y seguro (no privilegiado)
67
Virtualizacin completa/Paravirtualizacin
Acceso a los dispositivos Pasarela a dispositivo.
Ej.: VMware, XEN, etc. V: eficiente
68
Virtualizacin completa/Paravirtualizacin
Acceso a los dispositivos SR-IOV y MR-IOV.
69
Resumen
qu opciones hay para virtualizar?
Guest Code
v P C
Apps
Apps
Apps
Apps
Apps
Guest OS Guest OS
Guest OS
Guest OS
Monitor/Hipervisor
Hardware
Hardware
Translation Cache
s t a r t
ebx, eax
mov call
ebx, eax HANDLE_CLI ebx, ~0xfff [CO_ARG], ebx HANDLE_CR3 HANDLE_STI HANDLE_RET
Emulacin Hardware
Virtualizacin completa
Nuevas instrucciones
1. Devi ce I/O
User App
Guest OS (Linux)
Paravirtualizacin
K e r n e l M o d u l e
Hardware
Hosted o split
Pasarela a dispositivo
Hipervisor
SR-IOV y MR-IOV
3
70
Contenidos
Qu es la virtualizacin? Usos de la virtualizacin. Para qu utilizar virtualizacin? Qu opciones hay para virtualizar? Aspectos en el diseo de un sistema virtualizado
Seleccin de plataforma tecnolgica Plan de migracin
71
Contenidos
Qu es la virtualizacin? Usos de la virtualizacin. Para qu utilizar virtualizacin? Qu opciones hay para virtualizar? Aspectos en el diseo de un sistema virtualizado
Seleccin de plataforma tecnolgica Plan de migracin
72