====== 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 [[https://trisquel.info|Trisquel]] y [[https://dragora.org|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.
[[https://wiki.qemu.org/Main_Page|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 [[https://virt-manager.org/|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 kvm
# gpasswd -a 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 [[https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html|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.