Modo de compatibilidade de processador dinâmico no Azure Stack HCI

Aplica-se a: Azure Stack HCI, versões 23H2 e 22H2

Observação

A maneira recomendada de criar e gerenciar VMs no Azure Stack HCI 23H2 é usando o painel de controle do Azure Arc. Use o mecanismo descrito abaixo para gerenciar suas VMs somente se você precisar de funcionalidades que não estão disponíveis em VMs do Azure Arc.

O modo de compatibilidade do processador dinâmico no Azure Stack HCI foi atualizado para aproveitar os novos recursos do processador em um ambiente clusterizado. A compatibilidade do processador funciona determinando os recursos de 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 da compatibilidade do processador que usa como padrão um conjunto mínimo e fixo de funcionalidades do processador.

Para obter informações sobre o modo de compatibilidade do processador no Windows Server, consulte Modo de compatibilidade do processador no Hyper-V.

Quando usar o modo de compatibilidade do processador

O modo de compatibilidade do processador permite mover uma VM dinâmica (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 fabricantes de processadores diferentes. 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 VM 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 beneficiarão da configuração dinâmica e 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 nível mais alto de funcionalidades e, quando for hora de migrar para um novo hardware, mover as VMs não exigirá tempo de inatividade.

Observação

Você não precisará usar o modo de compatibilidade do processador se planeja parar e reiniciar as VMs. Sempre que uma VM for reiniciada, o sistema operacional convidado enumerará 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 funcionalidades 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 de vetor. Esses recursos raramente são necessários para que os aplicativos sejam executados; eles simplesmente aumentam o desempenho.

O conjunto de recursos disponível em um processador varia de acordo com sua criação, modelo e idade. Os sistemas operacionais e o software de aplicativo normalmente enumeram o conjunto de funcionalidades do processador do sistema quando são iniciados pela primeira vez. O software não espera que as funcionalidades de processador disponíveis sejam alteradas durante o tempo de vida e, claro, isso nunca pode acontecer durante a execução 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 detectou e começou a usar uma funcionalidade de processador específica e a VM é movida para um novo host de virtualização que não tem essa funcionalidade, é provável que o software falhe. Isso pode resultar na falha do aplicativo ou da VM.

Para evitar falhas, o Hyper-V executa verificações de "pré-lançamento" sempre que uma operação de migração dinâmica ou de 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.

Novidades 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 de aplicativo não podiam aproveitar os novos aprimoramentos do conjunto de instruções do processador para ajudar os aplicativos e as VMs a se manterem funcionando.

Para superar essa limitação, o modo de compatibilidade do processador foi atualizado para fornecer funcionalidades dinâmicas aprimoradas em processadores capazes de conversão de endereços de segundo nível (SLAT). 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 embutidos em código.

Em ambientes do Azure Stack HCI, o novo modo de compatibilidade do processador garante que o conjunto de recursos de processador disponíveis para VMs entre hosts de virtualização corresponda apresentando uma funcionalidade comum definida 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 está sempre habilitado e replicado no cluster, portanto, não há nenhum comando para habilitar ou desabilitar o processo.

Migrando VMs em execução entre clusters

Supondo que todos os servidores em cada cluster estejam executando o mesmo hardware, o que é um requisito para o Azure Stack HCI, é possível migrar em tempo real VMs em execução entre clusters. Há três cenários comuns.

  • Migração dinâmica de uma VM de um cluster com novos processadores para um cluster com os mesmos processadores. Os recursos da VM serão transferidos para o cluster de destino. Esse cenário não exige que o modo de compatibilidade do processador seja habilitado; no entanto, deixá-lo habilitado não causará nenhum problema.

  • Migração dinâmica de uma VM de um cluster com processadores mais antigos para um cluster com processadores mais recentes. Os recursos da VM serã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 para o CompatibilityForMigrationMode parâmetro no PowerShell ou selecionar Compatível entre outros hosts com o mesmo fabricante de CPU em Windows Admin Center em Máquinas virtuais > Configurações > Processadores. Isso atribuirá a VM aos recursos mínimos de processador oferecidos no servidor. Depois que a compatibilidade for movida para Compatível no cluster (Recomendado) e a VM for reiniciada, ela receberá a funcionalidade calculada mais recente do cluster de destino.

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 usando o Windows Admin Center 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 Windows Admin Center

Para habilitar o modo de compatibilidade do processador usando Windows Admin Center:

  1. Conecte-se ao cluster e, no painel Ferramentas , selecione Máquinas virtuais.

  2. Em Inventário, selecione a VM na qual você deseja habilitar o modo de compatibilidade do processador, expanda o menu Ligar/Desligar e selecione Desligar.

  3. Selecione Configurações, Processadores e marcar a caixa para Compatibilidade do processador.

    Marque a caixa para habilitar a compatibilidade do processador

  4. Se você quiser definir os recursos de CPU da VM para o nível máximo com suporte de 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 estiver desabilitada, a VM deverá ser reiniciada para mover para um host com um nível diferente de instruções de CPU com suporte, comuns 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 entre outros hosts com o mesmo fabricante de CPU.

    Observação

    Assim como o modo de compatibilidade do processador dinâmico, o Compatible em todo o cluster é exclusivo do Azure Stack HCI 21H2 e não tem suporte para nenhum outro sistema operacional.

  5. Selecione Salvar configurações do processador e 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 com suporte de 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 habilitar a VM a usar 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ínimo, 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

Próximas etapas

Para obter mais informações, consulte também: