Red Hat Training

A Red Hat training course is available for RHEL 8

18.2. Criando uma máquina virtual aninhada na AMD

Siga os passos abaixo para habilitar e configurar a virtualização aninhada em um host AMD.

Atenção

Atualmente, a virtualização aninhada é fornecida apenas como uma prévia tecnológica sobre a arquitetura AMD64, e, portanto, não tem suporte.

Pré-requisitos

  • Um host L0 RHEL8 rodando uma máquina virtual L1 (VM).
  • A CPU hipervisor deve suportar a virtualização aninhada. Para verificar, use o comando cat /proc/cpuinfo no hipervisor L0. Se a saída do comando incluir as bandeiras svm e npt, a criação de L2 VMs é possível. Este é geralmente o caso nos núcleos do AMD EPYC e mais tarde.
  • Garantir que a virtualização aninhada seja habilitada no host L0:

    # cat /sys/module/kvm_amd/parameters/nested
    • Se o comando retornar Y ou 1, o recurso estará ativado e você poderá iniciar o Procedimento abaixo...
    • Se o comando retornar 0 ou N, use os seguintes passos para habilitar o recurso.

      1. Parar todas as VMs em funcionamento no host L0.
      2. Descarregue o módulo kvm_amd:

        # modprobe -r kvm_amd
      3. Ativar o recurso de aninhamento:

        # modprobe kvm_amd nested=1
      4. O recurso de aninhamento está agora ativado, mas apenas até a próxima reinicialização do host L0. Para habilitá-lo permanentemente, adicione o seguinte ao arquivo /etc/modprobe.d/kvm.conf:

        opções kvm_amd nested=1

Procedimento

  1. Configure sua L1 VM para uma virtualização aninhada.

    1. Abra a configuração XML da VM. O exemplo a seguir abre a configuração da VM AMD-L1:

      # virsh edit AMD-L1
    2. Configure a CPU da VM para usar o modo host-passthrough.

      <cpu mode='host-passthrough'/>

      Se você precisar que a VM utilize uma CPU específica ao invés de host-passthrough, adicione uma linha <feature policy='require' name='vmx'/> à configuração da CPU. Por exemplo:

      <cpu mode ='custom' match ='exact' check='partial'>
      <model fallback='allow'>Haswell-noTSX</model>
      <feature policy='require' name='vmx'/>
  2. Criar uma L2 VM dentro da L1 VM. Para fazer isto, siga o mesmo procedimento que ao criar a L1 VM.