Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Hyper-V controles de recursos de CPU do host introduzidos no Windows Server 2016 ou posterior permitem que os administradores de Hyper-V gerenciem e aloquem melhor os recursos da CPU do servidor host entre a partição "raiz" ou de gerenciamento e as VMs convidadas. Usando esses controles, os administradores podem dedicar um subconjunto dos processadores de um sistema host à partição raiz. Isso pode segregar o trabalho feito em um host Hyper-V das cargas de trabalho em execução em máquinas virtuais convidadas, executando-as em subconjuntos separados dos processadores do sistema.
Para obter detalhes sobre hardware para Hyper-V hosts, consulte Windows 10 Hyper-V Requisitos do sistema.
Background
Antes de definir controles para os recursos de CPU do host Hyper-V, é útil rever os conceitos básicos da arquitetura Hyper-V. Você pode encontrar um resumo geral na seção ArquiteturaHyper-V . Estes são conceitos importantes para este artigo:
Hyper-V cria e gerencia partições de máquina virtual, através das quais os recursos de computação são alocados e compartilhados, sob controle do hipervisor. As partições fornecem limites de isolamento fortes entre todas as máquinas virtuais convidadas e entre VMs convidadas e a partição raiz.
A partição raiz é em si uma partição de máquina virtual, embora tenha propriedades exclusivas e privilégios muito maiores do que as máquinas virtuais convidadas. A partição raiz fornece os serviços de gerenciamento que controlam todas as máquinas virtuais convidadas, fornece suporte a dispositivos virtuais para convidados e gerencia todas as E/S de dispositivos para máquinas virtuais convidadas. A Microsoft recomenda enfaticamente não executar nenhuma carga de trabalho de aplicativo em uma partição de host.
Cada processador virtual (VP) da partição raiz é mapeado 1:1 para um processador lógico subjacente (LP). Um VP de host sempre será executado no mesmo LP subjacente – não há migração dos VPs da partição raiz.
Por padrão, os LPs nos quais os VPs do host são executados também podem executar VPs convidados.
Um VP convidado pode ser agendado pelo hipervisor para ser executado em qualquer processador lógico disponível. Embora o agendador do hipervisor tenha o cuidado de considerar a localidade do cache temporal, a topologia NUMA e muitos outros fatores ao agendar um VP convidado, em última análise, o VP pode ser agendado em qualquer LP do host.
A configuração mínima de raiz ou "minroot"
As primeiras versões do Hyper-V tinham um limite máximo de arquitetura de 64 VPs por partição. Isso se aplicava tanto à partição raiz como à partição de convidado. À medida que sistemas com mais de 64 processadores lógicos apareceram em servidores de alto desempenho, a Hyper-V também evoluiu os seus limites de escala de host para suportar esses sistemas maiores, em determinado momento suportando um host com até 320 LPs. No entanto, quebrar o limite de 64 VPs por partição naquela época apresentou vários desafios e introduziu complexidades que tornaram o suporte a mais de 64 VPs por partição proibitivo. Para resolver isso, Hyper-V limitou o número de VPs dados à partição raiz a 64, mesmo que a máquina subjacente tivesse muito mais processadores lógicos disponíveis. O hipervisor continuaria a utilizar todos os LPs disponíveis para executar VPs convidados, mas limitou artificialmente a partição raiz em 64. Esta configuração tornou-se conhecida como a configuração "raiz mínima", ou "minroot". Os testes de desempenho confirmaram que, mesmo em sistemas de grande escala com mais de 64 LPs, não eram necessários mais de 64 VPs raiz para fornecer suporte suficiente a um grande número de VMs convidadas e VPs convidadas – na verdade, muitas vezes menos de 64 VPs raiz eram adequados, dependendo do número e tamanho das VMs convidadas, das cargas de trabalho específicas em execução, etc.
Este conceito de "minroot" continua a ser utilizado hoje. Na verdade, mesmo que o Windows Server 2016 Hyper-V tenha aumentado seu limite máximo de suporte de arquitetura para LPs de host para 512 LPs, a partição raiz ainda será limitada a um máximo de 320 LPs.
Usando o Minroot para restringir e isolar recursos de computação do host
Com o alto limite padrão de 320 LPs no Windows Server 2016 Hyper-V, a configuração minroot só será utilizada nos maiores sistemas de servidor. No entanto, esse recurso pode ser configurado para um limite muito mais baixo pelo administrador do host Hyper-V e, portanto, aproveitado para restringir muito a quantidade de recursos da CPU do host disponíveis para a partição raiz. O número específico de LPs raiz a serem utilizados deve, é claro, ser escolhido cuidadosamente para suportar as demandas máximas das VMs e cargas de trabalho alocadas ao host. No entanto, valores razoáveis para o número de LPs de host podem ser determinados por meio de avaliação cuidadosa e monitoramento de cargas de trabalho de produção e validados em ambientes que não sejam de produção antes de uma ampla implantação.
Ativando e configurando o Minroot
A configuração minroot é controlada através de entradas BCD do hipervisor. Para habilitar o minroot, a partir de um prompt cmd com privilégios de administrador:
bcdedit /set hypervisorrootproc n
Onde n é o número de VPs raiz.
O sistema deve ser reinicializado e o novo número de processadores raiz persistirá durante o tempo de vida da inicialização do sistema operacional. A configuração minroot não pode ser alterada dinamicamente em tempo de execução.
Se houver vários nós NUMA, então cada nó receberá n/NumaNodeCount processadores.
Observe que, com vários nós NUMA, tem de assegurar-se de que a topologia da VM esteja de forma a que existam LPs suficientes livres (ou seja, LPs sem VPs raiz) em cada nó NUMA de modo a executar os VPs dos nós NUMA da VM correspondente.
Verificando a configuração Minroot
Você pode verificar a configuração minroot do host usando o Gerenciador de Tarefas, conforme mostrado abaixo.
Quando Minroot estiver ativo, o Gerenciador de Tarefas exibirá o número de processadores lógicos atualmente alocados ao host, além do número total de processadores lógicos no sistema.