Guía completa de KVM vs Hyper-V
Comprender las diferencias entre KVM e Hyper-V es esencial a la hora de crear un entorno virtualizado para optimizar la utilización de los recursos de hardware de una organización. En este artículo de blog, explicamos brevemente qué son KVM e Hyper-V, y luego comparamos los dos hipervisores.
Los puntos clave de esta evaluación comparativa son los siguientes:
- Escalabilidad y rendimiento
- Herramientas de gestión
- Opciones de aprovisionamiento de memoria
- Funciones de seguridad
- Capacidades de migración en directo
¿Qué es el hipervisor KVM?
Las siglas KVM corresponden a Kernel-based Virtual Machine (máquina virtual basada en el núcleo). Se trata de una solución de virtualización completa de código abierto en el núcleo de Linux. KVM se ejecuta en procesadores x86 y ofrece a los usuarios funciones de hipervisor para crear entornos virtualizados.
El hipervisor de máquina virtual basado en el núcleo se publicó por primera vez en 2007 como parte de las versiones 2.6.20 y posteriores de Linux. KVM es compatible con varios sistemas operativos, como Linux, Windows, macOS y Haiku, y ofrece funciones de virtualización asistida por hardware. La misma solución también proporciona paravirtualización para Windows, OpenBSD, FreeBSD, entre otros sistemas.
KVM puede utilizarse en la mayoría de las máquinas Linux que tienen CPUs compatibles con la virtualización asistida por hardware. Para instalar KVM, es necesario descargar los paquetes necesarios de los repositorios de software de Linux, además de kvm-qemu y una herramienta de gestión (opcional).
Las herramientas de gestión de virtualización basadas en KVM más comunes son Oracle Linux Virtualization Manager, Proxmox VE y Red Hat Virtualization Manager.
¿Qué es Hyper-V?
Hyper-V es un hipervisor nativo de Microsoft que permite crear y utilizar máquinas virtuales y entornos virtuales. Hyper-V puede ejecutarse en un sistema x86-64 bajo el sistema operativo Windows.
Microsoft Hyper-V se lanzó por primera vez como parte de Windows Server 2008. El hipervisor es un componente descargable opcional de los sistemas Windows Server. Además, Hyper-V tiene una edición gratuita independiente con funciones limitadas y que sólo admite CLI (interfaz de línea de comandos).
Con Hyper-V, puede obtener un conjunto de máquinas virtuales aisladas unas de otras. Esto es posible gracias a la partición específica de padre (raíz) e hijo. Una partición padre, que puede acceder directamente al hardware, ejecuta la pila de gestión de la virtualización. A continuación, esta partición crea particiones hijas que alojan sistemas operativos invitados.
KVM frente a Hyper-V: Una comparación detallada
Ahora que hemos destacado las diferencias generales en nuestra comparación entre Hyper-V y KVM, podemos continuar con más detalles. Consulte la información que figura a continuación para elegir la solución que mejor se adapte a sus necesidades.
Escalabilidad y rendimiento
La escalabilidad y el rendimiento son posiblemente los dos puntos más importantes en cualquier comparación KVM vs Hyper-V. En buen estado, la competencia aquí resulta en empate: tanto Hyper-V como KVM tienen un alto rendimiento y ofrecen una gran escalabilidad.
El software de virtualización KVM se basa en el núcleo Linux, que es una solución de código abierto. Esto significa que KVM puede ejecutarse correctamente en una amplia gama de hardware. El mismo núcleo Linux permite una alta eficiencia y velocidad operativa.
En el lado negativo, la naturaleza de código abierto de KVM puede dar lugar a problemas circunstanciales cuya solución puede llevar tiempo y esfuerzo. Aun así, la base de conocimientos en línea de KVM es considerable, lo que significa que lo más probable es que pueda encontrar su solución rápidamente.
Por otro lado, Hyper-V es el hipervisor propietario de Microsoft empaquetado junto con el SO Windows Server, optimizado para proporcionar el máximo rendimiento en la mayoría del hardware disponible. La escalabilidad de Hyper-V también le permite utilizar su infraestructura de TI con la máxima eficiencia ejecutando varias máquinas virtuales en el host y ampliando y reduciendo sus cargas de trabajo virtuales bajo demanda.
La principal desventaja de Hyper-V es su limitada compatibilidad con sistemas operativos distintos de Windows. Combinado con ciertas complejidades de gestión y posibles problemas de compatibilidad, Hyper-V también puede suponer un reto si no se tiene la experiencia técnica necesaria.
Herramientas de gestión
Como Hyper-V y KVM están diseñados para plataformas subyacentes diferentes, sus herramientas de gestión también difieren.
Para la gestión de Hyper-V, puede utilizar la CLI de Windows PowerShell. En caso de que desee una solución con una interfaz gráfica de usuario, es posible que desee utilizar el Centro de administración de Windows o Hyper-V Manager.
Además, las organizaciones pueden obtener múltiples beneficios de la herramienta de gestión nativa de nivel empresarial proporcionada por Microsoft: System Center Virtual Machine Manager (VMM) para Hyper-V. Los administradores suelen preferir VMM para gestionar los entornos Hyper-V debido a su cómoda e informativa vista de la infraestructura y a sus capacidades de escalabilidad. En contrapartida, es necesario adquirir una licencia dedicada para utilizar Virtual Machine Manager.
Puede realizar todas las tareas de gestión de KVM utilizando únicamente la CLI, al igual que con Hyper-V a través de PowerShell. Aun así, quienes prefieran interfaces gráficas para gestionar sus infraestructuras KVM quizá quieran probar soluciones como Morpheus, virt-manager o Cloonix, entre otras.
Hyper-V y KVM comparten una función importante: una amplia lista de compatibilidad de hardware, que proporciona una gran flexibilidad.
Para KVM, puede utilizar eficazmente cualquier almacenamiento (incluido el almacenamiento conectado directamente y el almacenamiento conectado a la red). A su vez, Hyper-V funciona con cualquier almacenamiento compatible con Windows. Conserve en mente que si planea almacenar archivos VM en un NAS o recurso compartido de archivos de red, necesitará configurar el protocolo de bloque de mensajes de servidor 3.0.
Opciones de aprovisionamiento de memoria
La flexibilidad en el uso de la memoria es otra ventaja compartida por KVM e Hyper-V. Ambos hipervisores pueden utilizar igual de bien la memoria normal o NUMA (acceso no uniforme a la memoria).
Sin embargo, cabe destacar la diferencia entre KVM e Hyper-V en la asignación dinámica de memoria. En Hyper-V, la función de memoria dinámica permite a las máquinas virtuales regular el uso de la memoria en función de las necesidades actuales de la máquina virtual. La demanda no supera los límites de volumen de memoria establecidos. Con la asignación dinámica de memoria, los administradores pueden ejecutar más máquinas virtuales en un único host de sobreaprovisionamiento de memoria.
El hipervisor KVM también permite el sobreaprovisionamiento de memoria. Sin embargo, la implementación de la función es un poco diferente de la de Hyper-V. Las máquinas virtuales KVM son procesos independientes que se ejecutan en el host bajo el sistema operativo Linux. Así, las máquinas virtuales no tienen volúmenes de memoria preasignados. El sistema operativo distribuye la memoria entre las máquinas virtuales en función de las solicitudes. En palabras sencillas, el software de virtualización KVM asigna bloques de memoria a cada máquina virtual bajo demanda.
En caso de que un host KVM se enfrente a una deficiencia de memoria física, el sistema envía algunas páginas de memoria a swap. La cantidad de RAM libre se incrementa bajo demanda, lo que permite la sobreasignación de memoria para el sistema host.
Funciones de seguridad
En lo que respecta a las funciones de seguridad en la comparativa KVM vs Hyper-V, ambas soluciones cuentan con eficaces funciones de seguridad que puede utilizar para garantizar la protección de los datos y el entorno de su organización.
En el caso de KVM, el aislamiento y la seguridad de las máquinas virtuales proceden de las capacidades de dos soluciones. El primero, SELinux (security-enhanced Linux) establece un perímetro de seguridad en torno a las máquinas virtuales. sVirt (virtualización segura) activa la seguridad MAC (Mandatory Access Control) para máquinas virtuales invitadas, añadiendo más capacidades a SELinux y reduciendo el impacto de los errores humanos en la seguridad virtual.
Hyper-V también puede aislar máquinas virtuales para asegurar el entorno ante un único nodo comprometido. Además, la función Secure Boot disponible con las máquinas virtuales Hyper-V gen 2 ayuda a evitar que se ejecuten sistemas operativos, controladores y firmware no autorizados en el momento del inicio. Otras funciones de seguridad de Hyper-V son el cifrado del tráfico en toda una subred, Guarded Fabric (un modelo de seguridad antimalware) y máquinas virtuales blindadas.
Capacidades de migración de máquinas virtuales en directo
La migración en vivo de máquinas virtuales es una función disponible tanto en KVM como en Hyper-V. Con esta función, los administradores pueden mover máquinas virtuales a un servidor diferente sin interrumpir las operaciones de la máquina virtual.
La migración en vivo puede ayudar a las organizaciones a respaldar la continuidad de la producción y la disponibilidad del servicio. Por ejemplo, cuando tenga prevista una sesión de mantenimiento de hardware en su host de virtualización principal, puede mover sus máquinas virtuales cruciales a un servidor secundario. A continuación, el mantenimiento se ejecuta según lo previsto sin interrumpir los flujos de trabajo y las operaciones de su organización.
Además, a veces su host no tiene recursos suficientes para ejecutar las máquinas virtuales que creó originalmente en él. Por ejemplo, una máquina virtual puede volverse demasiado «grande» durante su uso y causar problemas de rendimiento a todo el host. La forma más eficaz de optimizar el rendimiento del host es utilizar las capacidades de migración en vivo de su hipervisor para mover esa máquina virtual a un host diferente sin apagar la máquina virtual.
Conversión entre KVM e Hyper-V
Cuando sea necesario, puede convertir máquinas virtuales KVM para que funcionen en entornos Hyper-V y viceversa. Consulte a continuación las guías sobre la conversión entre KVM e Hyper-V.
Conversión de KVM a Hyper-V
La conversión de máquinas virtuales KVM para su uso en entornos Hyper-V se realiza en tres pasos:
- Instala qemu-ing.
- Para convertir una imagen de disco de una máquina virtual KVM al formato Hyper-V, utilice el siguiente comando:
qemu-img.exe convert sourcefile.qcow2 -O vhdx -o subformat=dynamic destinationfile.vhdx
En este comando, sourcefile es el nombre del archivo de disco de la VM de origen y destinationfile es el nombre del nuevo archivo de disco que desea obtener después de la conversión.
- Cree una nueva máquina virtual en Hyper-V y, a continuación, adjúntele la imagen de disco convertida.
Conversión de Hyper-V a KVM
Para convertir máquinas virtuales Hyper-V en entornos KVM, haga lo siguiente:
- Apague la máquina virtual Hyper-V que necesita convertir. A continuación, seleccione la máquina virtual y, en Hyper-V Manager, pulse Exportar.
- Proporcione el repositorio de destino para los archivos de la máquina virtual.
- Observe los núcleos de procesador, la memoria y la MAC de la máquina virtual exportada.
- Copie el archivo VHDX de la máquina virtual de destino en el entorno KVM.
- En el host KVM, instale virt-v2v.
- Utilice virt-v2v para convertir VHDX a QCOW2 con el siguiente comando:
sudo virt-v2v -i disk sourcefile.vhdx -o local -of qcow2 -os targetfile
- Después de terminar la conversión, anota el SO invitado.
- Utilice VMM para crear una nueva máquina virtual en el entorno KVM.
- Seleccione Importar imagen de disco existente y, a continuación, haga clic en Adelante.
- Busque el archivo vhdx-sda y especifique el sistema operativo que desea instalar. Después de eso, pulsa Adelante.
- Complete la configuración inicial de la nueva máquina virtual: establezca la memoria, la CPU, el nombre de la máquina virtual y especifique los ajustes de red KVM. A continuación, haga clic en Aplicar.
- Configure aquí opciones específicas como MAC. A continuación, en la parte superior de la ventana, seleccione Comenzar instalación.
Consideraciones económicas
El presupuesto de la organización sigue siendo la piedra angular de cualquier elección relativa a los entornos de TI, y la decisión sobre KVM frente a Hyper-V no es una excepción. En cuanto a los precios, KVM tiene una clara ventaja: como solución de código abierto, su uso es gratuito. Además, puede descargar e instalar las herramientas de gestión y los módulos de funciones sin coste adicional. El módulo Microsoft Hyper-V también está disponible de forma gratuita. Sin embargo, el matiz es que Microsoft recomienda actualizar a Windows Server para ejecutar entornos virtualizados Hyper-V.
Conclusión
La elección final entre KVM e Hyper-V depende de las necesidades específicas y del presupuesto de su organización. En caso de que necesite ejecutar máquinas virtuales Windows en un ecosistema conocido y esté dispuesto a destinar fondos para obtener la solución con soporte propietario, Hyper-V es la opción adecuada. Por otro lado, si está dispuesto a dedicar un esfuerzo adicional a la configuración y ajuste de la solución de código abierto, KVM puede proporcionar casi las mismas capacidades y experiencia en términos de gestión, seguridad, escalabilidad y funciones, todo ello de forma gratuita.