Modo de compatibilidade dinâmica do processador
Aplica-se a: Azure Local, versão 22H2
O modo de compatibilidade do processador dinâmico é atualizado para aproveitar os novos recursos do processador em um ambiente clusterizado. A compatibilidade do processador funciona determinando os recursos suportados do processador para cada nó individual no cluster e calculando o denominador comum em todos os processadores. As máquinas virtuais (VMs) são configuradas para usar o número máximo de recursos disponíveis em todos os servidores do cluster. Isso melhora o desempenho em comparação com a versão anterior da compatibilidade do processador, que tinha como padrão um conjunto mínimo e fixo de recursos do processador.
Quando usar o modo de compatibilidade do processador
O modo de compatibilidade do processador permite mover uma VM ativa (migração ao vivo) ou mover uma VM salva entre nós com diferentes conjuntos de capacidades de processamento. No entanto, mesmo quando a compatibilidade do processador está ativada, não é possível mover VMs entre hosts com diferentes fabricantes de processadores. Por exemplo, não é possível mover VMs em execução ou VMs de estado salvo de um host com processadores Intel para um host com processadores AMD. Se você precisar mover uma VM dessa maneira, desligue a VM primeiro e, em seguida, reinicie-a no novo host.
Importante
Apenas Hyper-V VMs com a versão de configuração mais recente (10.0) se beneficiam da configuração dinâmica. As VMs com versões mais antigas não se beneficiam da configuração dinâmica e não continuarão a usar recursos de processador fixo da versão anterior.
Recomendamos habilitar o modo de compatibilidade do processador para VMs em execução no Azure Local. Isso fornece o mais alto nível de recursos e, quando é hora de migrar para um novo hardware, mover as VMs não requer tempo de inatividade.
Observação
Você não precisa usar o modo de compatibilidade do processador se planeja parar e reiniciar as VMs. Sempre que uma VM é reiniciada, o sistema operacional convidado enumera as compatibilidades do processador disponíveis no novo computador host.
Por que o modo de compatibilidade do processador é necessário
Os fabricantes de processadores geralmente introduzem otimizações e recursos em seus processadores. Esses recursos geralmente melhoram o desempenho ou a segurança usando hardware especializado para uma tarefa específica. Por exemplo, muitos aplicativos de mídia usam recursos de processador para acelerar cálculos vetoriais. Esses recursos raramente são necessários para que os aplicativos sejam executados; eles aumentam o desempenho.
O conjunto de recursos disponível em um processador varia de acordo com sua marca, modelo e idade. Os sistemas operacionais e o software de aplicativos normalmente enumeram o conjunto de recursos do processador do sistema quando são iniciados pela primeira vez. O software não espera que os recursos disponíveis do processador mudem durante sua vida útil, o que nunca acontece quando executado em um computador físico, porque os recursos do processador são estáticos, a menos que o processador seja atualizado.
No entanto, os recursos de mobilidade da VM permitem que uma VM em execução seja migrada para um novo host de virtualização. Se o software na VM detetar e começar a usar um recurso de processador específico e, em seguida, a VM for movida para um novo host de virtualização sem esse recurso, o software provavelmente falhará. Isso pode resultar na falha do aplicativo ou da VM.
Para evitar falhas, o Hyper-V executa verificações de pré-voo sempre que uma migração de VM ao vivo ou uma operação de salvamento/restauração é iniciada. Essas verificações comparam o conjunto de recursos do processador que estão disponíveis para a VM no host de origem com o conjunto de recursos que estão disponíveis no host de destino. Se esses conjuntos de recursos não corresponderem, a operação de migração ou restauração será cancelada.
O que há de novo no modo de compatibilidade do processador
No passado, todos os novos conjuntos de instruções do processador estavam ocultos, o que significa que o sistema operacional convidado e o software do aplicativo não podiam usar aprimoramentos do conjunto de instruções do processador para ajudar os aplicativos e as VMs a permanecerem performantes.
Para superar essa limitação, o modo de compatibilidade do processador agora fornece recursos dinâmicos aprimorados em processadores capazes de SLAT (conversão de endereços de segundo nível). Essa nova funcionalidade calcula o denominador comum dos recursos da CPU suportados pelos nós no cluster e atualiza o modo de compatibilidade do processador existente em uma VM para usar esse conjunto de recursos calculado dinamicamente em vez do antigo conjunto de recursos codificados.
O novo modo de compatibilidade do processador garante que o conjunto de recursos do processador disponíveis para VMs em hosts de virtualização corresponda, apresentando um conjunto de recursos comum em todos os servidores do cluster. Cada VM recebe o número máximo de conjuntos de instruções do processador presentes em todos os servidores do cluster. Esse processo ocorre automaticamente e é sempre habilitado e replicado em todo o cluster, portanto, não há nenhum comando para habilitar ou desabilitar o processo.
Usando o modo de compatibilidade do processador
Há conceitos importantes a serem compreendidos ao usar o modo de compatibilidade do processador no Hyper-V:
As VMs em execução só podem ser migradas entre hosts de virtualização que usam processadores do mesmo fabricante.
Você deve desligar a VM antes de habilitar ou desabilitar o modo de compatibilidade do processador.
O modo de compatibilidade do processador não é necessário para movimentações de VM que envolvam uma parada e reinicialização da VM.
Sempre que uma VM é reiniciada, o sistema operacional convidado enumera os recursos do processador disponíveis no novo computador host.
Observação
No Windows Server, a Microsoft recomenda ativar o modo de compatibilidade do processador somente antes dos cenários de migração de VM e, em seguida, desativá-lo quando a migração for concluída.
Migrando VMs em execução entre clusters
Supondo que todos os servidores em cada cluster estejam executando o mesmo hardware, é possível migrar ao vivo VMs em execução entre clusters. Existem três cenários comuns.
Migração ao vivo de uma VM de um cluster com novos processadores para um cluster com os mesmos processadores. Os recursos da VM são transferidos para o cluster de destino. Este cenário não requer que o modo de compatibilidade do processador esteja ativado; no entanto, deixá-lo ativado não causará problemas.
Migração ao vivo de uma VM de um cluster com processadores mais antigos para um cluster com processadores mais recentes. Os recursos da VM são transferidos para o cluster de destino. Nesse cenário, se a VM for reiniciada, ela receberá o recurso calculado mais recente do cluster de destino.
Migração ao vivo de uma VM de um cluster com processadores mais recentes para um cluster com processadores mais antigos. Você precisará definir o processador da VM para usar o
MinimumFeatureSet
para o parâmetroCompatibilityForMigrationMode
no PowerShell, ou selecionar Compatível com outros hosts do mesmo fabricante de CPU no Windows Admin Center em Máquinas virtuais > Configurações > Processadores. Essa configuração atribui a VM aos recursos mínimos de processador oferecidos no servidor. Assim que a compatibilidade é alterada para Compatível no cluster (Recomendado) e a VM é reiniciada, ela recebe a capacidade calculada mais recente do cluster de destino.
Ramificações do uso do modo de compatibilidade do processador
É difícil quantificar os efeitos gerais de desempenho do modo de compatibilidade do processador. A perda de desempenho depende principalmente da carga de trabalho em execução na VM. Algumas cargas de trabalho podem não ser afetadas, enquanto outras mostram uma diferença percetível. O software que depende fortemente de otimizações de hardware (como criptografia, compactação ou cálculos intensivos de ponto flutuante) é o mais afetado.
Os aplicativos que criptografam ou descriptografam uma grande quantidade de dados se beneficiam desse recurso do processador, portanto, desativá-lo ativando o modo de compatibilidade do processador afeta o desempenho dessas operações específicas.
Se você estiver preocupado com o impacto no desempenho do modo de compatibilidade do processador, é melhor comparar o desempenho da carga de trabalho da VM com o modo de compatibilidade do processador ativado e desativado.
Configurar uma VM para usar o modo de compatibilidade do processador
Esta seção explica como configurar uma VM para usar o modo de compatibilidade do processador. É possível executar VMs com e sem modo de compatibilidade no mesmo cluster.
Importante
Você deve desligar a VM antes de habilitar ou desabilitar o modo de compatibilidade do processador.
Ativar o modo de compatibilidade do processador usando o Windows Admin Center
Para ativar o modo de compatibilidade do processador usando o Windows Admin Center:
Conecte-se ao cluster e, no painel Ferramentas
, selecione Máquinas virtuais .Em de Inventário, selecione a VM na qual pretende ativar o modo de compatibilidade do processador, expanda o menu Energia e selecione Desligar.
Selecione Configuraçõese, em seguida, Processadorese assinale a caixa de Compatibilidade do processador.
Se desejar definir os recursos de CPU da VM para o nível máximo suportado por todos os servidores em um cluster, selecione Compatível no cluster (Recomendado). Isso maximiza o desempenho da VM enquanto preserva a capacidade de mover a VM em execução para outros servidores no cluster. Recomendamos habilitar isso para todas as VMs em execução em clusters do Azure Local 21H2. Se desabilitada, a VM deve ser reiniciada para ser movida para um host com um nível diferente de instruções de CPU suportadas, comum com diferentes gerações de CPUs.
Como alternativa, se você quiser definir os recursos de CPU da VM como mínimos para garantir que você possa mover a VM em execução para outros hosts Hyper-V fora do cluster, desde que eles tenham o mesmo fabricante de CPU, selecione Compatível entre outros hosts com o mesmo fabricante de CPU.
Selecione Salvar configurações do processador e reinicie a VM.
Esta seção explica como configurar uma VM para usar o modo de compatibilidade do processador usando o Hyper-V Manager ou o PowerShell. É possível executar VMs com e sem modo de compatibilidade no mesmo cluster.
Importante
Você deve desligar a VM antes de habilitar ou desabilitar o modo de compatibilidade do processador.
Ativar o modo de compatibilidade do processador usando o Hyper-V Manager
Para habilitar o modo de compatibilidade do processador para uma VM usando o Hyper-V Manager:
Desligue a Máquina Virtual.
Selecione Iniciar, aponte para Ferramentas Administrativase, em seguida, selecione Hyper-V Gestor.
Selecione o servidor que executa o Hyper-V e a VM desejada.
Se a VM estiver em execução, você deverá desligá-la para habilitar a configuração do modo de compatibilidade do processador.
No painel Ação, selecione Configuraçõese, em seguida, selecione Processador.
Expanda o Processore selecione a opção Compatibility.
Selecione Migrar para um computador físico com um processador diferentee, em seguida, selecione OK.
Reinicie a VM.
Desativar o modo de compatibilidade do processador usando o Hyper-V Manager
Para desativar o modo de compatibilidade do processador para uma VM usando o Hyper-V Manager:
Desligue a Máquina Virtual.
Selecione Iniciar, aponte para Ferramentas Administrativase, em seguida, selecione Hyper-V Gestor.
Selecione o servidor que executa o Hyper-V e a VM desejada.
Se a VM estiver em execução, você deverá desligá-la para desabilitar a configuração do modo de compatibilidade do processador.
No painel Ação, selecione Configuraçõese, em seguida, selecione Processador.
Expanda o Processore selecione a opção Compatibility.
Desmarque a caixa de seleção Migrar para um computador físico com um processador diferente e selecione OK.
Reinicie a VM.
Habilitar o modo de compatibilidade do processador usando o PowerShell
Para habilitar o modo de compatibilidade do processador, execute o seguinte cmdlet:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true
Recomendamos definir os recursos da CPU da VM para o nível máximo suportado por todos os servidores no cluster. Isso maximiza o desempenho da VM enquanto preserva a capacidade de mover a VM em execução para outros servidores no cluster.
Para permitir que a VM use os recursos comuns do nó do cluster, execute o seguinte cmdlet:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode CommonClusterFeatureSet
Como alternativa, você pode definir os recursos de CPU da VM como mínimos, garantindo que você possa mover a VM em execução para outros hosts Hyper-V fora do cluster se eles tiverem o mesmo fabricante de CPU.
Para permitir que a VM use os recursos mínimos padrão para migrar entre clusters, execute o seguinte cmdlet:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $true -CompatibilityForMigrationMode MinimumFeatureSet
Desabilitar o modo de compatibilidade do processador usando o PowerShell
Para desabilitar o modo de compatibilidade do processador para uma VM usando o PowerShell, desligue a VM e execute o cmdlet Set-VMProcessor
, definindo CompatibilityForMigrationEnabled
como $false:
get-vm -name <name of VM> -ComputerName <target cluster or host> | Set-VMProcessor -CompatibilityForMigrationEnabled $false
Em seguida, reinicie a VM.