Atualização in-loco para VMs executando o Windows Server no Azure

Uma atualização local permite migrar de um sistema operacional antigo para um mais recente, mantendo suas configurações, funções de servidor e dados intactos. Este artigo explica como mover as VMs do Azure para uma versão posterior do Windows Server por meio de uma atualização in-loco. Atualmente, há suporte para atualização para Windows Server 2012, Windows Server 2016, Windows Server 2019 e Windows Server 2022.

Antes de iniciar uma atualização in-loco:

  • Examine os requisitos de atualização para o sistema operacional de destino:

    • Opções de atualização do Windows Server 2012 do Windows Server 2008 (64 bits) ou do Windows Server 2008 R2

    • Opções de atualização para o Windows Server 2016 do Windows Server 2012 ou do Windows Server 2012 R2

    • Opções de atualização para o Windows Server 2019 do Windows Server 2012 R2 ou do Windows Server 2016

    • Opções de atualização para o Windows Server 2022 do Windows Server 2016 ou do Windows Server 2019

  • Verifique se o disco do sistema operacional tem espaço livre suficiente para executar a atualização in-loco. Se for necessário mais espaço siga estas etapas para expandir o disco do sistema operacional anexado à VM.

  • Desabilite firewalls e softwares antivírus e anti-spyware. Esses tipos de software podem entrar em conflito com o processo de atualização. Habilite novamente firewalls e softwares e antivírus e anti-spyware ao término da atualização.

Atualizar a VM para a licença de volume (ativação do servidor KMS)

A mídia de atualização fornecida pelo Azure exige que a VM seja configurada para licenciamento por volume do Windows Server. Esse é o comportamento padrão para qualquer VM do Windows Server instalada a partir de uma imagem generalizada no Azure. Se a VM foi importada para o Azure, é possível que ela precise ser convertida em licenciamento por volume para poder usar a mídia de atualização fornecida pelo Azure. Para confirmar se a VM está configurada para ativação de licença de volume, siga estas etapas para configurar a chave de configuração do cliente KMS apropriada. Se a configuração de ativação foi alterada, siga estas etapas para verificar a conectividade com o serviço KMS do Azure.

Atualizar para Managed Disks

O processo de atualização in-loco exige que o uso de Managed Disks na VM seja atualizado. A maioria das VMs no Azure está usando o Managed Disks e a desativação para suporte a discos não gerenciados foi anunciada em novembro de 2022. Se atualmente a VM estiver usando discos não gerenciados, siga estas etapas para migrar para Managed Disks.

Criar instantâneo do disco do sistema operacional

Recomendamos que você crie um instantâneo do disco do sistema operacional e de todos os discos de dados antes de iniciar o processo de atualização in-loco. Isso permite que você reverta para o estado anterior da VM se algo falhar durante o processo de atualização in-loco. Para criar um instantâneo em cada disco, siga estas etapas para criar um instantâneo de um disco.

Criar disco de mídia de atualização

Para iniciar uma atualização in-loco, a mídia de atualização deve ser anexada à VM como um Disco Gerenciado. Para criar a mídia de atualização, modifique as variáveis no script do PowerShell a seguir para Windows Server 2022. O disco de mídia de atualização pode ser usado para atualizar várias VMs, mas ele só pode ser usado para atualizar uma única VM por vez. Para atualizar várias VMs simultaneamente, vários discos de atualização devem ser criados para cada atualização simultânea.

Parâmetro Definição
resourceGroup Nome do grupo de recursos em que a mídia de atualização do Disco Gerenciado será criada. O grupo de recursos nomeado é criado se ele não existir.
local Região do Azure em que o Disco Gerenciado da mídia de atualização é criada. Deverá ser a mesma região da VM a ser atualizada.
zona Zona do Azure na região selecionada em que a mídia de atualização do Disco Gerenciado será criada. Deverá ser a mesma zona da VM a ser atualizada. Para VMs regionais (não zonais), o parâmetro de zona deve ser "".
diskName Nome do Disco Gerenciado que conterá a mídia de atualização
sku Versão de mídia de atualização do Windows Server. Isso deve ser: server2016Upgrade ou server2019Upgrade ou server2022Upgrade ou server2012Upgrade

Se você tiver mais de uma assinatura, deverá executar Set-AzContext -Subscription '<subscription name or id> para especificar qual assinatura usar.

Script do PowerShell

#
# Customer specific parameters


# Resource group of the source VM
$resourceGroup = "WindowsServerUpgrades"

# Location of the source VM
$location = "WestUS2"

# Zone of the source VM, if any
$zone = "" 

# Disk name for the that will be created
$diskName = "WindowsServer2022UpgradeDisk"

# Target version for the upgrade - must be either server2022Upgrade, server2019Upgrade, server2016Upgrade or server2012Upgrade
$sku = "server2022Upgrade"


# Common parameters

$publisher = "MicrosoftWindowsServer"
$offer = "WindowsServerUpgrade"
$managedDiskSKU = "Standard_LRS"

#
# Get the latest version of the special (hidden) VM Image from the Azure Marketplace

$versions = Get-AzVMImage -PublisherName $publisher -Location $location -Offer $offer -Skus $sku | sort-object -Descending {[version] $_.Version	}
$latestString = $versions[0].Version


# Get the special (hidden) VM Image from the Azure Marketplace by version - the image is used to create a disk to upgrade to the new version


$image = Get-AzVMImage -Location $location `
                       -PublisherName $publisher `
                       -Offer $offer `
                       -Skus $sku `
                       -Version $latestString

#
# Create Resource Group if it doesn't exist
#

if (-not (Get-AzResourceGroup -Name $resourceGroup -ErrorAction SilentlyContinue)) {
    New-AzResourceGroup -Name $resourceGroup -Location $location    
}

#
# Create Managed Disk from LUN 0
#

if ($zone){
    $diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU `
                                   -CreateOption FromImage `
                                   -Zone $zone `
                                   -Location $location
} else {
    $diskConfig = New-AzDiskConfig -SkuName $managedDiskSKU `
                                   -CreateOption FromImage `
                                   -Location $location
} 

Set-AzDiskImageReference -Disk $diskConfig -Id $image.Id -Lun 0

New-AzDisk -ResourceGroupName $resourceGroup `
           -DiskName $diskName `
           -Disk $diskConfig  

Anexar mídia de atualização à VM

Anexe a mídia de atualização para a versão de destino do Windows Server à VM que será atualizada. Isso pode ser feito enquanto a VM está no estado em execução ou parada.

Instruções do portal

  1. Entre no portal do Azure.

  2. Pesquise por Máquinas virtuais e selecione essa opção.

  3. Selecione na lista uma máquina virtual para executar a atualização in-loco.

  4. Na página Máquina virtual, selecione Discos.

  5. Na página Discos, selecione Anexar discos existentes.

  6. Na lista suspensa de Nome do disco, selecione o nome do disco de atualização criado na etapa anterior.

  7. Selecione Salvar para anexar o disco de atualização à VM.

Execute a atualização in-loco no Windows Server 2016, 2019 ou 2022

Para iniciar a atualização in-loco, a VM deverá estar no estado Running. Depois que a VM estiver em um estado em execução, use as etapas a seguir para realizar a atualização.

  1. Conecte-se à VM usando RDP ou RDP-Bastion.

  2. Determine a letra da unidade para o disco de atualização (normalmente E: ou F: se não houver outros discos de dados).

  3. Inicie o Windows PowerShell.

  4. Altere o diretório para o único diretório no disco de atualização.

  5. Execute o comando a seguir para iniciar a atualização:

    .\setup.exe /auto upgrade /dynamicupdate disable 
    
  6. Selecione a imagem "Atualizar para" correta com base na versão atual e na configuração da VM usando a matriz de atualização do Windows Server.

Durante o processo de atualização, a VM se desconectará automaticamente da sessão RDP. Após a VM ser desconectada da sessão RDP, o progresso da atualização poderá ser monitorado por meio da funcionalidade de captura de tela disponível no portal do Azure.

Execute a atualização in-loco no Windows Server 2012 ou 2022

Para iniciar a atualização in-loco, a VM deverá estar no estado Running. Depois que a VM estiver em um estado em execução, use as etapas a seguir para realizar a atualização.

  1. Conecte-se à VM usando RDP ou RDP-Bastion.

  2. Determine a letra da unidade para o disco de atualização (normalmente E: ou F: se não houver outros discos de dados).

  3. Inicie o Windows PowerShell.

  4. Altere o diretório para o único diretório no disco de atualização.

  5. Execute o comando a seguir para iniciar a atualização:

    .\setup.exe 
    
  6. Quando a Instalação do Windows for iniciada, selecione Instalar agora.

  7. Em Obter atualizações importantes para a Instalação do Windows, selecione Não, obrigado.

  8. Selecione a imagem correta do Windows Server 2012 "Atualizar para" com base na versão atual e na configuração da VM usando a Matriz de atualização do Windows Server.

  9. Na página Termos de Licença, selecione Aceito os termos de licença e selecione Próximo.

  10. Em **Que tipo de instalação você quer?", selecione Atualizar: instalar o Windows e manter arquivos, configurações e aplicativos.

  11. A instalação gerará um Relatório de compatibilidade, você poderá ignorar quaisquer avisos e selecionar Próximo.

  12. Quando concluído, o computador será reinicializado e você será desconectado automaticamente da sessão RDP. Após a VM ser desconectada da sessão RDP, o progresso da atualização poderá ser monitorado por meio da funcionalidade de captura de tela disponível no portal do Azure.

Etapas após a atualização

Depois que o processo de atualização for concluído com êxito, as seguintes etapas deverão ser executadas para limpar todos os artefatos que foram criados durante o processo de atualização:

  • Exclua os instantâneos do(s) disco(s) do sistema operacional e do(s) disco(s) de dados, caso tenham sido criados.

  • Exclua a mídia de atualização do Disco Gerenciado.

  • Habilite qualquer firewall, software antivírus ou anti-spyware que possa ter sido desabilitado no início do processo de atualização.

Importante

As informações do plano de imagem não serão alteradas após o processo de atualização.

Recuperar de uma falha

Se o processo de atualização in-loco não tiver sido concluído com êxito, você poderá retornar à versão anterior da VM se os instantâneos do disco do sistema operacional e o(s) disco(s) de dados foram criados. Para reverter a VM para o estado anterior usando instantâneos, conclua as etapas a seguir:

  1. Crie um novo Disco Gerenciado a partir do instantâneo de disco do sistema operacional e de cada instantâneo de disco de dados seguindo as etapas em Criar um disco de um instantâneo, lembrando-se de criar os discos na mesma Zona de Disponibilidade que a VM, caso a VM esteja em uma zona.

  2. Pare a VM.

  3. Troque o disco do sistema operacional da VM.

  4. Desanexe todos os discos de dados da VM.

  5. Anexe discos de dados criados a partir dos instantâneos na etapa 1.

  6. Reinicie a VM.

Próximas etapas