Вы находитесь на странице: 1из 30

Msc.

Ivan Gutierrez Agramont, PhDc



Introduccin
KVM (Kernel-based Virtual Machine) es una infraestructura de
virtualizacin para el kernel Linux que (hypervisor) KVM necesita
que el hard!are (Microprocesador) soporte virtualizacin o ten"a
extensiones de virtualizacin
KVM fue portado a #ree$%& e 'llu(os co(o (odulos adicionales
al kernel
KVM en un principio slo era soportado por (icroprocesadores
x)*+ pero ya fue portado a %,-./+ 0o!er01+ '2-*3 y final(ente
24M (desde el kernel -.)

%e pueden virtualizar practica(ente cualquier siste(a
operativo con KVM+ cualquier Linux+ $%&+ %olaris+ 5indo!s+
6aiku+ 4eact7%+ 0lan.+ 247% (4esearch 7peratin" %yste()+
Mac 7% 8 y cualquier 9:'8
%oporta paravirtualizacin de for(a nativa (cuando la full
virtualization no funciona) para los si"uientes siste(as
operativos huesped; Linux+ 7pen$&%+ #ree$%&+ :et$%&+
0lan . y 5indo!s <sto (ediante el uso de la 20' Virt'7
Virt'7 soporta una tar=eta de red+ un controlador para 6&& y
todos los dispositivos de for(a paravitualizada (%i(ilar a
VM5are)
<l Kernel Linux >*>/ (#ebrero de >//?) fue el pri(er kernel
en ya incluir KVM
Origen de KVM
Origen de KVM

KVM se inicio como un proyecto Open Source por la


empresa o israel Qumranet.

Curiosamente se inicio como un proyecto centrado en una


solucin o VDI para clientes Windows.

Qumranet ue ad!uirida en "##$ por %ed&at.

%ed&at 'a centrado su estrategia en KVM para de(nirlo


como la me)or solucin de *irtuali+acin en el mundo
Open Source.

,n %&,- . /%ed &at ,nterprise -inu012 la solucin de


*irtuali+acin o escogida era 3en2 en %&,- 4 se a5andono
por KVM.

IBM IBM tam5i6n es una de las empresas !ue apuesta uerte


por KVM.

&a contri5uido en 7reas como la gestin de memoria2


me)oras en el rendimiento y el su5sistema de ,8S
*irtual. I9M tiene a un gran n:mero de desarrolladores
tra5a)ando so5re KVM y lo orece como una solucin
en su portaolio de sotware para ser*idores.

Otras distri5uciones de -inu0 tam5i6n comen+aron a


in*ertir en KVM e incluirlo en sus distri5uciones como el
caso de SUSE SUSE o Ubuntu Ubuntu.

KVM orma a'ora parte integral del ;ernel de -inu02 por


lo !ue aparece en todas las distri5uciones ya !ue todas
lle*an un ;ernel m7s actual !ue el ".4."#. Que orme
parte y tenga capacidades2 no implica !ue 'aya soporte
comercial ni !ue se incluyan las 'erramientas necesarias.
KVM es capa+ de apro*ec'arse de la comunidad en torno
a -inu02 cual!uier me)ora so5re el ;ernel2 es una me)ora
!ue 5ene(cia a KVM. Cual!uier desarrollador de -inu0
puede tam5i6n 5ene(ciarse
del uso de KVM.

<un!ue el procesador la incluya2 'ay !ue acti*arla en


9IOS.

Diseo
KVM no realiza e(ulaciones+ en realidad expone la interface
,dev,kv( donde un espacio de usuario puede funcionar;

1onfi"ura el espacio de la direccin del "uest <l host+ entre"a


una i(a"en del fir(!are ($'7%) con la cual el %iste(a
7perativo del "uest puede arrancar (&eben entender el
proceso de arranque)

%e ali(enta el ',7 virtualizado

%e (apea el video hacia el host


<n Linux+ @<M9 traba=a a velocidades cuasi nativas (hard!are)+
pero cuando al"o no es soportado recurre a la e(ulacin de
soft!are

Licencias
KVM tienen (uchas partes y cada una de ellas una licencia
diferente;

KVM kernel (odule; A0L v>

KVM user (odule; LA0L v>

@<M9 virtual 109 core library (libqe(ua) B @<M9 01


syste( e(ulator; LA0L

Linux user (ode @<M9 e(ulator; A0L

$'7% files (biosbin+ v"abiosbin and v"abios-cirrusbin);


LA0L v>

Herramientas de administracin
Graficas (GUI)

K'M16' C $asado en la !eb

91% Virtual Machine Mana"er C $asado en la !eb+ soporta


KVM y 8<: (ba=o !indo!s)

2rchipel C $aso en la 5eb y soporta libvirt+ utiliza 8M00

5itsbits C '(ple(enta de for(a si(plificada %aa% con una


!eb 9'

Virtual Machine Mana"er C La (Ds co(pleta+ soporta la


creacin+ edicin+ inicio+ pausado y parado de (aquinas
virtuales KVM asE co(o (uchas otras caracterEsticas

1onVirt C %i(ilar al anterior+ pero con (enos funcionalidades


0rox(ox Virtual <nviron(ent C <s un paquete de


virtualizacin Libre+ que incluye KVM+ 7penVF+ e instala
a(bos+ viene con una A9'

7pen:ode C servidor de virtualizacin de 46<L,1ent7%+


es considerada una solucin de virtualizacin con
instaladores y aplicaciones de ad(inistracin de KVM y
7penVF

7pen@4M C 0latafor(a de ad(inistracin para data


centers hetero"eneos

%olusVM C %oporta KVM+ 8en y 7penVF

Virtualizor C %i(ilar al anterior



Hardware Emulado
Gipo &ispositivo
Video 1irrus 1LA& H33* 01' VA2 card+ du((y VA2 con
extensiones $ochs V<%2+ o Vir"il co(o un virtual -& A09
01' i33/#8 host 01' brid"e y 0''8- 01' to '%2 brid"e
'nput 0%,> Mouse and Keyboard
%onido %ound $laster I*+ <:%7:'@ 2udio01' <%I-?/+ Aravis
9ltrasound A#I+ 1%3>-I2 co(patible
<thernet 2M& 2(?.1.?/2 (2(?../)+ <I/// ('ntel )>H3/<M+
)>H?-L+ )>H33A1)+ :<>/// y 4ealtek 4GL)I-.
5atchdo" ti(er 'ntel *-//<%$ or '$?//
42M &esde H/ M$ hasta -> G$
109 &esde I hasta I*/ 109s

Algunas Implementaciones

'llu(os based distributions

7pen'ndiana

4ed 6at <nterprise Linux (46<L) H3J

%(art7%

%9%< Linux <nterprise %erver (%L<%) II %0I J

9buntu I//3 LG% J

Aentoo Linux

9nivention 1orporate %erver



Funcionamiento
KVM es Knico+ ya que en su desarrollo+ en lu"ar de crear
porciones o un kernel especifico de %iste(a 7perativo co(o un
hypervisor+ co(o otros hypervisors hicieron+ KVM desarroll un
(Ltodo en el que volvieron al kernel Linux un hypervisor
<sto fue creado de for(a tal que sea lo (enos intrusivo
volviendose un (dulo del kernel 'nte"raron asE las capacidades
de un hypervisor en el kernel Linux co(o (odulos car"ables+
entonces se puede tener una ad(inistracin (as si(plificada y
esto se traduce en (e=or perfor(ance <sta fue la razon por la
cual ahora se tiene a KVM co(o un (dulo del kernel

<sta visin tiene (uchas venta=as+ los entornos de
virtualizacin se benefician de todo el kernel Linux en si $a=o
este (odelo+ cada (aquina virtual es un proceso re"ular del
kernel Linux+ asE es calendarizada de for(a estMndar por el
Linux scheduler
Gradicional(ente+ un proceso nor(al de Linux tiene dos
(odos de e=ecucin; nKcleo y de los usuarios <l (odo de
usuario es el (odo por defecto para las aplicaciones+ y una
aplicacin entra en (odo kernel cuando se requiere al"Kn
servicio al nKcleo+ co(o escribir en el disco duro

KVM a"re"a un tercer (odo+ el (odo de invitado Los
procesos de (odo de huLspedes son procesos que se
e=ecutan desde dentro de la (Mquina virtual <l (odo de
invitado+ al i"ual que el (odo nor(al (e=e(plo no
virtualizado)+ tiene sus propias variaciones del nKcleo y
espacio de usuario
kill y ps nor(ales funcionan en (odos de huLspedes (de
la instancia no virtualizada)+ una (Mquina virtual KVM se
(uestra co(o un proceso nor(al+ y puede ser (atada al
i"ual que cualquier otro proceso

KVM hace uso de la virtualizacin de
hard!are para virtualizar estados de
procesador+ y la "estin de la (e(oria de
la (Mquina virtual se (ane=a desde el
interior del nKcleo ' , 7 en la versin
actual se (ane=a en el espacio de usuario+
principal(ente a travLs de @<M9

9na instalacin KVM consiste de los si"uiente;

9n controlador de dispositivo para la "estin de la virtualizacin de


hard!areN este controlador expone sus capacidades a travLs de un
persona=e del dispositivo ,dev,kv(

9n co(ponente de espacio de usuario para e(ular el hard!are de


01N 2ctual(ente+ esto se (ane=a en el espacio de usuario y es un
proceso @<M9 li"era(ente (odificado

<l (odelo ' , 7 se deriva directa(ente de @<M9+ con soporte para


las i(M"enes de copia en escritura de disco y otras caracterEsticas de
@<M9

KVM vs los otros?
KVM es un proyecto relativa(ente reciente en co(paracin con sus
co(petidores <n una entrevista con 2vi Kivity+ el desarrollador principal+
co(par KVM con soluciones alternativas;
O<n (uchos sentidos+ VM!are es una tecnolo"Ea innovadora VM!are
lo"ra virtualizar co(pleta(ente el notoria(ente co(ple=a arquitectura
x)* utilizando slo tLcnicas de soft!are+ y para lo"rar un rendi(iento
(uy bueno y la estabilidad 1o(o resultado+ VM!are es una pieza (uy
"rande y co(ple=a de soft!are KVM + por el contrario+ se basa en las
nuevas tecnolo"Eas de virtualizacin de hard!are que han aparecido
reciente(ente
1o(o tal+ es (uy pequePa (alrededor de I/ /// lEneas ) y relativa(ente
si(ple 7tra "ran diferencia es que VM!are es propietario+ (ientras
KVM es de cdi"o abierto (Las nuevas versiones de VM5are estan
utilizando KVM para la virtualizacin)Q

8en es un proyecto bastante "rande+ proporcionando la
paravirtualizacin y la virtualizacin co(pleta <stM disePado
co(o un nKcleo independiente+ que slo requiere Linux para
realizar ',7 <sto hace que sea bastante "rande+ ya que tiene
su propio pro"ra(ador+ ad(inistrador de (e(oria+ (ane=o
de te(porizador y la inicializacin de la (Mquina
KVM+ por el contrario+ utiliza el planificador de Linux estMndar+
la "estin de (e(oria y otros servicios
<sto per(ite a los desarrolladores KVM concentrarse en la
virtualizacin+ basMndose en el nKcleo central en lu"ar de
ree(plazarlo

@<M9 es un e(ulador de espacio de usuario <s un proyecto
bastante increEble + e(ulando una variedad de procesadores
co(o invitado en varios procesadores centrales + con un
rendi(iento bastante decente

%in e(bar"o + la arquitectura del espacio de usuario no le
per(ite acercarse a velocidades nativas sin un acelerador de
kernel KVM reconoce la utilidad de @<M9 usMndolo para ',7
de e(ulacin de hard!are 2unque KVM no estM vinculado a
nin"Kn espacio de usuario en particular + el cdi"o de @<M9
era de(asiado bueno para no usar - asE que se lo utilizQ

KVM + sin e(bar"o+ no es perfectoN tiene al"unas li(itaciones+
co(o las si"uientes;

%oporte %M0 para los hosts que falta en la versin actual

2=uste del rendi(iento (tunnin")


%in e(bar"o + el proyecto continKa a un rit(o acelerado+ y de
acuerdo con 2vi Kivity + KVM ya estM (Ms avanzado que 8en en
(uchas Mreas sino todas (<ntrevista a 2vi Kivity en >//))


Cmo funciona la virtualizacin
La platafor(a de virtualizacin es una tecnolo"Ea anti"ua N %in
e(bar"o + en los Klti(os aPos + los siste(as operativos y de
hard!are han (adurado hasta el punto de hacer que la pro(esa
de la virtualizacin una realidad La parte (Ms funda(ental de la
virtualizacin es el hipervisor <l hipervisor actKa co(o una capa
entre el siste(a operativo huLsped virtualizado y el hard!are real
(co(o se vio en la anterior clase)
<n al"unos casos + el hipervisor es un siste(a operativo + tal co(o
co(o 8en N en otros casos + es el soft!are a nivel de usuario+ tales
co(o VM!are <l siste(a operativo huLsped virtualizado + o la
instancia virtualizada + es un siste(a operativo aislado que ve a la
platafor(a de hard!are subyacente co(o pertenecientes a la
(is(a 0ero+ en realidad + el hipervisor proporciona esa ilusin

Compatibilidad con el procesador
para virtualizacin
&ebido al resur"i(iento del interLs en la tecnolo"Ea de
virtualizacin + los fabricantes de (icroprocesadores
han actualizado sus procesadores para tener soporte
nativo para virtualizacin %i lo hace+ per(ite que el
procesador ad(ite un hipervisor directa(ente y
si(plifica la tarea de escritura de hipervisores+ co(o es
el caso de KVM <l procesador (ane=a los estados de
procesador para los siste(as operativos invitados y
anfitrin + y ta(biLn "estiona las ',7 y las interrupciones
en no(bre del siste(a operativo virtualizado

=estin y Virtuali+acin
=estin y Virtuali+acin
>n aspecto cla*e para el 60ito de un despliegue en
*irtuali+acin es la gestin.

>no de los aspectos !ue 'a impedido el 60ito de 3en


'a sido el no presentar una intera+ de gestin :nica2
lo !ue lle*o a *arias *ersiones de 3en en el mercado
incompati5les entre s.
3en era el 'iper*isor por deecto en %&,- .2 %ed &at lo
reempla+ completamente por KVM en %&,- 4
-inu0 y KVM se 'an estandari+ado a tra*6s de libvirt libvirt y
libguestfs libguestfs2 usadas como <?Is 5ase para la gestin de las
m7!uinas *irtuales y de las im7genes.

<dem7s2 libvirt libvirt es capa+ de gestionar no solo a KVM2


sino a otros a 'iper*isores como 3en2 VMware ,S32
Vmware Wor;station8?layer2 OpenV@2 MS &yperAV2
Virtual9o02 etc.

Muc'as de las 'erramientas utili+adas de alto ni*el


como virsh virsh o virt-manager virt-manager 'an sido construidas
so5re la li5rera 5ase libvirt libvirt.

Instalacin de KVM
KVM se ha aPadido a (uchos repositorios de distribucin
especEfica+ incluyendo %9%< + #edora (desde la versin ?
viene con KVM inte"rado)+ &ebian y 9buntu ( desde #eisty )
0ara otras distribuciones+ es necesario descar"ar un kernel
de la versin >*>/ y superiores 2l co(pilar un nKcleo
personalizado+ seleccionen los controladores de dispositivos
y habiliten el soporte para la virtualizacin basada en
hard!are
Ga(biLn pueden descar"ar el (dulo KVM =unto con las
utilidades de espacio de usuario requeridos desde
sourcefor"enet,pro=ect,sho!filesphpR"roupSid T I)/H..

onclusi!n
1on la introduccin de KVM en el kernel de Linux+ las futuras
distribuciones de Linux se han incorporado en el apoyo para la
virtualizacin+ dMndoles una venta=a sobre otros siste(as
operativos
:o habrM necesidad de nin"Kn tipo de instalacin de arranque
dual en el futuro+ ya que todas las aplicaciones que se requieren
pueden e=ecutar directa(ente desde el escritorio de Linux
KVM es slo uno (Ms de los (uchos hipervisores de cdi"o
abierto existentes+ reafir(ando que el cdi"o abierto ha sido
funda(ental para el avance de la tecnolo"Ea de virtualizacin y
"racias a esta naturaleza sencilla de ad(inistrar las cosas a
KVM+ se dio paso a al"o (uy i(portante en 1loud 1o(putin"+
7pen%tack

Gracias

Вам также может понравиться