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.