Executando uma atualização automatizada no local do Windows Server 2008 R2


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

Usar a CLI gcloud para realizar uma atualização local é uma alternativa à realização de uma atualização manual . Ao automatizar o processo de atualização, a CLI gcloud permite reduzir o esforço necessário para cada VM que você precisa atualizar.

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

  1. Interrompe 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 disco de inicialização original como backup.
  4. Anexa um disco de instalação contendo a mídia de instalação do Windows 2012 R2 .
  5. Inicia a Instalação do Windows ( setup.exe ) a partir do disco de instalação para executar uma atualização no modo autônomo .
  6. Aplica configuração pós-atualização .
  7. Desconecta o disco de instalação.
  8. Interrompe a VM.

Limitações

Você pode usar a CLI gcloud para realizar atualizações do Windows Server 2008 R2 para o Windows Server 2012 R2. Essa abordagem oferece suporte apenas a instâncias de VM baseadas em uma imagem de sistema operacional público fornecida pelo Google. Para atualizar outras configurações do Windows Server ou atualizar instâncias de VM para as quais você traz sua própria licença , consulte Executando uma atualização local do Windows Server .

Custos

Não há cobrança para realizar uma atualização local do Windows Server. Você será cobrado apenas pelos recursos consumidos durante a atualização, incluindo:

Use a calculadora de preços para gerar uma estimativa de custo com base no uso projetado.

Antes de começar

Iniciando a atualização

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

  1. No console do Google Cloud, abra o Cloud Shell clicando em Ativar Cloud ShellAtive o Cloud Shell. botão.

    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 a atualização:

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

    Substitua o seguinte:

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

    A sinalização --async informa à CLI gcloud para executar o upgrade em segundo plano usando o Cloud Build . A execução do upgrade em segundo plano permite atualizar várias instâncias de VM em paralelo e também garante que o processo continue mesmo se você fechar a sessão do Cloud Shell. Você pode encontrar um link para o job do Cloud Build na saída do comando:

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

Observando o processo de atualização

Dependendo da configuração da sua instância de VM, o upgrade pode levar de 40 a 90 minutos para ser concluído. Você pode verificar o status do processo de upgrade abrindo o log do Cloud Build:

  1. Clique no URL mostrado ao lado de logUrl na saída do comando da CLI gcloud.
  2. Em Build log , você pode ver o status atual do processo de atualização.

Quando a atualização for concluída com êxito, o build será marcado como Bem-sucedido e você poderá ver a seguinte saída no log de build:

Successfully upgraded instance 'projects/...!'

Se a CLI gcloud encontrar um problema durante o upgrade, ela marcará a compilação como Failed . Se a opção --auto-rollback for especificada, a CLI gcloud também iniciará uma reversão automática. Você pode encontrar mais detalhes sobre o problema encontrado no log de construção.

Se a atualização ainda estiver em execução após 90 minutos e você suspeitar que a atualização não está progredindo, use uma das abordagens descritas em Solução de problemas da atualização local para descobrir se o processo de atualização falhou ou está paralisado.

Concluindo a atualização

Após a conclusão do upgrade, inicie a instância de VM e execute o Windows Update para baixar 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 o seguinte:

    • VM_NAME : o nome da instância da VM
    • ZONE : a zona em que a instância de VM está sendo executada
  2. Conecte-se à máquina usando um cliente RDP. Para obter mais informações, consulte Conectando-se 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 diversas vezes durante esse processo.

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

Revertendo uma atualização

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

  1. Pare a instância de VM:

    gcloud compute instances stop VM_NAME --zone=ZONE
    

    Substitua o seguinte:

    • VM_NAME : o nome da instância da VM
    • ZONE : a zona em que a instância de VM está sendo executada
  2. No log de compilaçã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. Desconecte o disco que contém o sistema operacional com defeito da sua instância:

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

    Substitua o seguinte:

    • VM_NAME : o nome da instância da VM
    • DEVICE_NAME : o nome do dispositivo conforme indicado no log de compilação
    • 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 o seguinte:

    • VM_NAME : o nome da instância da VM
    • ORIGINAL_DISK_NAME : o nome do disco de inicialização original conforme indicado pelo log de compilação
    • DEVICE_NAME : o nome do dispositivo conforme indicado no log de compilação
    • 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 o seguinte:

    • VM_NAME : o nome da instância da 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 log de compilação, encontre a linha que indica o nome do instantâneo do disco e do 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. Retorne 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
    

O que vem a seguir