Creación de VMs dentro de DaDesktop usando Virt Manager
Introducción
A menudo, al preparar un curso, resulta útil virtualizar un servidor dentro de DaDesktop y, quizás, también una o dos máquinas cliente de la misma manera, utilizando el mismo sistema operativo o una combinación de Windows y Linux.
La ejecución de 'Máquinas virtuales anidadas' se puede realizar usando Virt Manager o VirtualBox, opcionalmente con Vagrant cuando se usa Linux, o VirtualBox si se utiliza Windows 10 como la máquina DaDesktop.
Después de realizar pruebas exhaustivas, nuestra sugerencia es utilizar Virt Manager, ya que hay un par de errores si se usa VirtualBox; por lo tanto, actualmente no recomendamos el uso de VirtualBox de esta manera.
La aplicación VirtManager utiliza la biblioteca libvirt para ofrecer servicios de gestión de máquinas virtuales. Dispone de una interfaz de escritorio que facilita la creación, eliminación y gestión de múltiples máquinas virtuales. Se utiliza principalmente para MV KVM, pero también puede admitir otros hipervisores, como Xen y LXC.
Virt Manager también funciona muy bien con Vagrant, simplemente: –
apt install vagrant-libvirt
Cabe señalar que hay menos cajas de Vagrant disponibles que utilicen libvirt/kvm en comparación con VirtualBox, pero estas se pueden convertir fácilmente para funcionar con libvirt, como se muestra aquí: –
https://medium.com/@gamunu/use-vagrant-with-libvirt-unsupported-boxes-12e719d71e8e
La interfaz de usuario ofrece una vista de resumen de todas las máquinas virtuales, su estado, uso de CPU, un gráfico de rendimiento EN VIVO de las máquinas virtuales en ejecución y estadísticas de uso de recursos.
Si no has usado Virt Manager antes, es muy similar a VirtualBox, pero con algunas diferencias importantes que se describen a continuación.
Esta es una buena guía sobre el uso de virt-manager en Ubuntu Linux: https://www.debugpoint.com/virt-manager/
¿Por qué debería usar Virt Manager en lugar de VirtualBox?
Ventajas
- El rendimiento es mucho mejor: Virt Manager utiliza controladores VirtIO para almacenamiento, redes y gráficos, lo que proporciona un rendimiento mucho mejor. Los controladores Virtio son los controladores de dispositivos paravirtualizados de KVM, disponibles para máquinas virtuales invitadas Linux y Windows que se ejecutan en hosts KVM. El paquete virtio admite dispositivos de bloque (almacenamiento), controladores de interfaz de red y gráficos. Los controladores VirtIO son de código abierto, por lo que se instalan fácilmente si no están preinstalados en tu distribución Linux.
- Más opciones de configuración disponibles
- Funciona bien con Vagrant
- Algunas partes de VirtualBox no son completamente de código abierto
- Virt Manager no necesita recompilaciones de módulos cada vez que se realiza una actualización del kernel, como ocurre con VirtualBox.
- Se sabe que VirtualBox a veces se rompe cuando se requiere una actualización del kernel.
Desventajas
- Se podría decir que VirtualBox tiene una curva de aprendizaje ligeramente más corta
- Configurar la 'red de host' en lugar de NAT es más fácil en VirtualBox; sin embargo, NAT funciona para la mayoría de los casos de uso de red con bastante facilidad en ambos sistemas.
- VirtualBox está disponible en muchas plataformas, pero Virt Manager solo está disponible en Linux
En resumen, para ejecutar servidores dentro de una máquina DaDesktop, consideramos que Virt Manager es la opción preferida.
Instalación
Dado que libvirt mejora constantemente, utiliza siempre la versión más reciente de Ubuntu o Debian que no sea LTS.
Instalación de kvm, virt-manager. Estas son notas de instalación muy breves, pero te recomendamos seguir una guía actualizada para tu sistema operativo DaDesktop preferido. Esta es una guía: https://www.debugpoint.com/virt-manager/
sudo apt install virt-manager
sudo adduser student libvirt sudo systemctl restart libvirtd
Reinicia la máquina DaDesktop y ejecuta Virt Manager desde el menú de aplicaciones.
Configuración
-
¿Cómo importar o convertir máquinas virtuales? Aunque es fácil crear máquinas virtuales según tus necesidades de sistema operativo y especificaciones, a menudo, para configuraciones más complejas, se prefiere importar una configuración de máquina virtual existente de un servidor o dispositivo específico. A menudo, estos se suministran como imágenes VMDK que se pueden añadir directamente a Virt Manager, aunque no está claro que esto sea posible en la versión actual. Para las imágenes de servidor de VirtualBox, estas no se pueden importar (agregar) directamente a Virt Manager, pero se pueden exportar fácilmente a otros formatos de virtualización, como el Formato Abierto de Virtualización (.OVF), que Virt Manager puede importar sin problemas. De lo contrario, se podría usar VmWare Converter si se dispone de él, o Virt-V2V en su lugar: https://www.redhat.com/en/blog/importing-vms-kvm-virt-v2v. Qemu-convert también es una excelente herramienta de código abierto que permite una fácil conversión entre diferentes formatos de máquinas virtuales.
Para convertir de VirtualBox al formato KVM de Virt Manager, sigue estas instrucciones: https://ostechnix.com/how-to-migrate-virtualbox-vms-into-kvm-vms-in-linux/ -
Mejor forma de importar archivos grandes en modo independiente. Recientemente, se ha añadido una forma de subir archivos fácilmente desde tu máquina al interior de tu máquina DaDesktop.
De lo contrario, considera el uso de una herramienta de almacenamiento en la nube como Google Drive, Microsoft 365, etc. Luego se puede acceder a ellos iniciando sesión en la herramienta dentro de la máquina DaDesktop.
- Al importar otras máquinas virtuales, especialmente de otros formatos, a menudo será necesario cambiar los tipos de gráficos y/o de disco. Una de las mejores características de Virt Manager es que incluye un soporte realmente excelente para los controladores VirtIO. Estos son controladores completamente virtualizados de código abierto que ofrecen un rendimiento mucho mejor en comparación con los controladores originales de disco, red o gráficos, y están disponibles para casi todos los sistemas operativos, incluido un excelente soporte para máquinas invitadas Windows 10. Si tu sistema operativo invitado los admite, suelen ser la opción preferida para compatibilidad y rendimiento al usar Virt Manager (KVM). https://wiki.archlinux.org/title/Libvirt
-
Configuraciones óptimas para máquinas virtuales con Virt Manager. Los controladores VirtIO están incluidos en casi todos los sistemas operativos de servidor de código abierto hoy en día y se pueden instalar fácilmente en Windows. Por lo general, los mejores controladores son virtio, pero en algunos casos puede ser necesario usar uno de los otros tipos. Normalmente, NAT es suficiente para la mayoría de los casos de red, a menos que se requiera una configuración más compleja donde se necesite la red en puente (Bridged Host), aunque esto suele ser más complicado de configurar.
https://wiki.manjaro.org/index.php?title=Virt-manager es una excelente guía de inicio aquí.
Ejecutar Windows requiere algunos pasos adicionales y será necesario integrar los controladores VirtIO para permitir que la imagen ISO de Windows 10 arranque.
Al elegir el formato del disco duro, para mayor velocidad se recomiendan los archivos .raw, a menos que se requieran instantáneas; en ese caso, utiliza el formato qcow2, aunque es un poco más lento. - Aunque Wayland funciona bien en la mayoría de los casos como gestor de ventanas, recomendamos que sigas usando X11 por ahora. Dicho esto, puede valer la pena probar Wayland en tu configuración particular, y las distribuciones están mejorando el soporte para Wayland constantemente.
- No te molestes en usar ksm, ya que aunque funciona de forma anidada y en Virt Manager, en la práctica apenas marca la diferencia.
- Soporte Técnico está disponible si se necesita al convertir imágenes de disco para que funcionen con Virt Manager, y también para la configuración del uso de Virt Manager en cursos de DaDesktop.
-
¿Dónde se encuentran los archivos de imagen de disco dentro del sistema de archivos? Virt Manager utiliza la siguiente ubicación para almacenar los archivos de imagen; sin embargo, esto es configurable y se pueden usar otras ubicaciones si se prefiere.
/var/lib/libvirt/images