PDF de programación - Virtualización de Servidores KVM: Kernel-based Virtual Machine

Virtualización de Servidores KVM: Kernel-based Virtual Machinegráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 6 de Noviembre del 2017)
480 visualizaciones desde el 6 de Noviembre del 2017
1,8 MB
142 paginas
Creado hace 7a (06/11/2012)
Virtualizaci´on de Servidores
KVM: Kernel-based Virtual Machine

Proyecto de Innovaci´on

.

Implantaci´on y puesta a punto de la infraestructura
de un cloud computing privado para el despliegue de

servicios en la nube

IES Gonzalo Nazareno

Dos Hermanas (Sevilla)
IES Los Albares

Cieza (Murcia)

IES La Campi˜na

Arahal (Sevilla)

IES Ingeniero de la Cierva

Murcia

1 de 141

¿Qu´e vamos a ver? (1)

Conceptos B´asicos

Usando KVM
Instalaci´on
Configuraci´on Inicial
Gesti´on de M´aquinas Virtuales
Almacenamiento: pools y vol´umenes
Formatos de im´agenes
Virtual Networking
KSM
Herramientas

2 de 141

Virtualizaci´on de Servidores: KVM
¿Por d´onde vamos?

Conceptos B´asicos

3 de 141

Contextualizaci´on (1)
Virtualizaci´on de Servidores

• La virtualizaci´on de servidores se ha convertido en muy poco

tiempo en una tecnolog´ıa confiable y una soluci´on muy extendida
en servidores x86.

• KVM, Kernel-based Virtual Machine, es uno de los ´ultimos

hipervisores en hacer su entrada en el mercado, ya abarrotado, de
la virtualizaci´on.

• Como otros hipervidores tipo 1, se integra en un sistema operativo
existente, principalmente Linux, aunque tambi´en se ha portado a
FreeBSD y Illumos (antes OpenSolaris).

• Originariamente solo en arquitecturas x86, portado actualmente a

S/390, PowerPC, IA-64 y en progreso a ARM.

• KVM presenta ciertas peculiaridades ´unicas en su arquitectura.

3 de 141

KVM (1)
¿Qu´e es KVM?

KVM
KVM (Kernel-based Virtual Machine) es un hipervisor tipo 1 que
proporciona una soluci´on completa de virtualizaci´on para el SO Linux
en arquitecturas x86 que cuenten con las extensiones de virtualizaci´on
Intel VT/AMD-V.

Cuando se carga el m´odulo KVM, Linux se convierte en un hipervisor
“bare-metal” (tipo 1) capaz de ejecutar varias m´aquinas virtuales
(VM) aisladas. KVM hospeda las VMs como procesos, por lo que
cada VM puede beneficiarse de todas las caracter´ısticas del kernel de
Linux, incluyendo todas aquellas referentes al hardware, seguridad,
almacenamiento, etc.

4 de 141

Origen de KVM (1)
Un poco de historia

• KVM se inici´o como un proyecto Open Source por la empresa
israel´ı Qumranet.
◦ Curiosamente se inici´o como un proyecto centrado en una soluci´on

VDI para clientes Windows.

• Qumranet fue adquirida en 2008 por Red Hat.
• Red Hat ha centrado su estrategia en KVM para definirlo como la
mejor soluci´on de virtualizaci´on en el mundo Open Source.
◦ En RHEL 5 (Red Hat Enterprise Linux), la soluci´on de virtualizaci´on

escogida era Xen, en RHEL 6 se abandon´o por KVM.

• KVM se implementa como un m´odulo en el kernel de Linux. Se

integr´o en la rama principal del kernel de Linux en la versi´on
2.6.20, en el a˜no 2007. Actualmente es el hipervisor de
virtualizaci´on oficial del kernel de Linux.

5 de 141

Origen de KVM (2)
Un poco de historia

• IBM tambi´en es una de las empresas que apuesta fuerte por KVM.
◦ Ha contribuido en ´areas como la gesti´on de memoria, mejoras en el

rendimiento y el subsistema de E/S virtual. IBM tiene a un gran
n´umero de desarrolladores trabajando sobre KVM y lo ofrece como
soluci´on en su portfolio de software para servidores.

• Otras distribuciones de Linux tambi´en comenzaron a invertir en

KVM e incluirlo en sus distribuciones como el caso de SUSE
´o Ubuntu.

6 de 141

Linux y KVM (1)
Soporte oficial

KVM se incluy´o oficialmente en la rama principal del kernel en la
versi´on 2.6.20 (lanzada en febrero de 2007). Implicaciones:
• KVM forma ahora parte integral del kernel de Linux, por lo que
aparece en todas las distribuciones ya que todas llevan un kernel
m´as actual que el 2.6.20. Que forme parte y tenga capacidades, no
implica que haya soporte comercial ni que se incluyan las
herramientas necesarias.

• KVM es capaz de aprovecharse de la comunidad en torno a Linux,

cualquier mejora sobre el kernel, es una mejora que beneficia a
KVM. Cualquier desarrollador de Linux puede tambi´en beneficiarse
del uso de KVM.

7 de 141

Linux y KVM (2)
Soporte oficial

• El n´umero de versi´on de KVM depende de la versi´on del kernel de

Linux. El kernel 2.6.35 ser´a la revisi´on n´umero 15 de KVM.
Vendedores comerciales s´ı pueden incluir sus propios n´umeros de
versi´on en KVM.

• KVM hereda todos los drivers y el amplio soporte hardware de
Linux, permitiendo poder ejecutarse en cualquier plataforma x86
donde Linux lo haga. Actualmente se est´an realizando ports de
KVM a otras arquitecturas.

8 de 141

KVM (1)
Arquitectura

• KVM es un m´odulo cargable del kernel que permite al SO Linux

actuar un hipervisor “bare metal” tipo 1.

• Un hipervisor puede verse como un SO especializado en la

ejecuci´on de m´aquinas virtuales.
◦ Pero un hipervisor tipo 1 tambi´en tiene que tratar con otras tareas
m´as est´andares como gesti´on de memoria, planificaci´on de procesos,
drivers de dispositivos, E/S.

• El enfoque de KVM es:

◦ Implementar dentro del m´odulo todo lo referente a la gesti´on de VM.
◦ No reinventar la rueda y permitir que todo lo dem´as lo realice un SO

probado y eficaz como Linux.

9 de 141

KVM (1)
Venntajas del enfoque m´odulo+SO

• Los desarrolladores de KVM centran su atenci´on optimizar la

ejecuci´on de procesos que representan m´aquinas virtuales.

• No se replican esfuerzos entre los desarrolladores de KVM y los del

kernel.

• Todos los avances dentro de kernel de Linux como SO, se aplican

simult´aneamente en KVM:
◦ Planificaci´on, control de recursos y gesti´on de memoria.

• Bajo KVM en Linux, las VM son simplemente procesos, cualquier mejora

de Linux en la gesti´on de procesos se aplica directamente en la gesti´on
de VM.

◦ Almacenamiento.

dispositivo de Linux.

10 de 141

• Las im´agenes de disco de las VM se tratan como cualquier otro fichero o

KVM (2)
Venntajas del enfoque m´odulo+SO

• Se puede utilizar para las im´agenes cualquier tipo de almacenamiento
soportado actualmente por Linux: discos locales, una gran variedad de
sistemas de ficheros, sistemas NAS, iSCSI, SAN, etc.

• Cualquier mejora en la pila de almacenamiento ser´a aprovechada por

KVM.

◦ Soporte de hardware.

• KVM hereda todo el ecosistema de dispositivos Linux. KVM
podr´a acceder a cualquier dispositivo soportado por Linux.

• QEMU se utiliza para proporcionar los dispostivos de E/S que las

m´aquinas virtuales “ven”.

• Las mejoras de Linux en cuanto a n´umero de CPUs/cores y grandes
cantidades de RAM, permiten a KVM escalar tal como Linux escala.

◦ Seguridad.

11 de 141

KVM (3)
Venntajas del enfoque m´odulo+SO

• KVM tambi´en puede aprovecharse del modelo de seguridad de Linux

proporcionado tanto por SELinux como por AppArmor. Ambos
proporcionan, b´asicamente, “sandboxes” donde encerrar los procesos. Si
un proceso se ve comprometido, esto no afectar´a al resto del sistema.
Este concepto se aplica de la misma forma a las VM, ya que una VM es
tambi´en un proceso.

• La seguridad proporcionada por SELinux y AppArmor aisla a las VM

entre s´ı y a las VM del hipervisor.

12 de 141

KVM (1)
Arquitectura

13 de 141

KVM (1)
Extensiones nativas para x86

• KVM necesita de forma obligatoria las extensiones de virtualizaci´on

incluidas por Intel y AMD:
◦ Intel Virtualization Technology (Intel VT-x), codename Vanderpool
◦ AMD Virtualization (AMD-V), codename Pacifica (2006).

(2005).

• Permiten a los hipervisores un rendimiento mayor en modo

virtualizaci´on completa.

• De esta forma la virtualizaci´on completa es mucho m´as f´acil de

implementar y ofrece un mayor rendimiento.

• B´asicamente estas extensiones a˜naden un nuevo modo de ejecuci´on

que permiten la ejecuci´on de SSOO invitados sin modificar de
forma eficiente, pero sin dar un control total a ciertos recursos
como la memoria y el procesador.

14 de 141

KVM (2)
Extensiones nativas para x86

• Aunque el procesador la incluya, hay que activarla en BIOS.

15 de 141

KVM y Windows (1)

Aunque KVM est´e muy fuertemente ligado a Linux, el soporte de
Windows como invitado es algo fundamental.
• El origen del soporte de Windows est´a en las misma ra´ıces del

proyecto KVM.

• Qumranet inici´o el desarrollo de KVM pensando en la

virtualizaci´on de escritorios Windows.

• M´as tarde, en 2009, Red Hat firm´o con Microsoft un acuerdo de

interoperabilidad, por el que acordaron probar y soportar sus SSOO
sobre los hipervisores de la otra compa˜n´ıa.

• De esta forma se asegura el rendimiento de los SSOO invitados

as´ı como buenas “maneras” entre ambas empresas.

• SUSE y Microsoft firmaron un acuerdo parecido.
Como invitados funcionan las siguientes versiones de Windows:
16 de 141

KVM y Windows (2)

• Windows Server (2008/2008R2/2003/2000), Windows 7, Windows

Vista, Windows XP, Windows NT.

17 de 141

Gesti´on de la virtualizaci´on (1)
Xen: una historia tumultuosa

Un aspecto clave para el ´exito de un despliegue en virtualizaci´on es la
gesti´on.
• Uno de los aspectos que ha impedido el ´exito de Xen ha sido el no

presentar una interfaz de gesti´on ´unica, lo que llev´o a varias
versiones de Xen en el mercado incompatibles entre s´ı.

Xen era el hipervisor por defecto en RHEL 5, Red Hat lo
reemplaz´o completamente por KVM en RHEL 6.

18 de 141

Gesti´on de la virtualizaci´on (1)
Los est´andares son buenos

Linux y KVM se han estandarizado a trav´es de libvirt y libguestfs,
usadas como APIs base para la gesti´on de las m´aquinas virtuales y de
las im´agenes.
• Adem´as, libvirt es capaz de gestionar no solo a KVM, sino a otros

hipervisores como Xen, VMware ESX, VMware
Workstation/Player, OpenVZ, MS Hyper-V, VirtualBox, etc.

• Muchas de las herramientas utilizadas de alto nivel como virsh

´o virt-manager han sido construidas sobre la librer´ıa base libvirt.

19 de 141

Gesti´on de la virtualizaci´on (1)
KVM y libvirt: arquitectura

Figura: c(cid:13)IBM DeveloperWorks https://www.ibm.com/developerworks/

20 de 141

Caracter´ısticas principales (1)
Lo que KVM ofrece

Las caracter´ısticas principales de KVM son:
• Seguridad

◦ Bajo KVM, cada m´aquina virtual se implementa como un proceso.
◦ KVM se aprovecha del model
  • Links de descarga
http://lwp-l.com/pdf7398

Comentarios de: Virtualización de Servidores KVM: Kernel-based Virtual Machine (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