Modo de compatibilidade dinâmica do processador
Aplica-se a: Azure Local, versão 22H2
O modo de compatibilidade dinâmica do processador é atualizado para aproveitar os novos recursos do processador em um ambiente em cluster. A compatibilidade do processador funciona determinando os recursos do processador com suporte para cada nó individual no cluster e calculando o denominador comum em todos os processadores. As VMs (máquinas virtuais) são configuradas para usar o número máximo de recursos disponíveis em todos os servidores no cluster. Isso melhora o desempenho em comparação com a versão anterior de compatibilidade do processador que usava 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 dinâmica) ou mover uma VM salva entre nós com diferentes conjuntos de recursos de processo. No entanto, mesmo quando a compatibilidade do processador está habilitada, você não pode mover VMs entre hosts com diferentes fabricantes de processador. Por exemplo, você não pode mover VMs em execução ou VMs de estado salvas de um host com processadores Intel para um host com processadores AMD. Se você precisar mover uma VM dessa maneira, desligue-a primeiro e reinicie-a no novo host.
Importante
Somente as VMs do Hyper-V 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.
É recomendável habilitar o modo de compatibilidade do processador para VMs em execução no Azure Stack HCI. 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 os 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 aplicativo 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 ao ser 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 detectar 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 "simulação" sempre que uma operação de migração ao vivo ou salvamento/restauração da VM é 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 os aprimoramentos do conjunto de instruções do processador para ajudar os aplicativos e as VMs a permanecerem com o desempenho.
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 de CPU compatíveis com os 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 no cluster. Cada VM recebe o número máximo de conjuntos de instruções do processador presentes em todos os servidores no cluster. Esse processo ocorre automaticamente e é sempre habilitado e replicado no 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 entendidos no uso do modo de compatibilidade do processador no Hyper-V:
A execução de VMs só pode ser migrada entre hosts de virtualização que usam processadores do mesmo fabricante.
Você precisa desligar a VM antes de habilitar ou desabilitar o modo de compatibilidade do processador.
O modo de compatibilidade do processador não é exigido para movimentações de VM que envolvem uma parada e uma 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 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 em tempo real 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. Esse cenário não requer que o modo de compatibilidade do processador esteja habilitado; no entanto, deixá-lo ativado não causará problemas.
Migração em tempo real 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á a funcionalidade calculada mais recente do cluster de destino.
Migração dinâmica de uma VM de um cluster com processadores mais recentes para um cluster com processadores mais antigos. Você precisará definir o processador de VM para usar o
MinimumFeatureSet
parâmetro para oCompatibilityForMigrationMode
PowerShell ou selecionar Compatível com outros hosts com o mesmo fabricante de CPU no Windows Admin Center em Processadores de Configurações > de Máquinas > Virtuais. Essa configuração atribui a VM aos recursos mínimos de processador oferecidos no servidor. Depois que a compatibilidade é movida para Compatível no cluster (recomendado) e a VM é reiniciada, ela recebe a funcionalidade calculada mais recente do cluster de destino.
Consequências do uso do modo de compatibilidade do processador
É difícil quantificar os efeitos gerais 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 perceptível. O software que depende muito 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 habilitado e com ele desabilitado.
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ê precisa desligar a VM antes de habilitar ou desabilitar o modo de compatibilidade do processador.
Habilitar o modo de compatibilidade do processador usando Windows Admin Center
Para habilitar o modo de compatibilidade do processador usando Windows Admin Center:
Conecte-se ao cluster e, no painel Ferramentas , selecione Máquinas virtuais.
Em Inventário, selecione a VM na qual você deseja habilitar o modo de compatibilidade do processador, expanda o menu Energia e selecione Desligar.
Selecione Configurações, depois Processadores e marque a caixa Compatibilidade do processador.
Se você quiser definir os recursos de CPU da VM para o nível máximo compatível com todos os servidores em um cluster, selecione Compatível no cluster (recomendado). Isso maximiza o desempenho da VM, preservando a capacidade de mover a VM em execução para outros servidores no cluster. É recomendável habilitar isso para todas as VMs em execução em clusters do Azure Stack HCI 21H2. Se desabilitada, a VM deve ser reiniciada para ser movida para um host com um nível diferente de instruções de CPU com suporte, comum com diferentes gerações de CPUs.
Como alternativa, se você quiser definir os recursos de CPU da VM como mínimo 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 em outros hosts com o mesmo fabricante de CPU.
Observação
Assim como o modo de compatibilidade dinâmica do processador, Compatível no cluster é exclusivo do Azure Stack HCI 21H2 e não tem suporte para nenhum outro sistema operacional.
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 gerenciador do Hyper-V ou o PowerShell. É possível executar VMs com e sem modo de compatibilidade no mesmo cluster.
Importante
Você precisa desligar a VM antes de habilitar ou desabilitar o modo de compatibilidade do processador.
Habilitar o modo de compatibilidade do processador usando o Gerenciador do Hyper-V
Para habilitar o modo de compatibilidade do processador para uma VM usando o Gerenciador do Hyper-V:
Desligue a VM.
Selecione Iniciar, aponte para Ferramentas Administrativas e selecione Gerenciador do Hyper-V.
Selecione o servidor que executa o Hyper-V e a VM desejada.
Se a VM estiver em execução, você precisará desligar a VM para habilitar a configuração do modo de compatibilidade do processador.
No painel de Ação, selecione Configurações e, em seguida, selecione Processador.
Expanda Processador e selecione Compatibilidade.
Selecione Migrar para um computador físico com um processador diferente e, em seguida, selecione OK.
Reinicie a VM.
Desabilitar o modo de compatibilidade do processador usando o Gerenciador do Hyper-V
Para desabilitar o modo de compatibilidade do processador para uma VM usando o Gerenciador do Hyper-V:
Desligue a VM.
Selecione Iniciar, aponte para Ferramentas Administrativas e selecione Gerenciador do Hyper-V.
Selecione o servidor que executa o Hyper-V e a VM desejada.
Se a VM estiver em execução, você precisará desligar a VM para desabilitar a configuração do modo de compatibilidade do processador.
No painel de Ação, selecione Configurações e, em seguida, selecione Processador.
Expanda Processador e selecione Compatibilidade.
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
É recomendável definir os recursos de CPU da VM para o nível máximo compatível com todos os servidores no cluster. Isso maximiza o desempenho da VM, preservando 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ó de 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.