[ubuntu-ar] Emular VT-X en una VM

Marcelo Fernández fernandezm22 at yahoo.com.ar
Sun Mar 1 15:39:27 GMT 2009


Sebastian Abate escribió:
> Lo que me molesta de KVM es que no soporta paravirtualización, con lo
> que se desperdician muchos recursos cuando se quiere virtualizar un
> Linux dentro de otro Linux. Y aunque para este tipo de virtualización
> existe OpenVZ (que no es virtualización propiamente dicho, pero
> bueno...), el problema es que OpenVZ no soporta otros sistemas
> operativos, por lo que si yo quiero correr un Host o dom0 Linux, y dos
> VM o domU (una Linux y otra Windows) no podría hacerlo; y este mismo
> escenario con KVM me obliga a correr el Linux virtualizado en modo
> full (perdiendo performance).

Hola Sebastián, dejame tomarme el atrevimiento de corregirte en esta 
idea. KVM, al necesitar y estar diseñado para aprovechar las extensiones 
de virtualización por hardware, tiene una performance equivalente a una 
paravirtualización.

Básicamente, KVM (y las extensiones por hardware del micro) hacen que el 
mismo kernel de Linux maneje las VMs como procesos.

Cito de acá [1]:

"The approach that KVM takes is to turn a Linux kernel into a hypervisor 
simply by loading a kernel module. The kernel module exports a device 
called /dev/kvm,  which enables a guest mode of the kernel (in addition 
to the traditional kernel and user modes). With /dev/kvm, a VM has its 
own address space separate from that of the kernel or any other VM 
that's running. Devices in the device tree (/dev) are common to all 
user-space processes. But /dev/kvm is different in that each process 
that opens it sees a different map (to support isolation of the VMs).

KVM then simply turns the Linux kernel into a hypervisor (when you 
install the kvm kernel module). Because the standard Linux kernel is the 
hypervisor, it benefits from the changes to the standard kernel (memory 
support, scheduler, and so on). Optimizations to these Linux components 
(such as the new O(1) scheduler in the 2.6 kernel) benefit both the 
hypervisor (the host operating system) and the Linux guest operating 
systems. But KVM isn't the first to do this. UML has been transforming 
the Linux kernel into a hypervisor for quite some time. With the kernel 
acting as a hypervisor, you can then start other operating systems, such 
as another Linux kernel or Windows."

[1] http://www.ibm.com/developerworks/linux/library/l-linux-kvm/

Te sugiero leer también:
http://udrepper.livejournal.com/15795.html

Es por todo esto que KVM "es el futuro" en virtualización. En cuanto a 
las perspectivas futuras, este post es buenísimo y estoy 100% de acuerdo:

http://diegocg.blogspot.com/2009/02/virtualizacion-la-oportunidad-de-linux.html

Espero haberte hecho cambiar de opinión. :-)

IMHO, habiendo probado KVM, la performance es *muy buena* (no probé Xen 
antes, pero diría que es similar a que si corriera en "el metal"). El 
problema (por poco tiempo) son las herramientas libres disponibles (las 
libvirt) que están un poquito verdes aún, pero con el impulso de RedHat 
y Ubuntu esperemos que pronto el virt-manager[2] quede con todas las 
funcionalidades :-)

De todas maneras, mediante la consola todo anda muy bien.

[2] http://virt-manager.et.redhat.com/page/Main_Page

Saludos
Marcelo
-- 
Marcelo F. Fernández
Buenos Aires, Argentina
Licenciado en Sistemas - CCNA

E-Mail: fernandezm22 en yahoo.com.ar
Jabber ID: fernandezm22 en jabber.org
Public Key ID: 5C990A6C 111C3661
Blog: http://marcelosoft.blogspot.com



More information about the Ubuntu-ar mailing list