Jos M. Pea
<jmpena@fi.upm.es>
1
Administracin de Sistemas Virtualizacin
Contenidos
1. Conceptos:
Definiciones.
Requisitos y ventajas.
2. Tcnicas de virtualizacin:
Virtualizacin completa.
Para-virtualizacin.
Virtualizacin asistida por hardware
3. Virtualizacin cliente/servidor.
2
Administracin de Sistemas Virtualizacin
Conceptos Previos
Aislamiento entre el hardware y las aplicaciones y entre
las aplicaciones entre s:
Sistema operativo: Asla un proceso de otro.
Qu asla dos instalaciones de sistema operativo entre s?
A efectos de incompatibilidades en versiones de librera instaladas.
Configuraciones especficas de servicios.
Sistema operativo: Gestiona el hardware para varios procesos.
La capacidad de aprovechamiento de ese hardware se ajusta al
compromiso de las aplicaciones que corren sobre l.
SO Proc
Proc
Proc
Proc
Hardware SO Proc Proc
Proc
SO Proc Proc
ProcProc 3
Administracin de Sistemas Virtualizacin
Definicin de Virtualizacin
Proyeccin de una serie de recursos o servicios reales del
sistema hacia un subsistema de forma que slo una parte
de ellos sean visibles para el mismo.
La visibilidad tambin restringe lo que el subsistema
puede hacer con esos recursos/servicios.
Dicha visibilidad est definida por una interfaz de uso
(que puede ser muy parecida a la interfaz nativa de esos
recursos/servicios)
4
Administracin de Sistemas Virtualizacin
Definicin de Virtualizacin
Definicin formal:
La virtualizacin implica la
construccin de un isomorfismo
que proyecta un sistema virtual
alojado sobre un sistema anfitrin
real (Popek and Goldberg, 1974)
Definicin para sistemas:
Particionamiento del hardware de
un sistema y creacin de diferentes
entornos virtuales (mquinas
virtuales) que pueden albergar
Communications of the ACM, vol 17, no
subsistemas independientes. 7, 1974, pp.412-421
5
Administracin de Sistemas Virtualizacin
Virtualizacin Genrica en Sistemas
Virtualizacin del Sistema Operativo (Mquinas Virtuales)
Separacin entre SO y el hardware real.
SO Anfitrin (Host) SO Alojado (Guest)
Capa de Virtualizacin
SO Anfitrin
Hardware
7
Administracin de Sistemas Virtualizacin
Ventajas de la Virtualizacin
Despliegue de sistemas:
Se necesita validar slo una plataforma.
Se virtualiza dicha plataforma sobre el hardware que sea.
Mayor facilidad de encapsulacin (migracin y replicacin).
Eficiencia y reutilizacin:
Mayor aprovechamiento del hardware.
Escalabilidad y reparto de recursos.
En estaciones de trabajo:
Coexistencia de varios SO en el mismo equipo.
Validacin multiplataforma o aplicaciones dependientes de SO.
Simulacin de una red (heterognea) de equipos.
8
Administracin de Sistemas Virtualizacin
Ventajas de la Virtualizacin
Seguridad:
Asla aplicaciones peligrosas.
Concepto de sandbox asociado a la MV.
Separacin entre SO de otras MV y del SO anfitrin.
Particionamiento de servidores (hosting): por
incompatibilidades o por estabilidad del entorno.
Aplicaciones de tipo legacy.
Desarrollo de software en el ncleo del SO:
Muy difcil depuracin en SO nativo.
Si casca el SO alojado no afecta al SO anfitrin.
Facilidades para hacer volcado de registros, memoria, puntos de
interrupcin.
9
Administracin de Sistemas Virtualizacin
Tcnicas de Virtualizacin
De qu manera el SO Alojado accede al hardware?
El SO alojado debe ser consciente de que est
virtualizado (vale un SO tradicional)?
SO Alojado
Capa de Virtualizacin
SO Anfitrin
Hardware
12
Administracin de Sistemas Virtualizacin
Alternativas de Virtualizacin
1 Generacin: 2 Generacin: 3 Generacin:
Virtualizacin completa Para-virtualizacin Virtualizacin asistida
Re-implementacin Virtualizacin por el hardware.
binaria del hardware cooperativa No se altera el SO
Basada 100% en SO alojados alojado
capas software. modificados Plataformas hardware
diseadas para
soportar virtualizacin
Mquina Mquina
Virtual
Virtual
MV MV
Traduccin Dinmica Mquina Mquina
Virtual
Virtual
Evolucin temporal
Lgica de Virtualizacin
Mquina Virtual
SO Alojado
App. B
App. C
App. A
Traduccin binaria dinmica
Drivers HW
El nivel de emulacin implementa un hardware
virtual que le solicitar determinadas
operaciones al hardware real si lo necesita. Hardware
El SO alojado no sabe que se est ejecutando Emulado
sobre un entorno virtual.
Todo el hardware es emulado Drivers de
Dispositivos
(incluida la CPU). SO Anfitrin
Aplicacin Ring 3
SO Alojado Ring 1 / 3
Aplicacin Ring 3
Monitor de
Sistema Ring 0 Mquina Ring 0
Operativo Virtual
Arquitectura Tradicional Virtualizacin Completa
Administracin de Sistemas Virtualizacin
Para-Virtualizacin
Los SOs alojados se modifican de forma que su
ejecucin en modo no-privilegiado sea
Mquina Virtual
SO Alojado
eficiente:
App. B
App. C
App. A
El SO alojado es completamente cosciente de que
est virtualizado y debe saber como implementar Drivers
Mquina Virtual
SO Alojado
App. B
App. C
App. A
tipo Intel-VT or AMD-V) para
interceptar e interpretar ciertas Drivers
operaciones privilegiadas.
API Especializada
La virtualizacin de este tipo elimina Monitor de Mquinas
Virtuales
instrucciones super-privilegiadas.
Hardware
Administracin de Sistemas Virtualizacin
Soporte en Chip (x86) de Virtualizacin
Empieza a ser implantada desde las versiones de 64Bits.
AMD-V: AMD Virtualization (SVM- Secure Virtual
Machine):
ltimos Opteron y Phenom II (dan soporte a segunda
generacin)
Soporte para virtualizacin de tablas de pginas (Rapid
Virtualizaton Indexing)
22
Administracin de Sistemas Virtualizacin
Virtualizacin Cliente/Servidor
Diferentes alternativas de organizar la virtualizacin en
una arquitectura de tipo cliente/servidor:
Virtualizacin en cliente.
Virtualizacin de workspaces:
En servidor.
En cliente.
Aislamiento de aplicaciones:
Stream de aplicaciones.
23
Administracin de Sistemas Virtualizacin
Virtualizacin en Cliente
Monitor de MVs o hipervisor corriendo en la mquina
cliente.
Ejemplos:
Microsoft Virtual PC
Parallels Desktop for Mac
VMware Fusion
WINE.
Casos de uso:
Ejecucin de aplicaciones Windows sobre Mac,
Pruebas de cdigo dentro de MVs
Emulacin de antiguo hardware de videojuegos