Instalar un administrador de máquinas virtuales
Tu sistema principal puede ser Hyperbola GNU/Linux-libre de arquitectura x86_64, por ejemplo, pero con suficiente memoria y poder de procesamiento usted pordría ejecutar Trisquel y Dragora al mismo tiempo, dentro de la misma máquina.
Qué es un máquina virtual?
Una máquina virtual es un software que simula un sistema de computación y puede ejecutar programas como si fuese una computadora real. Este software en un principio fue definido como “un duplicado eficiente y aislado de una máquina física”.
Qué programas me permiten ejecutar una máquina virtual?
En los sistemas operativos totalmente libres existe un programa llamado qemu que nos permite virtualizar.
Qemu funciona a través de línea de comandos, pero también existen GUI, que como su nombre indica son interfaces gráficas para el usuario.
En esta guía explicamos cómo instalar Virtual Machine Manager el cual es muy completo al momento de virtualizar sistemas operativos.
Instalación de Virtual Machine Manager
Revisar si su PC soporta virtualización
$ LC_ALL=C lscpu | grep Virtualization
o ejecutar el comando:
$ lsmod | grep kvm
Si su computadora admite virtualización, debería ver la salida como Virtualización: VT-x o Virtualización: AMD-V, caso contrario su ordenador no es capaz de virtualizar.
Instalando Virtual Machine Manager
# pacman -Sy
# pacman -S virt-manager qemu vde2 dnsmasq bridge-utils libvirt
# gpasswd -a <tu-usuario> kvm
# gpasswd -a <tu-usuario> libvirt
Revisar el grupo kvm
# grep -E 'group="kvm"|group="78"' /etc/libvirt/qemu.conf
Comprobar si existe group=“kvm” o group=“78”
Habilitar módulos del kernel para virtualización
- Módulo kvm_intel (procesadores Intel)
# modprobe kvm_intel
- Módulo kvm_amd (procesadores AMD)
# modprobe kvm_amd
Verifique que la máquina virtual este configurada correctamente
$ virt-host-validate
Servicios
Virt-Manager depende del servicio libvirtd para funcionar. A continuación le explicamos cómo inciar ese servicio:
Iniciar libvirtd
# rc-service libvirtd start
Agregar libvirtd por defecto
# rc-update add libvirtd default
Quitar Servicio
Si desea quitar el servicio e iniciar solo cuando usted desee, ejecute:
# rc-update del libvirtd default
Habilitar la virtualización anidada en KVM
La virtualización anidada le permite ejecutar una máquina virtual (VM) dentro de otra VM mientras sigue utilizando la aceleración de hardware del host.
Comprobando si la virtualización anidada es compatible
Para los procesadores Intel, verifique el archivo /sys/module/kvm_intel/parameters/nested. Para procesadores AMD, verifique el archivo /sys/module/kvm_amd/parameters/nested. Si ve 1 o Y, se admite la virtualización anidada; si ve 0 o N, la virtualización anidada no es compatible.
Por ejemplo:
$ cat /sys/module/kvm_intel/parameters/nested
Devuelve Y
Habilitar la virtualización anidada para procesadores Intel:
1. Apague todas las máquinas virtuales en ejecución y recargue el módulo kvm_intel:
# modprobe -r kvm_intel
2. Activa la función de anidamiento
# modprobe kvm_intel nested=1
3. La virtualización anidada se habilita hasta que se reinicia el host. Para habilitarlo permanentemente, agregue la siguiente línea al archivo /etc/modprobe.d/kvm.conf:
# nano -w /etc/modprobe.d/kvm.conf ---------------------------------- options kvm_intel nested=1
Habilitar la virtualización anidada para procesadores AMD
1. Apague todas las máquinas virtuales en ejecución y recargue el módulo kvm_amd:
# modprobe -r kvm_amd
2. Activa la función de anidamiento
# modprobe kvm_amd nested=1
3. La virtualización anidada se habilita hasta que se reinicia el host. Para habilitarlo permanentemente, agregue la siguiente línea al archivo /etc/modprobe.d/kvm.conf:
# nano -w /etc/modprobe.d/kvm.conf ---------------------------------- options kvm_amd nested=1
Módulos con problemas de seguridad
El módulo vhost_net tiene problemas de seguridad CVE-2018-3646 que es un error de CPU L1TF y SMT con posible fuga de datos. Lo recomendable es desactivarlo de la siguiente manera:
# modprobe -r vhost_net
Si estás en Hyperbola GNU/Linux-libre este módulo viene desactivado.