Como realizar um upgrade automático do Windows Server 2008 R2 no local


Se você tiver instâncias de máquina virtual (VM) executando o Windows Server 2008 R2, será possível usar a CLI gcloud para atualizá-las automaticamente para o Windows Server 2012 R2.

Usar a CLI gcloud para realizar um upgrade no local é uma alternativa à execução manual. Ao automatizar o processo de upgrade, a CLI gcloud permite reduzir o esforço exigido pelas VMs que você precisa atualizar.

Durante um upgrade de uma VM no local, a CLI gcloud executa as seguintes etapas:

  1. Para a VM.
  2. Cria um snapshot padrão do disco permanente como backup.
  3. Cria uma cópia do disco de inicialização, mantendo o original como backup.
  4. Anexa um disco de instalação com a mídia de instalação do Windows 2012 R2.
  5. Inicia a configuração do Windows (setup.exe) a partir do disco de instalação para executar um upgrade no modo autônomo.
  6. Aplica a configuração pós-upgrade.
  7. Remove o disco de instalação.
  8. Para a VM.

Limitações

É possível usar a CLI gcloud para realizar upgrades do Windows Server 2008 R2 para o Windows Server 2012 R2. Essa abordagem é compatível apenas com instâncias de VM baseadas em uma imagem pública do sistema operacional fornecida pelo Google. Para fazer o upgrade de outras configurações do Windows Server ou de instâncias de VM trazendo sua própria licença, consulte Como realizar uma atualização do Windows Server no local.

Custos

Não há nenhum custo para realizar um upgrade no local do Windows Server. São cobrados apenas os recursos consumidos durante o upgrade, como o seguinte:

Use a calculadora de preços para gerar uma estimativa de custo com base na projeção de uso.

Antes de começar

Como iniciar o upgrade

As seções a seguir orientam você no processo de upgrade da instância de VM.

  1. No Console do Google Cloud Platform, abra o Cloud Shell clicando no botão Ativar o Cloud Shell Ative o Cloud Shell..

    Acesse o Console do Google Cloud

  2. Defina o ID do projeto padrão: Substitua PROJECT_ID pelo nome do seu projeto do Compute Engine:

    gcloud config set project PROJECT_ID
    
  3. Execute o seguinte comando para iniciar o upgrade:

    gcloud beta compute os-config os-upgrade VM_NAME \
      --zone=ZONE \
      --source-os=windows-2008r2 \
      --target-os=windows-2012r2 \
      --async \
      --auto-rollback
    

    Substitua:

    • VM_NAME: o nome da instância de VM que receberá o upgrade.
    • ZONE: a zona em que a instância de VM está sendo executada.

    A sinalização --async instrui a CLI gcloud a executar o upgrade em segundo plano usando o Cloud Build. Executar o upgrade em segundo plano permite que você atualize várias instâncias de VM em paralelo e garante que o processo continue, mesmo que você feche a sessão do Cloud Shell. É possível encontrar um link para o job do Cloud Build como resposta ao comando:

    Created [https://cloudbuild.googleapis.com/v1/projects/...].
    ...
    logUrl: https://console.cloud.google.com/build/builds/...
    ...
    status: QUEUED
    ...
    
    

Como observar o processo de upgrade

Dependendo da configuração da instância de VM, o upgrade pode levar entre 40 e 90 minutos para ser concluído. Para verificar o status do processo de upgrade, abra o registro do Cloud Build:

  1. Clique no URL mostrado ao lado de logUrl em resposta ao comando da CLI gcloud.
  2. No Registro do build, é possível ver o status atual do processo de upgrade.

Quando o upgrade for concluído com sucesso, o build será marcado como Bem-sucedido e será possível ver a seguinte saída no registro do build:

Successfully upgraded instance 'projects/...!'

Se a CLI gcloud encontrar um problema durante o upgrade, ela marcará o build como Falha. Se a opção --auto-rollback for especificada, a CLI gcloud também iniciará uma reversão automática. É possível encontrar mais detalhes sobre o problema encontrado no registro do build.

Se o upgrade ainda estiver em execução após 90 minutos e você suspeitar que ele não está avançando, use uma das abordagens descritas em Solução de problemas do upgrade no local para descobrir se o processo de upgrade falhou ou está paralisado.

Como concluir o upgrade

Após a conclusão do upgrade, inicie a instância de VM e execute o Windows Update para fazer o download e instalar as atualizações de segurança mais recentes:

  1. Inicie a instância de VM:

    gcloud compute instances start VM_NAME --zone=ZONE
    

    Substitua:

    • VM_NAME: o nome da instância de VM.
    • ZONE: a zona em que a instância de VM está sendo executada.
  2. Conecte-se à máquina usando um cliente RDP. Para mais informações, consulte Como se conectar a instâncias.

  3. Use o Windows Update para instalar as atualizações mais recentes do Windows. Talvez seja necessário reiniciar a instância de VM várias vezes durante esse processo.

  4. Verifique se todos os seus aplicativos funcionam conforme o esperado.

Como reverter um upgrade

Se o upgrade falhar, a CLI gcloud iniciará automaticamente uma reversão. Se o upgrade for bem-sucedido, você ainda poderá descobrir que um dos seus aplicativos não funciona como o esperado. Nesse caso, reverta a atualização alterando a instância de VM para usar o disco de inicialização original novamente:

  1. Interrompa a instância de VM.

    gcloud compute instances stop VM_NAME --zone=ZONE
    

    Substitua:

    • VM_NAME: o nome da instância de VM.
    • ZONE: a zona em que a instância de VM está sendo executada.
  2. No registro de criação, encontre as linhas que indicam o nome do disco de inicialização original e o nome do anexo:

    4. Original boot disk: ORIGINAL_DISK_NAME
        - Device name of the attachment: DEVICE_NAME
    
  3. Desanexe o disco que contém o sistema operacional com falha da instância:

    gcloud compute instances detach-disk VM_NAME \
      --device-name=DEVICE_NAME \
      --zone=ZONE
    

    Substitua:

    • VM_NAME: o nome da instância de VM.
    • DEVICE_NAME: o nome do dispositivo, conforme indicado pelo registro do build.
    • ZONE: a zona em que a instância de VM está sendo executada.
  4. Reconecte o disco de inicialização original:

    gcloud compute instances attach-disk VM_NAME \
      --disk=ORIGINAL_DISK_NAME \
      --device-name=DEVICE_NAME \
      --zone=ZONE
    

    Substitua:

    • VM_NAME: o nome da instância de VM.
    • ORIGINAL_DISK_NAME: o nome do disco de inicialização original, conforme indicado pelo registro do build.
    • DEVICE_NAME: o nome do dispositivo, conforme indicado pelo registro do build.
    • ZONE: a zona em que a instância de VM está sendo executada.
  5. Inicie a instância de VM:

    gcloud compute instances start VM_NAME --zone=ZONE
    

    Substitua:

    • VM_NAME: o nome da instância de VM.
    • ZONE: a zona em que a instância de VM está sendo executada.

Limpar

Para evitar cobranças adicionais, remova os backups que a CLI gcloud criou automaticamente antes do upgrade:

  1. No registro do build, encontre a linha que indica o nome do snapshot do disco e o disco de inicialização original:

    3. Snapshot for original boot disk: SNAPSHOT_NAME
    4. Original boot disk: DISK_NAME
       - Device name of the attachment: ...
       - AutoDelete setting of the attachment: true
    5. Name of the new boot disk: ...
    
  2. Volte ao Cloud Shell e exclua o snapshot do disco:

    gcloud compute snapshots delete SNAPSHOT_NAME
    
  3. Exclua o disco de inicialização original, substituindo ZONE pela zona em que a VM está implantada:

    gcloud compute disks delete DISK_NAME --zone=ZONE
    

A seguir