cl/content/articles/instalar-un-gestor-de-maquinas-virtuales-en-hyperbola-gnulinux-libre.md

227 lines
6.5 KiB
Markdown

Author: Jesús E.
Category: Tutorial
Date: 2020-05-03 03:12
Diaspora: https://diasp.org/u/heckyel
Image: 2020/05/virt-manager.jpg
Lang: es
Mastodom: https://masto.nobigtech.es/@heckyel
Slug: instalar-un-gestor-de-maquinas-virtuales-en-hyperbola-gnulinux-libre
Tags: maquinas virtuales, tutorial
Title: Instalar un gestor de máquinas virtuales en Hyperbola GNU/Linux-libre
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][trisquel]{:target="_blank" rel="noopener noreferrer"} y
[Dragora][dragora]{:target="_blank" rel="noopener noreferrer"}
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][qemu]{:target="_blank" rel="noopener noreferrer"}
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][vm]{:target="_blank" rel="noopener noreferrer"}
el cual es muy completo al momento de virtualizar sistemas operativos.
## Instalación de Virtual Machine Manager
### Revisar si su PC soporta virtualización
:::console
$ LC_ALL=C lscpu | grep Virtualization
o ejecutar el comando:
:::console
$ 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
:::console
# pacman -Sy
# pacman -S virt-manager qemu vde2 dnsmasq bridge-utils openbsd-netcat libvirt firewalld
# gpasswd -a <tu-usuario> kvm
# gpasswd -a <tu-usuario> libvirt
### Revisar el grupo kvm
:::console
# 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)
:::console
# modprobe kvm_intel
- Módulo kvm_amd (procesadores AMD)
:::console
# modprobe kvm_amd
### Verifique que la máquina virtual este configurada correctamente
:::console
$ virt-host-validate
### Servicios
Virt-Manager depende de los servicios `libvirtd` y
`firewalld` para funcionar.
A continuación le explicamos cómo inciar esos servicios:
#### Iniciar libvirtd
:::console
# rc-service libvirtd start
#### Agregar libvirtd por defecto
:::console
# rc-update add libvirtd default
#### Iniciar firewalld
:::console
# rc-service firewalld start
#### Agregar firewalld por defecto
:::console
# rc-update add firewalld default
#### Quitar Servicios
Si desea quitar los servicios e iniciar solo cuando
usted desee, ejecute:
:::console
# rc-update del libvirtd default
# rc-update del firewalld 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:
:::console
$ cat /sys/module/kvm_intel/parameters/nested
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`:
:::console
# modprobe -r kvm_intel
2. Activa la función de anidamiento
:::console
# 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`:
:::console
# 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`:
:::console
# modprobe -r kvm_amd
2. Activa la función de anidamiento
:::console
# 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`:
:::console
# nano -w /etc/modprobe.d/kvm.conf
----------------------------------
options kvm_amd nested=1
### Capturas de pantalla de Virtual Machine Manager
<figure>
<a href="{filename}/wp-content/uploads/article/images/2020/05/vm-dragora.png">
<img src="{filename}/wp-content/uploads/article/images/2020/05/vm-dragora.png" alt="Dragora en Virtual Machine Manager">
</a>
<figcaption>Captura de pantalla de Dragora GNU/Linux en Virtual Machine Manager</figcaption>
</figure>
<figure>
<a href="{filename}/wp-content/uploads/article/images/2020/05/vm-trisquel.png">
<img src="{filename}/wp-content/uploads/article/images/2020/05/vm-trisquel.png" alt="Trisquel en Virtual Machine Manager">
</a>
<figcaption>Captura de pantalla de Trisquel GNU/Linux en Virtual Machine Manager</figcaption>
</figure>
### Módulos con problemas de seguridad
El módulo `vhost_net` tiene problemas de seguridad
[CVE-2018-3646][spectre]{:target="_blank" rel="noopener noreferrer"}
que es un error de CPU L1TF y SMT con posible fuga
de datos. Lo recomendable es desactivarlo de la
siguiente manera:
:::console
# modprobe -r vhost_net
Si estás en Hyperbola GNU/Linux-libre este módulo
viene desactivado.
[dragora]: https://dragora.org
[trisquel]: https://trisquel.info
[qemu]: https://wiki.qemu.org/Main_Page
[spectre]: https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html
[vm]: https://virt-manager.org/
*[GUI]: Graphical user interface