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

Aplica-se a: Azure Stack HCI, versão 21H2

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. Máquinas virtuais (VMs) 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 com padrão para um conjunto mínimo fixo de recursos de processador.

Observação

O modo de compatibilidade do processador dinâmico só está disponível no Azure Stack HCI, versão 21H2, e não será suportado novamente para a versão 20H2. Para obter informações sobre o modo de compatibilidade do processador no servidor Windows, consulte o 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 diferentes fabricantes de processadores. Por exemplo, você não pode mover VMs em execução nem salvar VMs de estado 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 fixos 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 chegar a 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 processador geralmente introduzem otimizações e funcionalidades em seus processadores. Essas funcionalidades 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 dependendo de sua criação, modelo e idade. Os sistemas operacionais e o software de aplicativo normalmente enumeram a capacidade do processador do sistema definida quando são iniciados pela primeira vez. O software não espera que os recursos de processador disponíveis sejam alterados durante o tempo de vida e, claro, isso nunca poderá 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 tiver detectado e iniciado o uso de um recurso de processador específico e a VM for 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é-voo" 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 em execução.

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 da 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 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 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.

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 as 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á problemas.

  • 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 MinimumFeatureSetCompatibilityForMigrationMode parâmetro no PowerShell ou selecionar Compatível em 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 Windows Admin Center ou 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.

Habilitar o modo de compatibilidade do processador usando Windows Admin Center

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

  1. Conexão para o cluster e, em seguida, 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 Power e selecione Desligar.

  3. Selecione Configurações, depois Processadores e marque a caixa de compatibilidade do Processador.

    Check the box to enable processor compatibility

  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, Compatible em todo o cluster é exclusivo para o 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: