Compartilhar via


Atualizar um cluster de failover do Windows Server com uma atualização sem interrupção do sistema operacional de cluster

Este artigo descreve como instalar manualmente uma atualização de recurso em um cluster de failover do Windows Server sem interromper cargas de trabalho. O processo atualiza um nó de cada vez em uma atualização sem interrupção e geralmente é chamado de Atualização de Cluster do Sistema Operacional Sem Interrupção.

Você pode atualizar o cluster de uma versão do sistema operacional por vez, como do Windows Server 2022 para o Windows Server 2025. Para atualizar em várias versões do sistema operacional, como do Windows Server 2016 para o Windows Server 2025, execute as etapas neste artigo novamente.

Este artigo se aplica a clusters que executam máquinas virtuais Hyper-V ou cargas de trabalho Scale-out File Server (SOFS), atualizando para uma nova versão do sistema operacional, mas não se aplica a clusters que usam discos rígidos virtuais (arquivos .vhdx) como armazenamento compartilhado. Se você estiver usando o System Center Virtual Machine Manager (VMM), em vez disso, consulte Executar uma atualização sem interrupção de um cluster de host Hyper-V no VMM. Os clientes locais do Azure devem usar o processo de atualização descrito nas atualizações locais do Azure, embora você possa usar este artigo se nenhum dos métodos de atualização local do Azure funcionar para você.

Visão geral

Uma atualização sem interrupção de um cluster para a próxima versão mais recente do Windows Server oferece os seguintes benefícios:

  • Atualize um cluster que executa máquinas virtuais Hyper-V ou cargas de trabalho do Scale-out File Server (SOFS) para a versão mais recente do Windows Server sem interrupção.
  • Nenhum novo hardware é necessário, embora você possa optar por adicionar temporariamente nós de cluster a clusters pequenos para melhorar a disponibilidade durante a atualização.
  • O cluster pode dar suporte a operações de patch e manutenção durante a atualização, quando há uma combinação de versões do sistema operacional no cluster.
  • O processo de atualização é reversível até a etapa final, quando todos os nós de cluster estão executando a versão mais recente do Windows Server e você atualiza o nível funcional do cluster.
  • Isso viabiliza a automação por meio do PowerShell e do WMI.

Em um alto nível, uma atualização sem interrupção consiste nestas etapas:

  1. Prepare o cluster para a atualização de recursos do sistema operacional.
  2. Transferir cargas de trabalho do primeiro nó.
  3. Execute a atualização de recursos do Windows Server por meio de uma atualização ou instalação limpa.
  4. Repita as etapas 2 a 3 para os demais nós no cluster.
  5. Atualize o nível funcional do cluster e os pools de armazenamento para a nova versão do Windows Server.
  6. Retome a operação normal e atualize as versões de configuração da VM para ativar a nova funcionalidade.

Para obter um diagrama detalhado do processo de atualização sem interrupção, consulte a Figura 1.

Diagrama mostrando os detalhes do processo de atualização sem interrupção. Figura 1: Diagrama do processo de atualização sem interrupção

Requisitos e limitações

Conclua os seguintes requisitos antes de iniciar a atualização:

  • Comece com um Cluster de Failover executando o Windows Server 2012 R2 ou mais recente.
  • Verifique se os nós Hyper-V têm CPUs compatíveis com Second-Level SLAT (Tabela de Endereçamento) usando um dos seguintes métodos:

Aqui estão algumas limitações a serem observadas:

  • Recomendamos passar pelo processo de atualização do cluster dentro de quatro semanas porque alguns recursos de cluster não são otimizados para clusters que executam duas versões diferentes do sistema operacional.
    • Ao gerenciar um cluster de modo de sistema operacional misto, sempre execute as tarefas de gerenciamento de um nó que executa a versão mais recente do Windows Server. As versões mais antigas do Windows Server geralmente não podem usar a interface do usuário ou ferramentas de gerenciamento para gerenciar versões mais recentes.
    • Evite criar ou redimensionar o armazenamento em nós mais recentes do Windows Server enquanto o cluster executa uma combinação de versões do sistema operacional. Isso pode levar a possíveis incompatibilidades ao fazer failover de um nó mais recente para um mais antigo do Windows Server.
  • Você só pode atualizar para a próxima versão mais recente do sistema operacional, por exemplo, do Windows Server 2022 para o Windows Server 2025.
    Para atualizar em várias versões, como do Windows Server 2016 para o Windows Server 2025, execute a atualização sequencialmente (primeiro para o Windows Server 2019, depois para o Windows Server 2022 e, por fim, para o Windows Server 2025) ou migre para um novo cluster.
  • Você deve atualizar a versão de configuração de VMs mais antigas antes que elas possam ser executadas em um cluster do Windows Server 2022 ou mais recente, independentemente de como você atualiza. Versões de configuração de VM com mais de 8.0 (correspondentes ao Windows Server 2016), não podem ser executadas no Windows Server 2022.
    Por exemplo, se suas VMs foram criadas em um sistema Windows Server 2012 R2 e usam a configuração de VM versão 5.0 e você atualiza o cluster para o Windows Server 2022, você deve atualizar a versão de configuração da VM para 8.0 ou mais recente. Para obter mais informações, consulte Migrar e atualizar máquinas virtuais.

Etapa 1: Preparar o cluster para a atualização

Antes de começar a fazer o upgrade nos nós, verifique se o cluster está funcionando corretamente e pronto para a atualização:

  1. Verifique se o cluster tem capacidade suficiente para manter os contratos de nível de serviço de tempo de atividade apropriados com um nó removido.

    • O cluster tem recursos de rede, CPU e armazenamento suficientes para executar as cargas de trabalho necessárias quando um nó é removido do cluster?
    • Há nós suficientes no cluster para manter a tolerância a falhas necessária com um nó offline? Você pode querer adicionar um nó temporariamente a um cluster de dois nós para manter a tolerância a falhas durante o processo de atualização.
  2. Para cargas de trabalho do Hyper-V, verifique se todos os hosts do Hyper-V do Windows Server aceitam a CPU para SLAT (Tabela de Endereços de Segundo Nível). Somente os computadores compatíveis com a SLAT podem usar a função do Hyper-V no Windows Server 2016 e mais recentes.

  3. Instale as atualizações de software mais recentes em todos os nós do cluster.

  4. Verifique se os backups de carga de trabalho estão concluídos e considere fazer backup do banco de dados do cluster com um backup de Estado do Sistema.

  5. Verifique se todos os nós de cluster estão online usando o cmdlet Get-ClusterNode.

    Get-ClusterNode
    

    Aqui está um exemplo de saída:

    Name        ID    State
    ----        --    -----
    Node1       1     Up
    Node2       2     Up
    Node3       3     Up
    
  6. Interrompa as ferramentas de atualização que estão em execução no cluster. Por exemplo, se você estiver usando a Atualização Com Reconhecimento de Cluster, use as seguintes etapas:

    1. Verifique se a CAU (Atualização com Suporte a Cluster) está executando uma execução usando a interface do usuário de Atualização com Suporte a Cluster ou o cmdlet Get-CauRun.

      Get-CauRun
      

      Aqui está um exemplo de saída no cluster chamado "Cluster01":

      RunNotInProgress
      WARNING: No Updating Run is currently in progress on cluster Cluster01.
      
    2. Interrompa a atualização com reconhecimento de cluster usando o cmdlet Disable-CauClusterRole para impedir que os nós sejam pausados e esvaziados automaticamente durante a atualização.

      Disable-CauClusterRole
      

      Aqui está um exemplo de saída:

      Are you sure?
      Do you want to disable the Cluster-Aware Updating clustered role on cluster "Cluster01"?
      [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):
      

Etapa 2: transferir cargas de trabalho de um nó

Realize as seguintes etapas em um nó no cluster (repita esse processo individualmente para cada nó no cluster):

  1. Para esvaziar o nó no Windows Admin Center, navegue até Gerenciador de Cluster>Servidores, selecione o nó e selecione Pausar. Para usar o Gerenciador de Cluster de Failover, selecione o nó e selecione Pausar>Esvaziar, conforme mostrado na Figura 2. Ou use o cmdlet Suspend-ClusterNode com o -Drain parâmetro, conforme mostrado aqui.

    Captura de tela mostrando como esvaziar funções com o Gerenciador de Cluster de Failover. Figura 2: Esvaziando funções de um nó usando o Gerenciador de Cluster de Failover

    Suspend-ClusterNode -Name Node1 -Drain
    

    Aqui está um exemplo da saída mostrando que o nó do cluster agora está em pausa:

    Name           ID    State
    ----           --    -----
    Node1          1     Paused
    
  2. Caso esteja usando o Hyper-V com comutadores virtuais associados a uma equipe LBFO e esteja executando uma atualização in-loco para o Windows Server 2022 ou mais recente, remova a equipe antes de iniciar a atualização. Após a atualização, você pode associar os adaptadores de rede a um comutador virtual que usa a tecnologia de comutador SET mais recente.

    As equipes LBFO não têm mais suporte com o Hyper-V no Windows Server 2022 e mais recente. Para obter mais informações sobre recursos removidos, consulte Recursos removidos ou não mais desenvolvidos no Windows Server.

  3. Caso queira executar uma instalação limpa do sistema operacional no nó, primeiro elimine (remova) o nó pausado do cluster usando o Windows Admin Center, o Gerenciador de Cluster de Failover ou o cmdlet Remove-ClusterNode.

    Remove-ClusterNode -Name Node1
    

    Veja um exemplo da saída:

    Are you sure you want to evict node Node1?
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):
    

Etapa 3: Instalar a nova versão do Windows Server

  1. Execute uma atualização ou uma instalação limpa da versão mais recente do Windows Server no nó.

  2. Se você atualizou para o Windows Server 2022 ou mais recente e removeu uma equipe LBFO antes de atualizar, crie um novo comutador Hyper-V virtual que usa a tecnologia SET (Switch Embedded Teaming) mais recente para associar a vários adaptadores de rede. Você pode usar o Windows Admin Center, Hyper-V Manager ou o cmdlet New-VMSwitch PowerShell.

  3. Se você executou uma instalação limpa, prepare o nó para voltar ao cluster:

    1. Adicione o nó ao domínio apropriado do Active Directory Domain Services. Certifique-se de usar o mesmo nome do computador se o cluster utilizar Storage Spaces Direct.

    2. Adicione os usuários apropriados ao grupo de Administradores local.

    3. Instale as funções e recursos de servidor necessários, como Hyper-V, Cluster de Failover e NetworkATC (disponível no Windows Server 2025). Você pode usar o Windows Admin Center, o Gerenciador de Servidores ou o cmdlet Install-WindowsFeature PowerShell, conforme mostrado no exemplo a seguir:

      Install-WindowsFeature -Name "Hyper-V", "Failover-Clustering", "NetworkATC" -IncludeAllSubFeature -IncludeManagementTools
      
    4. Verifique as configurações de conectividade de rede e armazenamento.

    5. Se o Firewall do Windows for usado, verifique se as configurações do Firewall estão corretas para o cluster. Por exemplo, a Atualização Com Reconhecimento de Cluster pode exigir a configuração do Firewall.

    6. Para cargas de trabalho Hyper-V, crie comutadores virtuais que correspondam ao restante dos nós do cluster, exceto para a configuração de LBFO, caso esteja substituindo grupos de adaptadores de rede. Você pode usar o Windows Admin Center, Hyper-V Manager ou os cmdlets Get-VMSwitch e Add-VMSwitch PowerShell.

    7. Conecte-se ao nó atualizado e use o Windows Admin Center, o Gerenciador de Cluster de Failover ou o cmdlet Add-ClusterNode para adicionar o nó atualizado de volta ao cluster.

      Add-ClusterNode -Name clusternode1
      

      Veja um exemplo da saída:

      Waiting for notification that node clusternode1 is a fully functional member of the cluster.
      

      Observação

      Quando o primeiro nó atualizado ingressa no cluster, o cluster entra no modo "Mixed-OS" e os recursos principais do cluster são movidos para o nó mais recente. Um cluster de modo de "SO misto" é um cluster totalmente funcional em que os novos nós são executados em um modo de compatibilidade com os nós antigos. O modo "Mixed-OS" é um modo transitório para o cluster e você deve atualizar todos os nós do cluster dentro de quatro semanas.

    8. Opcionalmente, rebalanceie o cluster movendo cargas de trabalho para o nó recém-adicionado.

    • Para mover máquinas virtuais em execução sem tempo de inatividade, use a Migração Dinâmica no Windows Admin Center, no Gerenciador de Cluster de Failover ou no cmdlet Move-ClusterVirtualMachineRole.

      Move-ClusterVirtualMachineRole -Name VM1 -Node node1
      

      Veja um exemplo da saída:

      Name      OwnerNode     State
      ----      ---------     -----
      VM1       node1         Online
      
    • Para mover outras cargas de trabalho de cluster, use o comando Mover no Gerenciador de Cluster de Failover ou no cmdlet Move-ClusterGroup .

Etapa 4: Repetir as etapas 2 a 4 para todos os outros nós no cluster

O processo de atualização é totalmente reversível até que você atualize o nível funcional do cluster na próxima etapa. Para abandonar a atualização, adicione nós que executam a versão original do Windows Server e remova todos os nós que executam a versão mais recente do sistema operacional.

Etapa 5: Atualizar o nível funcional do cluster e a versão do pool de armazenamento

Atualizar o nível funcional do cluster e a versão do pool de armazenamento possibilita o uso de novos recursos. Ele também melhora algumas operações de cluster, como esvaziar cargas de trabalho de um nó, o que pode levar um nó a ficar isolado por um curto período de tempo se executado em um cluster de sistema operacional misto.

Quando cada nó tiver a versão do sistema operacional mais recente instalada e for adicionada de volta ao cluster ou removida permanentemente, conclua as etapas a seguir para atualizar o nível funcional do cluster e a versão do pool de armazenamento.

Importante

Depois de atualizar o nível funcional do cluster e a versão do pool de armazenamento, você não poderá voltar para uma versão anterior do nível funcional ou do pool de armazenamento e não poderá adicionar nós executando versões anteriores do Windows Server ao cluster.

  1. Verifique se todas as funções de cluster estão em execução no cluster conforme o esperado. Você pode usar o Windows Admin Center, o Gerenciador de Cluster de Failover ou o cmdlet Get-ClusterGroup :

    Get-ClusterGroup
    

    Aqui está um exemplo da saída mostrando quatro VMs e o grupo de cluster online:

    Name                OwnerNode      State
    ----                ---------      -----
    Available Storage   node2          Offline
    VM1                 node2          Online
    VM2                 node1          Online
    VM3                 node1          Online
    VM4                 node3          Online
    Cluster Group       node1          Online
    

    O grupo armazenamento disponível não é usado e está offline porque esse cluster usa CSVs (Volumes Compartilhados clusterizados) para armazenamento. O Armazenamento Disponível estaria online se o cluster utilizasse discos atribuídos a ele do LUNS em uma SAN, mas recomendamos usar CSVs.

  2. Verifique se todos os nós de cluster estão online e em execução usando o Windows Admin Center, o Gerenciador de Cluster de Failover ou o cmdlet Get-ClusterNode .

    Get-ClusterNode
    

    Aqui está um exemplo de saída:

    Name        ID    State
    ----        --    -----
    node1       1     Up
    node2       2     Up
    node3       3     Up
    
  3. Exiba o nível funcional do cluster no Windows Admin Center navegando até Gerenciador de Cluster>Configurações>Cluster>Propriedades. Ou use o cmdlet Get-Cluster :

    Get-Cluster | Select ClusterFunctionalLevel
    

    Aqui está um exemplo de saída:

    ClusterFunctionalLevel
    -----------------------
    10
    
  4. Selecione o novo nível funcional no Windows Admin Center ou execute o cmdlet Update-ClusterFunctionalLevel – nenhum erro deve ser retornado.

    Update-ClusterFunctionalLevel
    

    Veja um exemplo da saída:

    Updating the Functional level for cluster cluster01.
    Warning: You cannot undo this operation. Do you want to continue?
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
    
  5. Confirme se o nível funcional do cluster foi atualizado usando o cmdlet Get-Cluster :

    Get-Cluster | Select ClusterFunctionalLevel
    

    Veja um exemplo da saída:

    ClusterFunctionalLevel
    -----------------------
    11
    
  6. Caso esteja usando pools de armazenamento, poderá atualizá-los sem tempo de inatividade usando o >Gerenciador de Cluster>Configurações>Espaços e Pools de Armazenamento>Versão do pool de armazenamento no Windows Admin Center. Ou use o cmdlet Update-StoragePool PowerShell.

Etapa 6: retomar as operações normais do cluster e ativar novas funcionalidades

Para retomar as operações normais de cluster e ativar novas funcionalidades, execute as seguintes etapas:

  1. Se você parou de atualizar as ferramentas, inicie-as novamente. Por exemplo, para iniciar a Atualização Com Reconhecimento de Cluster, você pode usar a ferramenta Atualização Com Reconhecimento de Cluster ou o cmdlet Enable-CauClusterRole .

    Enable-CauClusterRole
    

    Veja um exemplo da saída:

    Are you sure?
    Do you want to enable the Cluster-Aware Updating Clustered role on Cluster "cluster01"?
    [Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):
    
  2. Retome todas as operações de backup que você parou para a atualização.

  3. Para ativar a nova funcionalidade disponível para VMs, atualize a versão de configuração para cada VM. Para obter uma lista de novos recursos de Hyper-V, consulte Migrar e atualizar máquinas virtuais.

    1. Exiba as versões de VMs que são suportadas por cada nó usando o cmdlet Get-VMHostSupportedVersion. Cada nó deve ter as mesmas versões com suporte neste momento.

      Get-VMHostSupportedVersion -ComputerName node1
      

      Aqui está um exemplo da saída, mostrando os números de versão da VM e o nome do sistema operacional correspondente:

      Name                                                  Version IsDefault
      ----                                                  ------- ---------
      Microsoft Windows 10 Anniversary Update/Server 2016   8.0     False
      Microsoft Windows 10 Creators Update                  8.1     False
      Microsoft Windows 10 Fall Creators Update/Server 1709 8.2     False
      Microsoft Windows 10 April 2018 Update/Server 1803    8.3     False
      Microsoft Windows 10 October 2018 Update/Server 2019  9.0     False
      Microsoft Windows 10 May 2019 Update/Server 1903      9.1     False
      Microsoft Windows 10 May 2020 Update/Server 2004      9.2     False
      Microsoft Windows 10 (Manganese)                      9.3     False
      Microsoft Windows Server 2022                         10.0    False
      Microsoft Host OS (Cobalt+)                           10.5    False
      Microsoft Windows 11 (22H2)                           11.0    False
      Microsoft Windows 11 (Copper)                         11.1    False
      Microsoft Windows 11 (Zinc)                           11.2    False
      Microsoft Windows Server 2025                         12.0    True
      
    2. Exiba as VMs em cada nó no cluster usando o cmdlet Get-VM.

      Get-VM -ComputerName node1
      

      Veja um exemplo da saída:

      Name    State   CPUUsage(%) MemoryAssigned(M) Uptime              Status             Version
      ----    -----   ----------- ----------------- ------              ------             -------
      VM1     Running 0           12288             2.20:28:49.6670000  Operating normally 8.0
      VM2     Running 0           4096              14.23:13:12.7370000 Operating normally 8.0
      VM3     Running 0           1216              2.20:09:38.9450000  Operating normally 8.0
      
    3. Durante uma janela de manutenção agendada, quando você pode deixar as VMs offline, faça backup e atualize todas as VMs mais antigas em cada nó.
      Para fazer isso no Windows Admin Center, navegue até Gerenciador de Cluster>máquinas virtuais, selecione uma VM e, em seguida, selecione Gerenciar>Atualizar versão de configuração.
      Ou use o cmdlet Update-VMVersion , conforme mostrado neste exemplo, que atualiza todas as VMs em um nó para a versão mais recente.

      Update-VMVersion -ComputerName node1 -Name * -WhatIf
      

      Veja um exemplo da saída:

      Confirm
      Are you sure you want to perform this action?
      Performing a configuration version update of "dc1" will prevent it from being migrated to or imported on previous
      versions of Windows. This operation is not reversible.
      
      [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
      

Estados de transição de cluster durante a atualização sem interrupção do SO do cluster

A propriedade pública do cluster ClusterFunctionalLevel indica o estado do cluster no Windows Server 2016 e nos nós de cluster posteriores. Essa propriedade pode ser consultada usando o cmdlet do PowerShell de um nó de cluster que pertence a um cluster de failover:

Get-Cluster | Select ClusterFunctionalLevel

A tabela a seguir mostra os valores e cada nível funcional correspondente:

Valor Nível funcional
oito Windows Server 2012 R2
9 Windows Server 2016
10 Windows Server 2019
11 Windows Server 2022
12 Windows Server 2025

Perguntas frequentes

  • Por quanto tempo o cluster de failover opera em modo misto de sistemas operacionais?
    Incentivamos os clientes a concluir a atualização em quatro semanas. Os clusters do Hyper-V e Servidor de Arquivos de Escalabilidade Horizontal podem ser atualizados sem tempo de inatividade em menos de quatro horas no total.
  • Posso executar o cmdlet Update-ClusterFunctionalLevel enquanto os nós estão desativados ou em pausa?
    Não. Todos os nós de cluster devem estar ligados e em associação ativa para que o cmdlet Update-ClusterFunctionalLevel funcione.
  • A atualização sem interrupção do sistema operacional de cluster funciona para qualquer carga de trabalho de cluster? Funciona para SQL Server?
    Sim, a atualização sem interrupção do sistema operacional do cluster funciona para qualquer carga de trabalho de cluster. No entanto, o tempo de inatividade é zero apenas para clusters do Hyper-V e do servidor de arquivos de expansão. A maioria das outras cargas de trabalho incorre em algum tempo de inatividade (normalmente alguns minutos), quando elas fazem failover, e o failover é necessário pelo menos uma vez durante o processo de atualização sem interrupção do SO do cluster.
  • Posso automatizar esse processo usando o PowerShell?
    Sim.
  • Para um cluster grande que tem capacidade de failover extra, posso atualizar vários nós simultaneamente?
    Sim. Quando um nó é removido do cluster para atualizar o sistema operacional, o cluster fica com um nó a menos para failover e, portanto, tem uma capacidade de failover reduzida. Para clusters grandes com capacidade suficiente de carga de trabalho e failover, vários nós podem ser atualizados simultaneamente.
  • E se eu descobrir um problema em meu cluster depois que Update-ClusterFunctionalLevel tiver sido executado com êxito?
    Se você fez backup do banco de dados de cluster com um backup de Estado do Sistema antes de executar Update-ClusterFunctionalLevel, poderá executar uma restauração autoritativa em um nó que executa a versão anterior do Windows Server e restaurar o banco de dados e a configuração do cluster original.
  • Posso usar a atualização in-loco para cada nó, em vez de usar a instalação do SO limpo, reformatando a unidade do sistema?
    Sim. No passado, recomendamos que você executasse uma instalação limpa do sistema operacional em cada nó. No entanto, agora você pode executar uma atualização in-loco de um nó de cluster se ler e resolver cuidadosamente as mensagens de aviso.
  • Se eu estiver usando a replicação Hyper-V para uma VM Hyper-V em meu cluster Hyper-V, a replicação permanecerá intacta durante e após o processo de atualização contínua do sistema operacional do cluster?
    Sim, a réplica do Hyper-V permanece intacta durante e após o processo de atualização sem interrupção do SO do cluster.
  • Posso usar o System Center Virtual Machine Manager (VMM) para automatizar o processo de atualização sem interrupção do sistema operacional de cluster? Sim, você pode automatizar o processo de atualização sem interrupção do SO do cluster usando o VMM no System Center.