====== Problema: `WARNING: neither Intel VT-x or AMD-V found` no PNETLab no KVM ======
===== Descrição =====
A mensagem de erro ocorre quando o **PNETLab** está sendo executado como máquina virtual no **KVM**, mas as extensões de virtualização de hardware (**Intel VT-x** ou **AMD-V**) não estão sendo expostas para a VM. Isso impede que o PNETLab funcione corretamente.
===== Causa =====
* O suporte à **virtualização aninhada** (Nested Virtualization) não está habilitado no servidor KVM.
* As configurações da máquina virtual do PNETLab não expõem as instruções de virtualização para a VM.
===== Solução =====
==== Passo 1: Habilitar Virtualização Aninhada no Host KVM ====
No servidor KVM, verifique e habilite a virtualização aninhada conforme o processador.
- **Verificar suporte à virtualização aninhada:**
* **Intel:**
cat /sys/module/kvm_intel/parameters/nested
* **AMD:**
cat /sys/module/kvm_amd/parameters/nested
**Resultado esperado:**
`Y` ou `1` (habilitado).
Caso contrário, siga os passos abaixo.
- **Habilitar virtualização aninhada:**
* **Intel:**
echo "options kvm-intel nested=1" | sudo tee /etc/modprobe.d/kvm-intel.conf
sudo modprobe -r kvm_intel
sudo modprobe kvm_intel
* **AMD:**
echo "options kvm-amd nested=1" | sudo tee /etc/modprobe.d/kvm-amd.conf
sudo modprobe -r kvm_amd
sudo modprobe kvm_amd
- **Validar:**
* **Intel:**
cat /sys/module/kvm_intel/parameters/nested
* **AMD:**
cat /sys/module/kvm_amd/parameters/nested
Certifique-se de que o resultado seja **`Y` ou `1`**.
==== Passo 2: Editar Configuração da VM PNETLab ====
Edite o XML da máquina virtual do PNETLab para expor as extensões de virtualização.
- **Acessar o XML da VM:**
sudo virsh edit nome-da-vm
- **Adicionar ou modificar a seção ``:**
- **Certifique-se de que os recursos básicos estão configurados:**
- Salve e saia.
==== Passo 3: Reiniciar a Máquina Virtual e Verificar ====
- Reinicie a VM:
sudo virsh shutdown nome-da-vm
sudo virsh start nome-da-vm
- Verifique se o suporte à virtualização está habilitado dentro da VM:
egrep -o '(vmx|svm)' /proc/cpuinfo
**Saída esperada:**
`vmx` (Intel) ou `svm` (AMD).
===== Conclusão =====
Após realizar esses passos, a mensagem de erro será eliminada, e o **PNETLab** funcionará corretamente no KVM.
===== Notas Adicionais =====
* Certifique-se de que o **KVM** e o **libvirt** estão atualizados.
* Caso esteja utilizando um ambiente de virtualização em nested (VM dentro de outra VM), habilite o suporte de virtualização aninhada no host principal.