it-swarm-es.com

¿Xen vs VirtualBox bajo carga pesada?

¿Cuál funciona mejor con un uso intensivo de CPU y memoria en los servidores virtuales, Xen o VirtualBox?

10
chaos

Xen generalmente funcionará mucho mejor que VirtualBox porque VirtualBox ejecuta el sistema operativo invitado de una manera que el sistema operativo invitado no sabe que se está ejecutando en un entorno virtual. O para decirlo de otra manera, el sistema operativo invitado no se modifica para ejecutarse virtualmente. Debido a esto, VirtualBox tiene que 'atrapar' las instrucciones del tipo de kernel, ejecutar un código personalizado y luego devolver el control al invitado. Puede utilizar el soporte de virtualización de hardware proporcionado por Intel y AMD, pero incluso entonces la sobrecarga se suma.

Mientras tanto, Xen se asegura de que el sistema operativo invitado se vuelva a compilar para adaptarse al modelo Xen. Por lo tanto, el control fluye sin problemas desde el sistema operativo invitado al hipervisor, sin la sobrecarga de tener que fingir que el sistema operativo invitado tiene acceso directo al hardware.

Para obtener una descripción general de varias tecnologías de virtualización, incluidos los datos de las pruebas de rendimiento, lea este informe . Solo habla de Linux, pero cubre Linux-Vserver, Xen, OpenVZ, KVM, VirtualBox y QEMU. Linux-Vserver y Xen fueron generalmente los de mejor desempeño, pero lea el informe para ver las diferentes cargas de trabajo.

Habiendo dicho todo lo anterior, puede haber algunas áreas en las que VirtualBox supere a Xen. Si su sistema operativo invitado tiene una capa de ventanas gráficas, entonces VirtualBox tiene un buen soporte para eso, particularmente si instala algunos componentes especiales de VirtualBox en el sistema operativo invitado.

Y, por último, debe saber que Xen solo ejecutará un sistema operativo invitado modificado. No puede ejecutar un sistema operativo invitado sin modificar.

25
Hamish Downer

Respuesta de Hamish Downer está equivocado en su último punto. Xen puede ejecutar invitados sin modificar, sin embargo, deben ejecutarse como invitados HVM que están completamente virtualizados. Hacer esto requiere que la computadora host tenga soporte de virtualización de hardware con CPU con capacidad Intel VT o AMD-V.

Xen y Virtualbox tienen un lugar cada uno, pero son dos tipos diferentes de hipervisores. Xen es un hipervisor de tipo 1 donde Virtualbox es un hipervisor de tipo 2. Los hipervisores de tipo 1 tienden a ser lo que se encuentra en entornos de servidor donde los hipervisores de tipo 2 tienden a ser más comunes para ejecutar varios sistemas operativos con los que interactúa como escritorios. Creo que esto se debe principalmente a su simplicidad y mejor integración de escritorio. Sin embargo, los invitados de un hipervisor de tipo 2 están más alejados del hardware subyacente y tienden a ser más lentos que los invitados de un hipervisor de tipo 1. Como con todo, siempre habrá una excepción a la regla.

29
3dinfluence

Solo puedo hablar de Xen, ya que solo he usado Virtualbox para virtualizar una máquina con Windows en mi escritorio Mac.

Como han mencionado otros, Xen (y XenServer, que se basa en Xen) utiliza kernels paravirtualizados que mejoran drásticamente las características de rendimiento vinculadas a la CPU y la memoria. Sin embargo, esto solo es cierto para hosts Linux con núcleos especializados. Necesita un kernel "habilitado" para Xen para poder aprovechar esto.

Además, Windows no admite la virtualización de esta manera, pero las extensiones Intel VT y AMD-V en sus respectivas CPU "capturan" Windows y lo hacen comportarse de una manera paravirtualizada. Windows 2003 y Windows 2000 nunca se dan cuenta de que se están ejecutando virtualizados, mientras que Windows 2008, por otro lado, lo detecta y se ejecuta en el modo llamado "iluminado", que se puede comparar con el modo "paravirtualizado" de Linux.

3
user1952