Xen admite tipos de virtualización
Xen admite la ejecución de dos tipos diferentes de invitados. Los invitados Xen a menudo se llaman domUs (dominios sin privilegios). Ambos tipos de invitados (PV, HVM) se pueden usar al mismo tiempo en un solo sistema Xen.
Paravirtualización Xen (PV)
La paravirtualización es una técnica de virtualización eficiente y liviana introducida por Xen, más tarde adoptada también por otras soluciones de virtualización. La paravirtualización no requiere extensiones de virtualización de la CPU del host. Sin embargo, los invitados paravirtualizados requieren un kernel especial que se ejecute para ejecutarse de forma nativa en Xen, por lo que los invitados conocen el hipervisor y pueden ejecutar de manera eficiente sin emulación o hardware virtual emulado. Los núcleos invitados Xen PV existen para los sistemas operativos Linux, NetBSD, FreeBSD, OpenSolaris y Novell Netware.
Los invitados PV no tienen ningún tipo de hardware virtual emulado, pero la consola gráfica todavía es posible usando guest pvfb (paravirtual framebuffer). La consola gráfica del invitado PV se puede ver usando el cliente VNC o el virt-viewer de Redhat. Hay un servidor VNC separado en dom0 para el PVFB de cada huésped.
Upstream kernel.org Los kernels de Linux desde Linux 2.6.24 incluyen soporte para invitado Xen PV (domU) basado en el marco pvops de Linux, por lo que cada kernel Linux anterior puede usarse automáticamente como kernel invitado Xen PV sin parches o modificaciones adicionales.
Consulte la página wiki de XenParavirtOps para obtener más información sobre el soporte de Xen para pvops de Linux.
Virtualización completa de Xen (HVM)
Los huéspedes totalmente virtualizados, también conocidos como HVM (Máquina virtual de hardware) requieren extensiones de virtualización de la CPU de la CPU del host (Intel VT, AMD-V). Xen usa la versión modificada de Qemu para emular el hardware completo de la PC, incluyendo BIOS, controlador de disco IDE, adaptador gráfico VGA, controlador USB, adaptador de red, etc. para invitados HVM. Las extensiones de virtualización de la CPU se utilizan para aumentar el rendimiento de la emulación. Los invitados totalmente virtualizados no requieren un kernel especial, por lo que, por ejemplo, los sistemas operativos Windows se pueden usar como invitados Xen HVM. Los invitados totalmente virtualizados suelen ser más lentos que los invitados paravirtualizados, debido a la emulación requerida.
Para aumentar el rendimiento, los huéspedes de HVM totalmente virtualizados pueden usar controladores de dispositivos paravirtuales especiales para evitar la emulación de disco y red IO. Los invitados Xen Windows HVM pueden usar los controladores GPLPV de código abierto. Consulte la página wiki de XenLinuxPVonHVMdrivers para obtener más información sobre los controladores Xen PV-on-HVM para los invitados de Linux HVM.
KVM no es Xen en absoluto, es otra tecnología, donde KVM es un módulo de kernel nativo de Linux y no un kernel adicional, como Xen. Lo que hace que KVM sea un mejor diseño. La desventaja aquí es que KVM es más nuevo que Xen, por lo que podría faltar algunas de las características.
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).
fuente