cl/content/articles/instalar-un-gestor-de-maquinas-virtuales-en-hyperbola-gnulinux-libre.md
Jesús 228135d19a
fix: egrep is non-standard and deprecated
This grep has been enhanced in an upwards-compatible way to provide
the exact functionality of the historical egrep and fgrep commands
as well. It was the clear intention of the standard developers to
consolidate the three greps into a single command.

- https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html
2020-05-26 18:55:34 -05:00

205 lines
6.1 KiB
Markdown

Author: Jesús E.
Category: Tutorial
Date: 2020-05-03 03:12
Image: 2020/05/virt-manager.jpg
Lang: es
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 un 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
$ 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 openbsd-netcat libvirt firewalld
# 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 (prcesadores AMD)
# modprobe kvm_amd
### Verifique que la máquina virtual este configurada correctamente
$ 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
# rc-service libvirtd start
#### Agregar libvirtd por defecto
# rc-update add libvirtd default
#### Iniciar firewalld
# rc-service firewalld start
#### Agregar firewalld por defecto
# rc-update add firewalld default
#### Quitar Servicios
Si desea quitar los servicios e iniciar solo cuando
usted desee, ejecute:
# 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:
$ 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`:
# 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
### Capturas de pantalla de Virtual Machine Manager
<figure>
<a href="{static}/wp-content/uploads/article/images/2020/05/vm-dragora.png">
<img src="{static}/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="{static}/wp-content/uploads/article/images/2020/05/vm-trisquel.png">
<img src="{static}/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:
# 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