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 l'interfaccia alla gcloud CLI per eseguirne automaticamente l'upgrade a Windows Server 2012 R2.

L'utilizzo dell'interfaccia alla gcloud CLI per eseguire un upgrade in situ è un'alternativa all'esecuzione di un upgrade manuale. Automatizzando la procedura di upgrade, la gcloud CLI ti consente di ridurre il lavoro necessario per ogni VM di cui devi eseguire l'upgrade.

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

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

Limitazioni

Puoi utilizzare gcloud CLI per eseguire 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 per eseguire l'upgrade delle istanze VM per le quali porti le tue licenze, consulta Eseguire un upgrade in loco di Windows Server.

Costi

L'upgrade in loco di Windows Server non comporta alcun costo. Ti vengono addebitati solo le risorse consumate 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 illustrano la 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 il comando seguente 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 di cui eseguire l'upgrade
    • 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 ti 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
    ...
    
    

Osservazione della procedura di upgrade

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

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

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

Successfully upgraded instance 'projects/...!'

Se l'gcloud CLI riscontra un problema durante l'upgrade, contrassegna la build come Failed (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 di compilazione.

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

Completare l'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 ulteriori informazioni, consulta Connessione alle istanze.

  3. Utilizza Windows Update per installare gli ultimi aggiornamenti di Windows. Durante questa procedura potrebbe essere necessario riavviare l'istanza VM più volte.

  4. Verifica che tutte le applicazioni funzionino come previsto.

Rollback di un upgrade

Se l'upgrade non va a buon fine, l'interfaccia alla 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 compilazione, individua 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 il disco contenente il sistema operativo con malfunzionamento dall'istanza:

    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 dal log di compilazione
    • 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 dal log di compilazione
    • DEVICE_NAME: il nome del dispositivo indicato dal log di compilazione
    • 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 dalla gcloud CLI prima dell'upgrade:

  1. Nel log di compilazione, 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 è dipiattaforma la VM:

    gcloud compute disks delete DISK_NAME --zone=ZONE
    

Passaggi successivi