3- Qué tipo de virtualización puedo usar?

Imagen de Epe

Bueno, existen dos tipos en Xen. Paravirtualización y full virtualización.

Paravirtualización es mucho más rápida pues se integran llamadas desde el kernel al hipervisor sin requerir de la ayuda del procesador.Sin embargo se necesita tener el mismo kernel en el dom0 y en los domU, esto es: sólo podrías instalar linux con el mismo kernel,

Es más, no podrías bootear una máquina normal, sino que tendrías que hacer una instalación en base a yum o debootstrap (vieron, ya sé de debian y sus hijitos!) desde un chroot y después bootear. Más tarde veremos eso.

En todo caso, me gusta más la paravirtualización pues me ofrece velocidades cercanas a la velocidad nativa del procesador (con sólo un 8% de degradación en el peor de los escenarios).

2- Full Virtualización: El procesador se encargará de emular las llamadas, de ésta forma se puede arrancar desde un CD, el sistema trabajará full nativo es decir, el sistema se pensará que está él solito en el procesador. No se requieren modificaciones al kernel, por lo tanto se pueden instalar varios sistemas operativos como domU sinque ellos se enteren en principio.

A mi me parecía excitante esto de full virtualización, pero en mediciones que he realizado he notado que hay una gran degradación del desempeño de la full virtualización en lo que respecta a la red (casi un 50% menos de aprovechamiento de la red). Estudios que he analizado indican que es menos eficiente que la paravirtualización. En realidad no es algo que pueda o no mejorar el xen, sino que la full virtualización depende del procesador (ah, sólo he probado en intel con vmx). Supongo que a medida que intel y amd vayan comprendiendo muchas cosas, podrán ir mejorando su tecnología de virtualización.

Para determinar si puedo correr en full virtualización, hagamos esto:

cat /proc/cpuinfo | grep vmx


[root@xen ~]# cat /proc/cpuinfo |grep vmx
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc up pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm

Si te aparece algo, te salvastes. Si te fijas bien, en la cantidad de información de las banderas, a mi me aparece vmx.. eso es.. permite full virtualización éste procesador.

Si no te aparece vmx, si no te aparece nda, quizá tengas un AMD que sí lo permita, Si tienes un amd pon esto entonces:


cat /proc/cpuinfo|grep svm

svm es como se llama la virtualización en amd.

Si te aparece.. felicidades.. si no te aparece... hum, no te deprimas.. tu máquina no permitirá full virtualización, sino solamente paravirtualización.

A mi me gusta la paravirtualización, así que no es algo que me quite el sueño. En realidad la que dice vmx es una maquina prestada. Donde comencé a usar Xen fue en un amd durón de 1.6ghz.

Cualquier i686 en adelante te permitirá experimentar con la paravirtualización.