PDF de programación - Virtualización (y Software Libre) KVM

Imágen de pdf Virtualización (y Software Libre) KVM

Virtualización (y Software Libre) KVMgráfica de visualizaciones

Publicado el 15 de Mayo del 2019
98 visualizaciones desde el 15 de Mayo del 2019
1,2 MB
18 paginas
Creado hace 9a (17/04/2010)
Virtualización

(y Software Libre)

Lic. Marcelo Fernández

marcelo.fidel.fernandez@gmail.com - http://blog.marcelofernandez.info



Publicado bajo Licencia Creative Commons - BY,

excepto las imágenes y logos tomadas de sitios de Internet



Virtualización - Introducción
 ¿Qué es la Virtualización?

 No es ninguna novedad [1]

 Abstracción

Optimización de Recursos



Aislación

 Se utiliza virtualización por hardware desde las

IBM 360 en los años '60.

 Dado que al SO se lo denominaba el “supervisor”,
surgió el término “hypervisor” para los gestores de
éstos.

 La virtualización por software tiene origen en la
década del '60 con el BCPL, que generaba código
para máquinas teóricas, con el objeto de aumentar la
portabilidad (Pseudo-Code o P-Code Machine).



Virtualización - Clasificación

Tipos de Virtualización
 De Plataforma: Un equipo completo (incluido el CPU)

 Mediante Hardware dedicado como Hypervisor
 Por Software

CPUs reales (Set de Instrucciones)



P-code ó

 De Recursos

 Almacenamiento: RAID, SANs, etc.
SWAP
 Memoria: Memoria Virtual
 Procesamiento: Clusters, GAE, EC2, etc.





(Ver http://en.wikipedia.org/wiki/Virtualization)

Virtualización – Conceptos Básicos

HOSTHOST
(“Anfitrión”)
(“Anfitrión”)

Crea, administra y ejecuta el
Crea, administra y ejecuta el

entorno virtual donde el
entorno virtual donde el
software guest se ejecuta
software guest se ejecuta

GUEST
GUEST
(“Invitado”)
(“Invitado”)

En este caso
En este caso

es un SO completo,
es un SO completo,
pero éste puede ser
pero éste puede ser
cualquier software
cualquier software



Virtualización – Conceptos Básicos

Tipos de Virtualización de CPU
 Emulación. Bochs, QEmu, MAME.
 Virtualización Completa. VirtualBox, VMWare.
 Virtualización Asistida por Hardware. KVM.
 Paravirtualización. Xen.
 Virtualización en el Sistema Operativo. Virtuozzo, Containers

en Solaris, Jails en BSD, Linux Vserver, etc.

Recordar que:
 Desde Virtualización a Emulación, hay mucho software que



combina una o varias técnicas según la circunstancia, con lo cual
se vuelve difícil una clasificación estricta (por ej., Recompilación Dinámica).
(Ver http://en.wikipedia.org/wiki/Comparison_of_platform_virtual_machines)



Virtualización – Emulación

Emulación

 Bucle infinito Leer
 Mayor Versatilidad y Compatibilidad
 Muy Lento (hasta cientos, miles de veces más que la plataforma real)

Interpretar



Ejecutar



Virtualización – Virt. Completa

Virtualización Completa (Full Virtualization)
 “Traducción Binaria” realizada por un Hypervisor
 Velocidad relativamente nativa
 Muy Complejo de hacer en x86
 Versatilidad Intermedia. SO invitado sin modificar



Virtualización – Paravirtualización

Paravirtualización (Paravirtualization)
 El Hypervisor permite compartir el hardware
 Velocidad casi nativa
 Poca Versatilidad, el SO invitado debe ser

modificado.



Virtualización – Virt. de Sist. Oper.

Virtualización de Sistema Operativo
 Un único SO permite armar “jaulas” de procesos

aislados, generalmente servicios.

 Velocidad nativa
 Orientado a aislar servicios, no máquinas



Virtualización

¿Y la Virtualización Asistida por Hardware?

(en x86)



Virtualización – Arquitectura i386

Modos de Ejecución de Instrucciones en x86
 Modo Real

 Modo “original”, Intel 8086/8088
 Modo Protegido: Intel 80286

80386
 Introdujo los Niveles o Anillos de Privilegios
 Permitió ejecutar SOs de conmutación apropiativa (OS/2,



Linux y NT, por ejemplo).

 Modo Virtual 8086 para compatibilidad hacia atrás



Virtualización – Arquitectura i386

Modo Protegido - Anillos de Ejecución

Aplicaciones

Drivers

Núcleo del SO



¿Dónde entra el Hypervisor?



Virtualización – Extens. Intel/AMD

CPUs con Extensiones de Virtualización

Aplicaciones

Drivers

Núcleo del SO

Hypervisor



A partir de Intel “Vanderpool” y AMD “Pacífica” - 2005



Virtualización – KVM
KVM – Kernel Virtual Machine
 Primera solución de virtualización en ser

incluída en el núcleo de Linux (2.6.20)

 Construída a partir de las extensiones de

Virtualización de Intel/AMD para x86.

 Implementa un Hypervisor en un único módulo
 Reutiliza todo lo desarrollado previamente en el

núcleo de Linux:
 Manejo de Procesos
 Manejo de Memoria / Memoria Virtual



 Necesita de un QEmu modificado para el I/O

Virtualización – Esquema KVM



Virtualización – Metiendo mano

¿Mi CPU tiene extensiones de Virtualización?
 $ egrep '(vmx|svm)' /proc/cpuinfo

¿Cómo creo una Máquina Virtual?
 VirtualBox - http://www.virtualbox.org
 KVM - http://www.linux-kvm.org/



DEMO



Virtualización – Debate y Preguntas

¿Y ahora qué software elijo?
¿Qué rendimiento tiene? (link)

Para tener en cuenta: Virtualización de I/O

¿Qué ventajas tengo usando Virtualización?



Consolidación de VMs





Ahorro de Recursos

Virtualización – Links

Links para Investigar
 Documentación de KVM en Ubuntu
 Artículo IBM - Virtual Linux
 Artículo IBM - Discover the Virtual Kernel Machine
 Wikipedia para la teoría
 Google para la práctica
 Ubuntu-Ar para hacer consultas ;-)
  • Links de descarga
http://lwp-l.com/pdf15927

Comentarios de: Virtualización (y Software Libre) KVM (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad