====== Instalar um administrador de maquinas virtuais ======
O sistema principal utilizado pode ser Hyperbola GNU/Linux-libre de arquitectura x86_64, por exemplo, mas com memoria suficiente e poder de processamento poderá utilizar [[https://trisquel.info|Trisquel]] e [[https://dragora.org|Dragora]] ao mesmo tempo, dentro do mesmo sistema.
===== O que é uma máquina virtual? =====
Uma máquina virtual e um software que simula um sistema de computação e que pode executar programas como se fosse um sistema real. Este software em principio definido como "uma cópia eficiente e isolada de uma máquina física".
===== Que programa me permite executar uma máquina virtual? =====
Nos sistemas operacionais totalmente livres existe um programa chamado qemu que nos permite virtualizar.
[[https://wiki.qemu.org/Main_Page|Qemu]] funciona através de linha de comandos, mas também existem GUI, que como o seu nome indica são interfaces gráficas para o usuário.
Neste guia explicamos como instalar [[https://virt-manager.org/|Virtual Machine Manager]] que é bastante completo no que diz respeito a virtualização de sistemas operacionais.
====== Instalação Virtual Machine Manager ======
===== Verificar se o seu PC suporta virtualização =====
$ LC_ALL=C lscpu | grep Virtualization
execute este comando:
$ lsmod | grep kvm
Se o seu computador suporta virtualização, deverá ver o output como Virtualización: VT-x ou Virtualización: AMD-V, caso contrário o seu computador não e capaz de virtualizar.
===== Instalação de Virtual Machine Manager =====
# pacman -Sy
# pacman -S virt-manager qemu vde2 dnsmasq bridge-utils libvirt
# gpasswd -a kvm
# gpasswd -a libvirt
===== Revisão do grupo kvm =====
# grep -E 'group="kvm"|group="78"' /etc/libvirt/qemu.conf
Comprovar se existe group="kvm" ou group="78"
===== Habilitar os modulos do kernel para a virtualização =====
* Modulo kvm_intel (processadores Intel)
# modprobe kvm_intel
* Modulo kvm_amd (processadores AMD)
# modprobe kvm_amd
===== Verifique se a máquina virtual está configurada corretamente =====
$ virt-host-validate
===== Serviço =====
Virt-Manager depende deste serviço libvirtd para funcionar. Em seguida lhe explicaremos como iniciar o mesmo:
==== Inicializar libvirtd ====
# rc-service libvirtd start
==== Adicionar libvirtd ao sistema de Initialização ====
# rc-update add libvirtd default
==== Remover Serviço ====
Se desejar remover o serviço e iniciar so quando desejar, execute:
# rc-update del libvirtd default
===== Habilitar a virtualização alinhada em KVM =====
A virtualização alinhada permite-lhe executar uma máquina virtual (VM) dentro de outra, equanto estiver usando a aceleração de hardware do host.
===== Verificar se a virtualização alinhada e suportada =====
Para os processadores Intel, verifique o ficheiro /sys/module/kvm_intel/parameters/nested. Para processadores AMD, verifique o ficheiro /sys/module/kvm_amd/parameters/nested. Se vir 1 ou Y, a virtualização aninhada e suportada; se vir 0 ou N, a virtualização aninhada não e suportada.
Exemplo:
$ cat /sys/module/kvm_intel/parameters/nested
Devolve Y
===== Habilitar a virtualização alidada para processadores Intel: =====
1. Apague todas as maquinas virtuais em execução e recaregue o modulo kvm_intel:
# modprobe -r kvm_intel
2. Active a função de aninhamento
# modprobe kvm_intel nested=1
3. A habilidade de criar maquinas virtuais alinhadas será permanente ate reniciar o host. Para habilitar-lo permanentemente, adicione a seguinte linha ao arquivo /etc/modprobe.d/kvm.conf:
# nano -w /etc/modprobe.d/kvm.conf
----------------------------------
options kvm_intel nested=1
===== Abilitar a virtualização aninhada para processadores AMD =====
1. Apague todas as maquinas virtuais em execução e recaregue o modulo kvm_amd:
# modprobe -r kvm_amd
2. Active a função de aninhamento
# modprobe kvm_amd nested=1
3. A abilidade de criar maquinas virtuais aninhadas sera permanente ate reniciar o host. Para abilitar-lo permanentemente, adicione a seguinte linha ao ficheiro /etc/modprobe.d/kvm.conf:
# nano -w /etc/modprobe.d/kvm.conf
----------------------------------
options kvm_amd nested=1
===== Módulos com problemas de segurança =====
O modulo vhost_net tem problemas de segurança [[https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html|CVE-2018-3646]] que e um error de CPU L1TF y SMT con possivel fuga de dados. Recomendamos que o desative da seguinte maneira:
# modprobe -r vhost_net
Se está usando Hyperbola GNU/Linux-libre este modulo vem desativado.