====== 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.