Publicado el 31 de Marzo del 2021
827 visualizaciones desde el 31 de Marzo del 2021
2,4 MB
24 paginas
Redes de Nueva Generación
Área de Ingeniería Telemática
Virtualización
Redes de Nueva Generación
Área de Ingeniería Telemática
Virtualización: Ejemplos
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
¿Virtualización?
• La idea básica de virtualización del host es bastante conocida
• Una capa software intermedia hace creer a un sistema
operativo que tiene hardware dedicado
OS 1 OS 2 OS 3 OS 4
Hypervisor
Hardware
¿Virtualización?
• En el entorno informático es un concepto muy antiguo
• A nivel de virtualización de sistemas operativos ya lo
soportaban los mainframes en los 70s
• Comercialmente llega al entorno PC a principios de los 00s
(VMware)
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
OS
CMS
OS
CMS
OS
CMS
OS
CMS
Control Program (CP)
Hardware mainframe
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
¿Virtualización?
• La memoria virtual es anterior a la virtualización completa del
hardware
• Se puede conseguir que un proceso (programa en ejecución)
crea que dispone de toda la memoria
• De hecho podría ver más memoria que la existente
• Ve un espacio continuo de direcciones
•
(…)
Proceso
s
e
n
o
i
c
c
e
r
i
d
e
d
o
i
c
a
p
s
E
000…00
FFF…FF
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
¿Virtualización?
• Cuando la CPU intenta acceder a una dirección de memoria se
debe convertir la dirección virtual en la dirección física
• Con esa dirección física se puede acceder a la RAM (ignorando
las posibles caches)
• Esta conversión la hace la MMU (Memory Management Unit)
• Hoy en día es parte de la CPU
• Es decir, necesitamos (o al menos mejora el rendimiento) apoyo
del hardware
Proceso
s
e
n
o
i
c
c
e
r
i
d
e
d
o
i
c
a
p
s
E
000…00
a054fe40
FFF…FF
02ab45c0
MMU
TLB
¿Virtualización?
• El mapeo podría no llevar a memoria RAM sino a datos
guardados en disco
• El disco es un dispositivo mucho más lento así que lo normal es
mover los datos frecuentes utilizados a RAM y los poco
utilizados a disco
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Proceso
02ab45c0
s
e
n
o
i
c
c
e
r
i
d
e
d
o
i
c
a
p
s
E
000…00
a054fe40
FFF…FF
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
¿Virtualización?
• Cuando varios procesos se ejecutan pero no disponemos de
varias CPUs
• Cada proceso cree que dispone de la CPU pero se va
alternando la ejecución entre procesos
• De nuevo se le está haciendo creer a alguien que dispone de
ciertos recursos de forma exclusiva cuando no es así
Proceso
Proceso
Proceso
Proceso
Virtualización, ¿dónde?
• Servidor
• Red
• Almacenamiento
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Redes de Nueva Generación
Área de Ingeniería Telemática
Virtualización de servidor
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Hypervisor
virtual
• Es una capa software entre el hardware y el sistema operativo “guest”
• También llamado “Virtual Machine Monitor” (VMM)
• Oculta el hardware real y puede presentar diferente hardware a cada máquina
• Esas máquinas virtuales no necesitan cambios para funcionar en otro
hypervisor aunque emplee un hardware diferente siempre que les presente le
mismo hardware virtual
La máquina virtual, todo su sistema operativo instalado y las aplicaciones,
puede ser un solo fichero, sencillo de copiar a otra máquina
•
“Guest OS”
OS 1 OS 2 OS 3 OS 4
OS 2
Hypervisor
Hardware
Hypervisor
Hardware 2
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Tipos de Hypervisores
• Tipo 1, nativo o “bare-metal”
– Se ejecuta directamente sobre el hardware
– Controla dicho hardware
– Consume poco espacio y memoria
– El mejor rendimiento potencial
– El hypervisor debe contar con drivers para el hardware
– Ejemplos: Citrix XenServer, Vmware ESXi, Microsoft Hyper-V, Linux KVM
(…)
•
OS 1
OS 2
OS 3
Hypervisor tipo 1
Hardware
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Tipos de Hypervisores
• Tipo 2 o “hosted”
convencional
– El hypervisor corre como una aplicación sobre un sistema operativo
– El sistema operativo guest sobre el hypervisor
– El sistema operativo host tiene un impacto en el rendimiento
– Es más frecuente la existencia de drivers para el hardware
– Ejemplos: VMware Workstation, VMware Server, Microsoft Virtual PC,
Parallels Workstation, VirtualBox, QEMU
OS 1
OS 2
OS 3
guest
OS 1
OS 2
OS 3
Hypervisor tipo 2
Hypervisor tipo 1
Hardware
Sistema operativo
host
Hardware
Virtualización de la CPU
• El kernel de un sistema operativo está pensado para ejecutarse
con máximos privilegios
• Ciertas instrucciones de la CPU no son sencillas de virtualizar y
no se pueden dejar ejecutar a un proceso
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
• Full virtualization
– Hace traducción (on-the-fly) de instrucciones (binary translation)
– Se sustituyen las instrucciones no virtualizables por otras
equivalentes
– No requiere modificar el OS instalado
– Ejemplos: VMware, Microsoft Virtual Server, Linux KVM, Parallels,
VirtualBox, QEMU
•
(…)
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Virtualización de la CPU
• El kernel de un sistema operativo está pensado para ejecutarse
con máximos privilegios
• Ciertas instrucciones de la CPU no son sencillas de virtualizar y
no se pueden dejar ejecutar a un proceso
• Full virtualization
• Paravirtualization (OS assisted virtualization)
– Se modifica el sistema operativo guest sustituyendo las
instrucciones no virtualizables
– Requiere menos sobrecarga en ejecución pero hay que poder
modificar el código de ese sistema operativo guest
– Ejemplos: Xen, VMware (VMTools), Virtualbox (additions), UML
(…)
•
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Virtualización de la CPU
• El kernel de un sistema operativo está pensado para ejecutarse
con máximos privilegios
• Ciertas instrucciones de la CPU no son sencillas de virtualizar y
no se pueden dejar ejecutar a un proceso
• Full virtualization
• Paravirtualization (OS assisted virtualization)
• Hardware-assisted virtualization
– El hardware se encarga de la traducción de instrucciones
privilegiadas
– Requiere soporte por el hardware (Intel VT-x, AMD-V)
– Ejemplos: VMware, Microsoft, Parallels, Xen, Virtualbox
a
c
i
t
Operating-system-level virt.
• Containers, Virtualization Engines, Virtual Private Servers, Jails
• El kernel del sistema operativo aísla los procesos como si
l
corrieran en máquinas independientes
• Su implementación más básica en Unix es el comando chroot
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
pero solo aísla el sistema de ficheros
• Es popular en Linux donde el kernel permite:
– Limitar recursos (CPU, memoria, etc) a un conjunto de procesos
– Ofrecer visión parcial de lista de procesos, interfaces de red,
usuarios y sistemas de ficheros montados mediante namespaces
• Ejemplos: OpenVZ, Parallels Virtuozzo Containers, Linux-
VServer, Solaris Zones, FreeBSD Jails, etc
proceso
proceso
proceso
OS 1 OS 2 OS 3
Hypervisor tipo 1
proceso
proceso
proceso
OS 1 OS 2 OS 3
Hypervisor tipo 2
Sistema operativo host
proceso
proceso
proceso
Virtualization layer
Sistema operativo host
Hardware
Hardware
Hardware
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Virtualización de RAM
• El sistema operativo guest emplea memoria virtual y la mapea a lo que
él cree que es memoria física
• Eso no puede ser la auténtica memoria física, así que debe ser de
nuevo mapeada
• Shadow page tables para hacerlo por soft o nested paging (Second
Level Address Translation) por hardware si lo soporta la CPU
• Hay que virtualizar la MMU
Máquina virtual
Proceso
l
a
u
t
r
i
v
a
i
r
o
m
e
M
t
s
e
u
g
l
e
d
a
c
i
s
í
f
a
i
r
o
m
e
M
Host
M
e
m
o
r
i
a
f
í
s
i
c
a
d
e
l
h
o
s
t
Virtualización de dispositivos
• El VMM presenta a la VM unos dispositivos comunes, de forma que
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
sean fácilmente soportados
• Puede tener varias opciones, por ejemplo ofrecerle al guest diferentes
modelos de tarjeta de red
• El hardware puede tener soporte para ser virtualizado
Acceso a disco desde la VM
i
n
ó
c
a
r
e
n
e
G
a
v
e
u
N
e
d
s
e
d
e
R
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
• En
Comentarios de: Virtualización (0)
No hay comentarios