Realiza una actualización in situ automática de Windows Server 2008 R2

Si tienes instancias de máquina virtual (VM) que ejecutan Windows Server 2008 R2, puedes usar la herramienta de gcloud para actualizarlas de forma automática a Windows Server 2012 R2.

Usar la herramienta de gcloud para realizar una actualización in situ es una alternativa a realizar una actualización manual. Mediante la automatización del proceso de actualización, la herramienta de gcloud te permite reducir el esfuerzo requerido para cada instancia de VM que necesitas actualizar.

Durante una actualización in situ de una instancia de VM, la herramienta de gcloud realiza los siguientes pasos:

  1. Detén la instancia de VM.
  2. Crea una instantánea del disco persistente como copia de seguridad.
  3. Crea una copia del disco de arranque y conserva el disco de arranque original como copia de seguridad.
  4. Conecta un disco de instalación que contenga los medios de instalación de Windows 2012 R2.
  5. Inicia la Configuración de Windows (setup.exe) desde el disco de instalación para realizar una actualización en modo sin supervisión.
  6. Aplica la configuración posterior a la actualización.
  7. Desconecta el disco de instalación.
  8. Detén la instancia de VM.

Costos

No se aplican cargos por realizar una actualización in situ de Windows Server. Solo se te cobrará por los recursos consumidos durante la actualización, que incluyen los siguientes:

Usa la calculadora de precios para generar una estimación de los costos según el uso previsto.

Antes de comenzar

Inicia la actualización

En las siguientes secciones, se explica el proceso de actualización de tu instancia de VM.

  1. En Google Cloud Console, haz clic en el botón Activar Cloud ShellActiva Cloud Shell. para abrir Cloud Shell.

    Ir a Google Cloud Console.

  2. Configura el ID del proyecto predeterminado. Reemplaza PROJECT_ID por el nombre de tu proyecto de Compute Engine:

    gcloud config set project PROJECT_ID
    
  3. Ejecuta el siguiente comando para iniciar la actualización:

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

    Reemplaza lo siguiente:

    • VM_NAME: Es el nombre de la instancia de VM que se actualizará.
    • ZONE: Es la zona en la que se ejecuta la instancia de VM.

    La marca --async le indica a la herramienta de gcloud que ejecute la actualización en segundo plano mediante Cloud Build. Ejecutar la actualización en segundo plano te permite actualizar varias instancias de VM en paralelo y, también, garantiza que el proceso continúe incluso si cierras tu sesión de Cloud Shell. Puedes encontrar un vínculo al trabajo de Cloud Build en el resultado del comando:

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

Observa el proceso de actualización

Según la configuración de tu instancia de VM, la actualización puede llevar entre 40 y 90 minutos en completarse. Para verificar el estado del proceso de actualización, abre el registro de Cloud Build:

  1. En el resultado del comando de la herramienta de gcloud, haz clic en la URL que se muestra junto a logUrl.
  2. En Registro de la compilación, puedes ver el estado actual del proceso de actualización.

Cuando la actualización finaliza con éxito, la compilación se marca como Correcta y puedes ver el siguiente resultado en el registro de la compilación:

Successfully upgraded instance 'projects/...!'

Si la herramienta de gcloud encuentra un problema durante la actualización, se marca la compilación como Con errores. Si se especifica la opción --auto-rollback, la herramienta de gcloud también inicia una reversión automática. Puedes encontrar más detalles sobre el problema en el registro de la compilación.

Si la actualización sigue en ejecución después de 90 minutos y sospechas que no avanza, usa uno de los métodos que se describen en Soluciona problemas de la actualización in situ para descubrir si el proceso de actualización falló o está detenido.

Completa la actualización

Una vez que se complete la actualización, inicia la instancia de VM y ejecuta Windows Update para descargar e instalar las actualizaciones de seguridad más recientes:

  1. Inicia la instancia de VM:

    gcloud compute instances start VM_NAME --zone=ZONE
    

    Reemplaza lo siguiente:

    • VM_NAME: Es el nombre de la instancia de VM.
    • ZONE: Es la zona en la que se ejecuta la instancia de VM.
  2. Conéctate a la máquina mediante un cliente de RDP. Para obtener más información, consulta Conéctate a instancias de Windows.

  3. Usa Windows Update para instalar las últimas actualizaciones de Windows. Es posible que debas reiniciar la instancia de VM varias veces durante este proceso.

  4. Verifica que todas las aplicaciones funcionen de la forma prevista.

Revierte una actualización

Si la actualización falla, la herramienta de gcloud inicia una reversión de forma automática. Aunque la actualización se haya realizado con éxito, es posible que una de tus aplicaciones no funcione de forma correcta. En ese caso, cambia la instancia de VM a fin de volver a usar el disco de arranque original para revertir la actualización:

  1. Detén la instancia de VM:

    gcloud compute instances stop VM_NAME --zone=ZONE
    

    Reemplaza lo siguiente:

    • VM_NAME: Es el nombre de la instancia de VM.
    • ZONE: Es la zona en la que se ejecuta la instancia de VM.
  2. En el registro de la compilación, busca las líneas que indican el nombre del disco de arranque original y el nombre del disco conectado:

    4. Original boot disk: ORIGINAL_DISK_NAME
        - Device name of the attachment: DEVICE_NAME
    
  3. Desconecta de la instancia el disco que contiene el sistema operativo que funciona de forma incorrecta:

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

    Reemplaza lo siguiente:

    • VM_NAME: Es el nombre de la instancia de VM.
    • DEVICE_NAME: Es el nombre del dispositivo según lo indica el registro de la compilación.
    • ZONE: Es la zona en la que se ejecuta la instancia de VM.
  4. Vuelve a conectar el disco de arranque original:

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

    Reemplaza lo siguiente:

    • VM_NAME: Es el nombre de la instancia de VM.
    • ORIGINAL_DISK_NAME: Es el nombre del disco de arranque original según lo indica el registro de la compilación.
    • DEVICE_NAME: Es el nombre del dispositivo según lo indica el registro de la compilación.
    • ZONE: Es la zona en la que se ejecuta la instancia de VM.
  5. Inicia la instancia de VM:

    gcloud compute instances start VM_NAME --zone=ZONE
    

    Reemplaza lo siguiente:

    • VM_NAME: Es el nombre de la instancia de VM.
    • ZONE: Es la zona en la que se ejecuta la instancia de VM.

Limpia

Para evitar que se generen cargos adicionales, quita las copias de seguridad que la herramienta de gcloud creó de forma automática antes de la actualización:

  1. En el registro de la compilación, busca la línea que indica el nombre de la instantánea del disco y del disco de arranque 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. Regresa a Cloud Shell y borra la instantánea del disco:

    gcloud compute snapshots delete SNAPSHOT_NAME
    
  3. Borra el disco de arranque original y reemplaza ZONE por la zona en la que se implementa la VM:

    gcloud compute disks delete DISK_NAME --zone=ZONE
    

¿Qué sigue?