Xen
es un hipervisor que se ejecuta en metal (la PC / servidor) y luego aloja máquinas virtuales llamadas dominios.
Un Xen PV
dominio es un dominio paravirtualizado , lo que significa que el sistema operativo (generalmente estamos hablando de Linux aquí) ha sido modificado para ejecutarse bajo Xen, y no hay necesidad de emular hardware. Este debería ser el camino más eficiente, en cuanto al rendimiento.
Un Xen HVM
dominio es un dominio emulado por hardware , lo que significa que el sistema operativo (podría ser Linux, Windows, lo que sea) no se ha modificado de ninguna manera y el hardware se emula. Esto es bastante lento, por lo que generalmente instala controladores PV en el sistema operativo invitado para hardware crítico (generalmente disco y red), por lo que el invitado en su conjunto se ejecutará completamente virtualizado, pero las piezas de hardware más críticas para el rendimiento se ejecutarán paravirtualizadas. Los sistemas Linux recientes tienen controladores pv para el disco y la red en el kernel, y también existen varios controladores PV para Windows. Con todo el desarrollo de HVM en los últimos años, generalmente hay poca diferencia en el rendimiento entre HVM y PV para cargas de trabajo estándar.
KVM
no es Xen, es otra plataforma de virtualización construida dentro del kernel de Linux. Desde el punto de vista del invitado , se parece a Xen HVM: el invitado se ejecuta completamente virtualizado y hay un controlador específico para ejecutar algunas partes paravirtualizadas (nuevamente, disco y red).
Tanto Xen HVM como Linux KVM necesitan soporte de virtualización asistida por hardware (Intel VT-x, AMD AMD-V), mientras que Xen PV no funciona pero no puede ejecutar sistemas operativos sin soporte PV (no puede ejecutar Windows en Xen PV).
Tanto Xen HVM como Linux KVM utilizarán partes del software de virtualización qemu para emular hardware real para dispositivos que no usan controladores PV en el sistema invitado.
Xen (tanto PV como HVM) puede realizar la migración en vivo de un invitado en ejecución de un servidor físico a otro, no sé si KVM también puede hacerlo.
Tanto Xen como KVM no pueden comprometer en exceso la memoria, por lo que generalmente se obtiene "RAM verdadera", mientras que otras plataformas como VMware pueden intercambiar parte de la memoria RAM invitada en el disco.
Existen diferencias, pero generalmente se aplican a instalaciones específicas y no al servidor privado virtual genérico para la venta a otras personas. Por ejemplo, los hipervisores Xen recientes admiten memoria trascendente que podría mejorar la utilización de la memoria y el rendimiento del invitado si el invitado lo admite (kernels de Linux> = 3.algo).
Todas esas tecnologías le brindarán una gran experiencia si se implementan correctamente, y no harán una gran diferencia desde su punto de vista. Por supuesto, hay mil maneras en que las cosas pueden salir mal y eso no está relacionado con la solución de virtualización específica (es decir, su invitado podría almacenarse en discos lentos y eso perjudicaría su rendimiento).