Post on 27-Nov-2015
description
UNIVERSIDAD CARLOS III DE MADRID
Máster en Administración y Gestión de Sistemas Informáticos
Introducción a virtualización
Alejandro Calderón Mateos
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID 2
Contenidos
� ¿Qué es la virtualización?
� Usos de la virtualización.
� ¿Para qué utilizar virtualización?
� ¿Qué opciones hay para virtualizar?
� Aspectos en el diseño de un sistema virtualizado� Selección de plataforma tecnológica
� Plan de migración
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID 3
Contenidos
� ¿Qué es la virtualización?
� Usos de la virtualización.
� ¿Para qué utilizar virtualización?
� ¿Qué opciones hay para virtualizar?
� Aspectos en el diseño de un sistema virtualizado� Selección de plataforma tecnológica
� Plan de migración
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
‘Googlear’ sobre Virtualización
� Es posible buscar información en diversas fuentes:
� Wikipedia:http://en.wikipedia.org/wiki/Virtualization
� Foros:http://virt.kernelnewbies.org/
� Curos on-line:http://www.govirtual.org/docs/DOC-1024
� Etc.
4
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
‘Googlear’ sobre Virtualización
� Aspectos importantes que encontraremos:
1. El término virtualización no es nuevo:
�Se ha usado desde los años 60
2. Se ha aplicado a diferentes aspectos y ámbitosde la computación:
�Componentes, computador completo, servidores, desktop, etc.
5
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización en computación
� Virtualización es término muy amplio que se refiere a la abstracción de los recursos de un computador.
� Una técnica para ocultar las características físicasde los recursos de computación de la forma en la cual otros sistemas, aplicaciones o usuarios finales interactúan con esos recursos.
Recurso virtual
6
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID 7
Contenidos
� ¿Qué es la virtualización?
� Usos de la virtualización.
� ¿Para qué utilizar virtualización?
� ¿Qué opciones hay para virtualizar?
� Aspectos en el diseño de un sistema virtualizado� Selección de plataforma tecnológica
� Plan de migración
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización en computación
� Virtualización es término muy amplio que se refiere a la abstracción de los recursos de un computador.
� Una técnica para ocultar las características físicasde los recursos de computación de la forma en la cual otros sistemas, aplicaciones o usuarios finales interactúan con esos recursos.
Recurso virtual
• Dispositivo
• Proceso
• Computador
• Etc.
8
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplos de virtualización a nivel de dispositivo…
– Almacenamiento:
• Ej.: RAID
– Conectividad:
• Ej.: IP bonding, IP aliasing, NAT
– Procesador:
• Ej.: emulación de juego de
instrucciones diferente
9
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplos de virtualización a nivel de dispositivo…
– Almacenamiento:
• Ej.: RAID
– Conectividad:
• Ej.: IP bonding, IP aliasing, NAT
– Procesador:
• Ej.: emulación de juego de
instrucciones diferente
eth0:1
eth0
“b0“
3com eepro100
aliases bonding
inte
rfa
zn
ic
163.117.142.54a54.lab.inf.uc3m.es
163.117.142.55a55.lab.inf.uc3m.es
163.117.142.55a55.lab.inf.uc3m.es
10
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplos de virtualización a nivel de dispositivo…
– Almacenamiento:
• Ej.: RAID
– Conectividad:
• Ej.: IP bonding, IP aliasing, NAT
– Procesador:
• Ej.: emulación de juego de
instrucciones diferente
Rosetta: usado por Apple en la
transición PowerPC a Intel.
11
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplos de virtualización a nivel de proceso…
– Emulación de entorno privado de la aplicación:
• Ej.: Modo compatibilidad de Windows Vista/7
– Construcción a nivel de lenguaje:
• Ej.: Java y .NET
12
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplos de virtualización a nivel de proceso…
– Emulación de entorno privado de la aplicación:
• Ej.: Modo compatibilidad de Windows Vista/7
– Construcción a nivel de lenguaje:
• Ej.: Java y .NET
13
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplos de virtualización a nivel de computador…
– Escritorio anfitrión:
• Ej.: VMWare, VirtualBox, etc.
– Escritorio remoto:
• Ej.: XEN, VMWare ESX,
VirtualBox Headless, etc.
http://redmonk.com/cote/2006/06/21/apples-new-cluefull-test-parallels/ 14
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplos de virtualización a nivel de computador…
– Escritorio anfitrión:
• Ej.: VMWare, VirtualBox, etc.
– Escritorio remoto:
• Ej.: XEN, VMWare ESX,
VirtualBox Headless, etc.
http://michaelverdi.com/index.php/2006/12/02/parallels-screencast/
Coherence mode, fluid view, etc.
No una ventana con todo el escritorio, ventana por aplicación.
15
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplos de virtualización a nivel de computador…
– Escritorio anfitrión:
• Ej.: VMWare, VirtualBox, etc.
– Escritorio remoto:
• Ej.: XEN, VMWare ESX,
VirtualBox Headless, etc.
16
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplos de virtualización a nivel de computador…
– Escritorio anfitrión:
• Ej.: VMWare, VirtualBox, etc.
– Escritorio remoto:
• Ej.: XEN, VMWare ESX,
VirtualBox Headless, etc.
17
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Resumen:Virtualización en computación
� Virtualización es término muy amplio que se refiere a la abstracción de los recursos de un computador.
� Una técnica para ocultar las características físicasde los recursos de computación de la forma en la cual otros sistemas, aplicaciones o usuarios finales interactúan con esos recursos.
Recurso virtual
• Proceso
• Dispositivo
• Plataforma
• Etc.
18
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Resumen:Virtualización en computación
� Esto incluye:
� Hacer un único recurso físico (como un servidor, un sistemaoperativo operativo, una aplicación, etc.) se presentecomo un recurso lógico diferente.
� Hacer un único recurso físico (como dispositivos de almacenamiento, servidores, etc.) aparentar que funcionacomo varios recursos lógicos.
� Hacer que múltiples recursos físicos (como dispositivos de almacenamiento, servidores, etc.) aparezcancomo un único recurso lógico.
19
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización de plataforma
� Nos centraremos en la virtualización de una plataforma en términos de máquinas virtuales
� Para la clase, usaremos Windows como sistema operativo anfitrión (host)
20
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplo: Windows sobre Linux
http://www.kitty.in.th/files/376/qemu.png 21
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID 22
Contenidos
� ¿Qué es la virtualización?
� Usos de la virtualización.
� ¿Para qué utilizar virtualización?
� ¿Qué opciones hay para virtualizar?
� Aspectos en el diseño de un sistema virtualizado� Selección de plataforma tecnológica
� Plan de migración
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Razones por las que usar virtualización
� Consolidación de servidores
� Aislamiento de servicios
� Recuperación de desastres
� Pruebas o formación
� Portabilidad de aplicaciones
23
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Consolidación
� Consolidación de servidores: � Ahorro de costes (y mejor aprovechamiento)
� Simplificación de la administración y gestión
1000 € 1000 € 1000 € 1000 €
24
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Consolidación
� Consolidación de servidores: � Ahorro de costes (y mejor aprovechamiento)
� Simplificación de la administración y gestión
3000 €
25
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Aislamiento
� Mejora de la seguridad:� Aislar servicios en máquinas diferentes.
� Diferente política de seguridad a cada máquina.
26
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Aislamiento
� Mejora de la seguridad:� Aislar servicios en máquinas diferentes.
� Diferente política de seguridad a cada máquina.
27
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Tolerancia a fallos
� Recuperación de desastres:� Ejecución de una máquina en espera
� Rearranque automático
28
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Tolerancia a fallos
� Recuperación de desastres:� Ejecución de una máquina en espera
� Rearranque automático
29
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Tolerancia a fallos
� Recuperación de desastres:� Ejecución de una máquina en espera
� Rearranque automático
30
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Entornos de prueba
� Pruebas o formación:� Ejecución de otro entorno de trabajo
� Facilitar restauración del sistema (no inmediato, pero si fácil)
31
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Entornos de prueba
� Pruebas o formación:� Ejecución de otro entorno de trabajo
� Facilitar restauración del sistema (no inmediato, pero si fácil)
32
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Portabilidad de aplicaciones
� Portabilidad de aplicaciones:� Ejecución de aplicaciones del sistema X en el sistema Y
� Ejecución de aplicaciones del sistema X versión A en versión A+1
33
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Resumen de las principales ventajas
http://www.intel.com/technology/magazine/computing/intel-virtualization-0405.htm 34
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Razones por las que NO usar virtualización
� Dificultad en el dimensionamiento
� Necesidad de mayores recursos en un solo ordenador
� Doble nivel de administración
� Pérdida de rendimiento
35
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
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
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
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 fácil (y barato) comprar un servidor con n tarjetas de red, n GB de RAM, n TB de disco, etc.
37
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
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 fácil (y barato) comprar un servidor con n tarjetas de red, n GB de RAM, n TB de disco, etc.
38
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Más administración
� Doble nivel de administración: � Administración de las máquinas reales
� Administración de las máquinas virtuales
� Monitorización y control de la asociación máquina virtual y máquina real
� Si una máquina real presenta problemas, entonces es necesario migrar las máquinas virtuales asociadas a ella
ssh real
39
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Pérdida de rendimiento
� ‘Ligera’ pérdida de rendimiento: � En CPU puede ser poco: entre un 3% y un 12%
� ¿Tarjeta gráfica?
� ¿Disco duro compartido entre varias máquinas virtuales?
40
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID 41
Contenidos
� ¿Qué es la virtualización?
� Usos de la virtualización.
� ¿Para qué utilizar virtualización?
� ¿Qué opciones hay para virtualizar?
� Aspectos en el diseño de un sistema virtualizado� Selección de plataforma tecnológica
� Plan de migración
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Muchas opciones…
42
UserUserUserUser ModeModeModeMode LinuxLinuxLinuxLinux
OpenVZOpenVZOpenVZOpenVZ
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Muchas opciones…
� Conocer cómo es internamente.� Dependencias, restricciones, etc.
� Conocer las arquitecturas de los sistemas de virtualización.� Agrupar soluciones por
características comunes.
43
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Cómo es internamente…
44
Apps Apps
Guest OS
Hardware
Apps Apps Apps
Guest OS Guest OS Guest OS
Monitor/Hipervisor
Hardware
…
…
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Cómo es internamente…
� Se añade una capa entre el sistema operativo y el hardware � 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
45
Apps Apps Apps
Guest OS Guest OS Guest OS
Monitor/Hipervisor
Hardware
…
…
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Tipos de virtualización arquitectura de monitores
http://www-128.ibm.com/developerworks/library/l-linuxvirt/index.html
� Emulación Hardware
� Virtualización completa
� Paravirtualización
� Vitualización a nivel del sistema operativo
46
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Apps Apps Apps
Guest OS Guest OS Guest OS
Hardware VM A
Hardware
…
Hardware VM B
Emulación 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)
47
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Emulación Hardware
� Bochs
� QemuLinux/W95 W95/WXP
W2k/Linux(F) Linux(K)/WXP
48
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa
� El hardware es compartido por todos los sistemas operativos invitados (Guests) a través del hipervisorhipervisorhipervisorhipervisor
� Ventaja: no se necesita modificar el sistema operativo
� Desventaja: es necesario usartrampas para capturar los accesosdel sistema operativo invitado alhardware� Soporte hardware � Interpretación de binarios y sustitución al vuelo
49
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa
� VMware
� z/VM
WXP/MacOS WXP/Linux
z/Linux sobre z/VM
50
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Paravirtualización
� Similar a la virtualización 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
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Paravirtualización
� XEN
� Hiper-v
Linux(S,F,D)/Linux(F)
Windows S2008+Vista+Suse / Windows
52
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Paravirtualización
� User Mode Linux (UML)
Linux/Linux
53
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización a nivel del sistema operativo
� Enfoque totalmente diferente: el sistema operativo en si mismo ofrece servidores virtuales
� Desventaja: NO es posible ejecutar distintos sistemas operativos
� Ventaja: Mejor rendimiento y más cantidad de máquinas virtuales ejecutadas (ahorro de memoria)
54
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización a nivel del sistema operativo
� OpenVZ
Densidad de OpenVZ en un equipo de 768 Mb (¾ Gb) de RAM
55
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Cómo es internamente…
� Se añade una capa entre el sistema operativo y el hardware � 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
56
Apps Apps Apps
Guest OS Guest OS Guest OS
Monitor/Hipervisor
Hardware
…
…
1
2
3
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónInterceptar peticiones…
� El sistema operativo ha sido diseñado para ejecutar en el hardware a nivel privilegiado� En procesadores x86, en el anillo 0
� Hay que ejecutar código privilegiado como si no lo fuera (el hipervisor lo es ahora)� Binary patching� Nuevas instrucciones de virtualización
User
KernelLevel 0
Level 1
Level 2
http://pdc-amd01.poly.edu/~wein/cs6243/ppts/CPUVirtualization.pptx
1
57
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónInterceptar peticiones…
� Binary translation/patching:� Parcheado de instrucciones al vuelo� Se analiza el código del sistema invitado y
se cambia las instrucciones privilegiadas por llamadas al hipervisor
� Aceleración mediante caché de los fragmentos parcheados
vPC mov ebx, eax
cli
and ebx, ~0xfff
mov ebx, cr3
sti
ret
mov ebx, eax
call HANDLE_CLI
and ebx, ~0xfff
mov [CO_ARG], ebx
call HANDLE_CR3
call HANDLE_STI
jmp HANDLE_RET
start
Guest Code Translation Cache
Translator
Guest
Code
Translation
CacheCalloutsTC
Index
CPU
Emulation
Routines
1
58
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónInterceptar peticiones…
• 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’
� Instrucciones hardware:� Anillo -1 donde se ejecuta el hipervisor
� Permitiría la mínima penalización en rendimiento al evitar traducción.
� Intel y AMD han desarrollado extensiones para virtualización, no compatibles entre sí pero son similar funcionalidad.
User
monitorLevel -1
Level 0
Level 1
Kernel
Level 2
http://en.wikipedia.org/wiki/Virtualization_Technology
1
59
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónDespliegue del hipervisor…
� El monitor/hipervisor ha de ser capaz de tratar con todo tipo de hardware� Ha de tener drivers para todos� Es muy difícil conseguir que se escriban
drivers/controladores para un S.O.
� Usar un sistema operativo modificado:� Hosted o Split� Hipervisor
http://www.ibm.com/developerworks/linux/library/l-pci-passthrough/
2
60
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónDespliegue 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 planificación� I: Acceso al hardware costoso� V: Fácil instalación (otra aplicación más)
http://www.govirtual.org/servlet/JiveServlet/download/1024-4-1042/IntroToVMs.pptx
2
Hardware
Virtual Machine Monitor
Guest OS (Linux)
Host OS (Window XP)
User App
Kernel
Module
1. Device I/O
2. CPU/Mem
61
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplo de sistema hosted o split
� KVM
� KVM está incluido en el kernel de Linux desde la versión 2.6.20� KVM transforma el kernel de Linux en un hipervisor usando un módulo
� Otros sistemas operativos invitados puedan ejecutar en espacio de usuario � Se usa un proceso QEMU modificado
2
62
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónDespliegue 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 máquina virtual lo usa
� V: menos interferencias entre máquinas� I: más difícil instalación
2
63
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Ejemplo de sistema hipervisor
� XEN
� 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 diseñado como sistema paravirtualizado
http://www.ibm.com/developerworks/linux/library/l-xen/
2
64
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónAcceso a los dispositivos…
� El monitor/hipervisor ha de ser capaz de tratar con todo tipo de hardware� Ha de tener drivers para todos� Ha de ofrecer el acceso al hardware
subyacente.
� Ofrecer el hardware al S.O. invitado:� Emulación de dispositivo en el hipervisor� Emulación de disp. en espacio de usuario� Pasarela a dispositivo� SR-IOV y MR-IOV
http://www.ibm.com/developerworks/linux/library/l-pci-passthrough/
3
65
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónAcceso a los dispositivos…
� Emulación de dispositivo en hipervisor.� Ej.: VMware workstation� V: fácil de migrar
3
66
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónAcceso a los dispositivos…
� Emulación de dispositivo en espacio de usuario.� Ej.: KVM� V: fácil migrar (incluso a otro hipervisor) y seguro (no privilegiado)
3
67
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónAcceso a los dispositivos…
� Pasarela a dispositivo.� Ej.: VMware, XEN, etc.� V: eficiente
3
68
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Virtualización completa/ParavirtualizaciónAcceso a los dispositivos…
� SR-IOV y MR-IOV.� Single-Root I/O Virtualization (servidor único)� Multi-Root I/O Virtualization (blades)
3
69
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID
Resumen ¿qué opciones hay para virtualizar?
� Emulación Hardware
� Virtualización completa
� Paravirtualización
� Virtualización a nivel
del sistema operativo
v
P
C
mov ebx, eax
cli
and ebx, ~0xfff
mov ebx, cr3
sti
ret
mov ebx, eax
call HANDLE_CLI
and ebx, ~0xfff
mov [CO_ARG], ebx
call HANDLE_CR3
call HANDLE_STI
jmp HANDLE_RET
s
t
a
r
t
Guest Code Translation Cache
User
monitorLevel -1
Level 0Level 1
Kernel
Level 2
� Nuevas instrucciones
� Binary translation (patching)� Emulación del disp. en
el hipervisor
� Emulación del disp. en
espacio de usuario
� Pasarela a dispositivo
� SR-IOV y MR-IOV
Apps Apps
Guest OS
Hardware
Apps Apps Apps
Guest OS Guest OS Guest OS
Monitor/Hipervisor
Hardware
…
…
70
3
1
2
Hardware
Virtual Machine Monitor
Guest OS (Linux)
Host OS (Window XP)
User
App
K
e
r
n
e
l
M
o
d
u
l
e
1.
Devi
ce
I/O
� Hosted o split
� Hipervisor
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID 71
Contenidos
� ¿Qué es la virtualización?
� Usos de la virtualización.
� ¿Para qué utilizar virtualización?
� ¿Qué opciones hay para virtualizar?
� Aspectos en el diseño de un sistema virtualizado� Selección de plataforma tecnológica
� Plan de migración
Máster en Administración y Gestión de Sistemas Informáticos
UNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRIDUNIVERSIDAD CARLOS III DE MADRID 72
Contenidos
� ¿Qué es la virtualización?
� Usos de la virtualización.
� ¿Para qué utilizar virtualización?
� ¿Qué opciones hay para virtualizar?
� Aspectos en el diseño de un sistema virtualizado� Selección de plataforma tecnológica
� Plan de migración