Esecuzione di un upgrade in loco automatico di Windows Server 2008 R2


Se hai istanze di macchine virtuali (VM) che eseguono Windows Server 2008 R2, puoi utilizzare la gcloud CLI per eseguire automaticamente l'upgrade a Windows Server 2012 R2.

L'utilizzo di gcloud CLI per eseguire un upgrade in loco è un'alternativa all'esecuzione di un upgrade manuale. Automatizzando la procedura di upgrade, la gcloud CLI ti consente di ridurre lo sforzo richiesto per ogni VM di cui devi eseguire l'upgrade.

Durante un upgrade in loco di una VM, gcloud CLI esegue i seguenti passaggi:

  1. Arresta la VM.
  2. Crea uno snapshot Persistent Disk standard come backup.
  3. Crea una copia del disco di avvio, mantenendo l'originale come backup.
  4. Collega un disco di installazione contenente i supporti di installazione di Windows 2012 R2.
  5. Avvia l'installazione di Windows (setup.exe) dal disco di installazione per eseguire un upgrade in modalità automatica.
  6. Applica la configurazione post-upgrade.
  7. Scollega il disco di installazione.
  8. Arresta la VM.

Limitazioni

Puoi utilizzare gcloud CLI per eseguire gli upgrade da Windows Server 2008 R2 a Windows Server 2012 R2. Questo approccio supporta solo le istanze VM basate su un'immagine del sistema operativo pubblico fornita da Google. Per eseguire l'upgrade di altre configurazioni di Windows Server o delle istanze VM per le quali porti la tua licenza, consulta Esecuzione di un upgrade in loco di Windows Server.

Costi

L'esecuzione di un upgrade in loco di Windows Server non comporta alcun costo. Ti vengono addebitati solo i costi per le risorse utilizzate durante l'upgrade, tra cui:

Utilizza il calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.

Prima di iniziare

Avvio dell'upgrade

Le sezioni seguenti ti guidano nella procedura di upgrade dell'istanza VM.

  1. Nella console Google Cloud , apri Cloud Shell facendo clic sul pulsante Attiva Cloud Shell Attiva Cloud Shell..

    Vai alla console Google Cloud

  2. Imposta l'ID progetto predefinito. Sostituisci PROJECT_ID con il nome del tuo progetto Compute Engine:

    gcloud config set project PROJECT_ID
    
  3. Esegui questo comando per avviare l'upgrade:

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

    Sostituisci quanto segue:

    • VM_NAME: il nome dell'istanza VM da aggiornare
    • ZONE: la zona in cui è in esecuzione l'istanza VM

    Il flag --async indica a gcloud CLI di eseguire l'upgrade in background utilizzando Cloud Build. L'esecuzione dell'upgrade in background consente di eseguire l'upgrade di più istanze VM in parallelo e garantisce inoltre che il processo continui anche se chiudi la sessione Cloud Shell. Puoi trovare un link al job Cloud Build nell'output del comando:

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

Osservare il processo di upgrade

A seconda della configurazione dell'istanza VM, l'upgrade potrebbe richiedere tra 40 e 90 minuti. Puoi controllare lo stato del processo di upgrade aprendo il log di Cloud Build:

  1. Fai clic sull'URL mostrato accanto a logUrl nell'output del comando di gcloud CLI.
  2. Nella sezione Log di build puoi visualizzare lo stato attuale della procedura di upgrade.

Al termine dell'upgrade, la build viene contrassegnata come Riuscita e nel log della build viene visualizzato il seguente output:

Successfully upgraded instance 'projects/...!'

Se gcloud CLI rileva un problema durante l'upgrade, contrassegna la build come Non riuscita. Se viene specificata l'opzione --auto-rollback, l'interfaccia alla gcloud CLI avvia anche un rollback automatico. Puoi trovare ulteriori dettagli sul problema riscontrato nel log della build.

Se l'upgrade è ancora in esecuzione dopo 90 minuti e sospetti che non stia procedendo, utilizza uno degli approcci descritti in Risoluzione dei problemi dell'upgrade sul posto per scoprire se la procedura di upgrade non è riuscita o è bloccata.

Completamento dell'upgrade

Al termine dell'upgrade, avvia l'istanza VM ed esegui Windows Update per scaricare e installare gli ultimi aggiornamenti della sicurezza:

  1. Avvia l'istanza VM:

    gcloud compute instances start VM_NAME --zone=ZONE
    

    Sostituisci quanto segue:

    • VM_NAME: il nome dell'istanza VM
    • ZONE: la zona in cui è in esecuzione l'istanza VM
  2. Connettiti alla macchina utilizzando un client RDP. Per saperne di più, vedi Connessione alle istanze.

  3. Utilizza Windows Update per installare gli ultimi aggiornamenti di Windows. Potresti dover riavviare l'istanza VM più volte durante questa procedura.

  4. Verifica che tutte le applicazioni funzionino come previsto.

Eseguire il rollback di un upgrade

Se l'upgrade non va a buon fine, la gcloud CLI avvia automaticamente un rollback. Se l'upgrade va a buon fine, potresti comunque riscontrare che una delle tue applicazioni non funziona come previsto. In questo caso, esegui il rollback dell'upgrade modificando l'istanza VM in modo che utilizzi di nuovo il disco di avvio originale:

  1. Arresta l'istanza VM:

    gcloud compute instances stop VM_NAME --zone=ZONE
    

    Sostituisci quanto segue:

    • VM_NAME: il nome dell'istanza VM
    • ZONE: la zona in cui è in esecuzione l'istanza VM
  2. Nel log di build, trova le righe che indicano il nome del disco di avvio originale e il nome dell'allegato:

    4. Original boot disk: ORIGINAL_DISK_NAME
        - Device name of the attachment: DEVICE_NAME
    
  3. Scollega dall'istanza il disco contenente il sistema operativo malfunzionante:

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

    Sostituisci quanto segue:

    • VM_NAME: il nome dell'istanza VM
    • DEVICE_NAME: il nome del dispositivo indicato nel log di build
    • ZONE: la zona in cui è in esecuzione l'istanza VM
  4. Ricollega il disco di avvio originale:

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

    Sostituisci quanto segue:

    • VM_NAME: il nome dell'istanza VM
    • ORIGINAL_DISK_NAME: il nome del disco di avvio originale indicato nel log di build
    • DEVICE_NAME: il nome del dispositivo indicato nel log di build
    • ZONE: la zona in cui è in esecuzione l'istanza VM
  5. Avvia l'istanza VM:

    gcloud compute instances start VM_NAME --zone=ZONE
    

    Sostituisci quanto segue:

    • VM_NAME: il nome dell'istanza VM
    • ZONE: la zona in cui è in esecuzione l'istanza VM

Esegui la pulizia

Per evitare addebiti aggiuntivi, rimuovi i backup creati automaticamente da gcloud CLI prima dell'upgrade:

  1. Nel log di build, individua la riga che indica il nome dello snapshot del disco e del disco di avvio originale:

    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. Torna a Cloud Shell ed elimina lo snapshot del disco:

    gcloud compute snapshots delete SNAPSHOT_NAME
    
  3. Elimina il disco di avvio originale, sostituendo ZONE con la zona in cui è stato eseguito il deployment della VM:

    gcloud compute disks delete DISK_NAME --zone=ZONE
    

Passaggi successivi