Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 18. Criando máquinas virtuais aninhadas

RHEL 8.2 e mais tarde fornecer suporte total ao recurso KVM nested virtualization nos hosts Intel. Isto torna possível que uma máquina virtual (também referida como level 1, ou L1) que funciona em um host físico RHEL 8 (level 0, ou L0) possa atuar como um hipervisor e criar suas próprias máquinas virtuais (level 2 ou L2).

Em outras palavras, um host RHEL 8 pode operar máquinas virtuais L1 (VMs), e cada uma dessas VMs pode hospedar VMs L2 aninhadas.

A virtualização aninhada não é recomendada em ambientes de produção de usuários, pois está sujeita a várias limitações de funcionalidade. Em vez disso, a virtualização aninhada destina-se principalmente ao desenvolvimento e testes, para os quais pode ser útil em uma variedade de cenários, como por exemplo:

  • Depuração de hipervisores em um ambiente restrito
  • Teste de implantações virtuais maiores em uma quantidade limitada de recursos físicos

É possível criar VMs aninhadas em múltiplas arquiteturas, mas atualmente a Red Hat suporta VMs aninhadas somente em sistemas Intel. Em contraste, a virtualização aninhada em sistemas AMD, IBM POWER9, e IBM Z é fornecida apenas como uma Technology Preview e, portanto, não é suportada.

18.1. Criando uma máquina virtual aninhada na Intel

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

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 vmx e ept, a criação de L2 VMs é possível. Este é geralmente o caso nos núcleos Intel Xeon v3 e mais tarde.
  • Garantir que a virtualização aninhada seja habilitada no host L0:

    # cat /sys/module/kvm_intel/parameters/nested
    • Se o comando retornar 1, o recurso estará habilitado e você poderá iniciar o Procedimento abaixo.
    • Se o comando retornar 0 ou N mas seu sistema suportar a virtualização aninhada, use os seguintes passos para habilitar o recurso.

      1. Descarregue o módulo kvm_intel:

        # modprobe -r kvm_intel
      2. Ativar o recurso de aninhamento:

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

        opções kvm_intel aninhado=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 Intel-L1:

      # virsh edit Intel-L1
    2. Adicione a seguinte linha à configuração:

      <cpu mode='host-passthrough'/>

      Se o arquivo de configuração XML da VM já contém um elemento <cpu>, reescreva-o.

  2. Criar uma L2 VM dentro da L1 VM. Para fazer isto, siga o mesmo procedimento que ao criar a L1 VM.