Administra los eventos del host en todas las instancias de procesamiento

En este documento, se explica cómo usar las funciones de mantenimiento del host que están disponibles en el paquete de Cluster Director. En ella, se explica cómo supervisar, planificar y realizar el mantenimiento programado en las instancias de Compute Engine. Para administrar el mantenimiento en tus bloques de capacidad reservados, independientemente de si las instancias de procesamiento se ejecutan en ellos, consulta Administra los eventos del host en todas las reservas.

Cuando administras de forma proactiva los próximos eventos de mantenimiento del host en tus instancias, puedes minimizar las interrupciones y mantener un rendimiento óptimo.

Antes de comenzar

Select the tab for how you plan to use the samples on this page:

Console

When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

gcloud

In the Google Cloud console, activate Cloud Shell.

Activate Cloud Shell

At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

REST

Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.

    Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

    gcloud init

    Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .

Roles obligatorios

Para obtener los permisos que necesitas para administrar los eventos de mantenimiento del host en las instancias de procesamiento, pídele a tu administrador que te otorgue los siguientes roles de IAM :

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Estos roles predefinidos contienen los permisos necesarios para administrar los eventos de mantenimiento del host en las instancias de procesamiento. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para administrar los eventos de mantenimiento del host en todas las instancias de procesamiento:

  • Para ver los detalles de una instancia: compute.instances.get en el proyecto

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Descripción general

Para optimizar el mantenimiento de tus instancias de procesamiento, completa los siguientes pasos:

  1. Comprende y maneja el mantenimiento del host. Obtén información sobre la frecuencia y el comportamiento de mantenimiento de tus instancias según su serie de máquinas, y aprende a preparar tu carga de trabajo para controlar el mantenimiento del host. Esta información te ayuda a minimizar las interrupciones y evitar la pérdida de datos.

  2. Configura alertas de notificación. Crea alertas basadas en registros para recibir notificaciones cuando se programe, inicie o complete el mantenimiento de tus instancias. Este enfoque te ayuda a planificar tus actividades de forma proactiva y evitar tiempos de inactividad inesperados.

  3. Administra el mantenimiento en todas las instancias. Consulta si hay mantenimiento programado para tus instancias. Si es necesario, puedes iniciar el mantenimiento de forma manual en todas tus instancias. Este proceso te ayuda a aumentar la resiliencia de tus cargas de trabajo para alojar eventos, evitar el tiempo de inactividad y maximizar la disponibilidad de tus aplicaciones.

Comprende y controla el mantenimiento del host

Durante el ciclo de vida de una instancia de Compute Engine, la máquina anfitrión en la que se ejecuta tu instancia experimenta varios eventos del host. Un evento de host puede incluir lo siguiente:

  • Mantenimiento planificado de la infraestructura de Compute Engine.
  • Mantenimiento de emergencia no planificado para reparar la infraestructura de Compute Engine después de un error de host o un informe de host defectuoso.

En la siguiente tabla, se describen las funciones de mantenimiento del host para los tipos de máquinas optimizadas para aceleradores:

Tipo de máquina Frecuencia típica de eventos de mantenimiento programados Comportamiento del mantenimiento Notificación avanzada para el mantenimiento programado Notificaciones avanzadas para el mantenimiento de emergencia Mantenimiento a pedido Simula el mantenimiento
A4X Max y A4X Mínimo de 90 días Finaliza con Persistencia de datos en SSD local 90 días Si habilitas las notificaciones de emergencia, entonces 7 días. De lo contrario, tardará algunas horas. No
A4 Mínimo de 90 días Finaliza con Persistencia de datos en SSD local 90 días Si habilitas las notificaciones de emergencia, entonces 7 días. De lo contrario, tardará algunas horas. No
A3 Ultra Mínimo de 90 días Finaliza con Persistencia de datos en SSD local 90 días Si habilitas las notificaciones de emergencia, entonces 7 días. De lo contrario, tardará algunas horas. No
A3 Mega y A3 High
(8 GPUs)
Mínimo de 90 días Finaliza con Persistencia de datos en SSD local 90 días Si habilitas las notificaciones de emergencia, entonces 7 días. De lo contrario, tardará algunas horas.

Las frecuencias de mantenimiento que se muestran en la tabla anterior son aproximaciones, no garantías. Puede que Compute Engine haga tareas de mantenimiento con mayor frecuencia.

Para evitar la pérdida de datos o progreso, configura tus cargas de trabajo para que controlen el mantenimiento del host. Por ejemplo, usa las siguientes técnicas para guardar tus datos temporales y tu progreso antes de que se detenga tu carga de trabajo:

Configura alertas de notificación para instancias de procesamiento

Puedes recibir notificaciones sobre los eventos de mantenimiento programados, iniciados o completados de tus instancias creando políticas de alertas basadas en registros.

Para crear una alerta sobre los eventos de mantenimiento de tus instancias, completa el siguiente procedimiento. Repite este procedimiento para cada alerta que desees crear.

  1. En la consola de Google Cloud , ve a la página Explorador de registros del :

    Ir al Explorador de registros

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.

  2. Haz clic en el botón de activación Mostrar consulta.

  3. En el panel Consulta, crea una de las siguientes consultas. Estas consultas filtran las entradas de registro para identificar eventos de mantenimiento específicos. Si quieres usar varias búsquedas, repite este procedimiento para crear una alerta única para cada búsqueda.

    • Para recibir alertas cuando se programe el mantenimiento de una instancia, sigue estos pasos:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "scheduled"
      
    • Para recibir alertas cuando se abra el período de mantenimiento de una instancia, sigue estos pasos:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "ongoing"
      
    • Para recibir alertas cuando se inicie el mantenimiento de una instancia, sigue estos pasos:

      protoPayload.methodName="compute.instance.terminateOnHostMaintenance" severity>=DEFAULT
      
    • Para recibir alertas cuando se complete el mantenimiento de una instancia, sigue estos pasos:

      protoPayload.methodName="compute.instances.upcomingMaintenance" severity>=DEFAULT
      protoPayload.status.message =~ "completed"
      
  4. Para validar la consulta, haz clic en Ejecutar consulta. Si la consulta es válida, en el panel Resultados de la consulta, se muestran las entradas de registro que coinciden con la consulta.

  5. En la barra de herramientas de Resultados de la consulta, haz clic en la lista Acciones y, luego, selecciona Crear alerta de registro. Aparecerá el panel Crear política de alertas basada en registros.

  6. En la sección Detalles de la alerta, haz lo siguiente:

    1. En el campo Nombre de la política de alertas, ingresa un nombre para la política.

    2. En la lista Nivel de gravedad de la política, selecciona Advertencia (o un nivel de gravedad más alto).

    3. Haz clic en Siguiente.

  7. En la sección Elige registros para incluir en el alerta, haz clic en Siguiente.

  8. En la sección Establecer la frecuencia de notificación y la duración del cierre automático, especifica lo siguiente:

    1. En la lista Tiempo entre notificaciones, selecciona la frecuencia con la que deseas recibir notificaciones.

    2. En la lista Duración del cierre automático de incidentes, selecciona después de cuánto tiempo Cloud Logging dejará de enviar notificaciones y cerrará automáticamente el incidente.

    3. Haz clic en Siguiente.

  9. En la sección ¿Quiénes deben recibir notificaciones?, especifica un canal de notificaciones para que Logging envíe notificaciones.

  10. Haz clic en Guardar.

Para ver ejemplos de notificaciones de eventos de mantenimiento en el Explorador de registros, consulta Ejemplos de notificaciones de mantenimiento en la documentación de Compute Engine.

Administra el mantenimiento en todas las instancias de procesamiento

Para ver y controlar el mantenimiento de tus instancias, puedes realizar una o más de las siguientes acciones:

Consulta el estado de mantenimiento de las instancias de procesamiento

Puedes consultar el estado y la hora programada del mantenimiento próximo de tus instancias verificando el valor del campo upcomingMaintenance en los metadatos de la instancia. Si una instancia no contiene el campo upcomingMaintenance, no se programa ningún evento de mantenimiento de host para la instancia. Para obtener más información sobre los campos en upcomingMaintenance, consulta Definiciones de estado de mantenimiento en la documentación de Compute Engine.

Además, si se programa mantenimiento para una instancia, el campo upcomingGroupMaintenance contiene el campo maintenanceReasons. En este campo, se describe por qué se programó el mantenimiento de tu instancia, como se describe en la siguiente tabla:

Tipo de mantenimiento Motivo del mantenimiento Estado de la instancia de procesamiento
Mantenimiento planificado después de un informe de host defectuoso FAILURE_GPU_CUSTOMER_REPORTED Solo se aplica a las instancias que se ejecutan en el host que informaste como defectuoso.
Mantenimiento planificado para el mantenimiento habitual
  • PLANNED_UPDATE: Mantenimiento planificado de la infraestructura
  • PLANNED_NETWORK_UPDATE: Mantenimiento de red planificado
Se aplica a las instancias en ejecución, detenidas o suspendidas.
Mantenimiento de emergencia imprevisto
  • FAILURE_DISK: Mantenimiento no planificado programado debido a un error con un disco conectado a una instancia.
  • FAILURE_GPU: Mantenimiento no planificado programado debido a un error relacionado con la GPU.
  • FAILURE_GPU_TEMPERATURE: Mantenimiento no planificado programado debido a un error relacionado con la GPU después de que esta alcanzara una temperatura alta.
  • FAILURE_GPU_XID: Mantenimiento no planificado después de que recibiste un mensaje de Xid debido a un error relacionado con la GPU.
  • FAILURE_INFRA: Mantenimiento no planificado programado debido a un error en la infraestructura.
  • FAILURE_INTERFACE: Mantenimiento no planificado programado debido a un error con la NIC.
  • FAILURE_MEMORY: Mantenimiento no planificado programado debido a un error con la memoria de una instancia.
  • FAILURE_NETWORK: Mantenimiento no planificado programado debido a un error en la red.
  • FAILURE_NVLINK: Mantenimiento no planificado programado debido a un error con NVLink.
Solo se aplica a las instancias en ejecución.

Para ver el campo maintenanceReasons en una instancia, debes usar gcloud CLI o la API de REST. Para ver el estado de mantenimiento de varias instancias de procesamiento de forma simultánea, debes usar la consola de Google Cloud o la API de REST. De lo contrario, selecciona una de las siguientes opciones:

Console

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. En la columna Estado de mantenimiento, Compute Engine muestra el estado de mantenimiento de tus instancias. Si no ves esta columna en la tabla Instancias de VM, haz clic en view_column Opciones de visualización de columnas, selecciona la casilla de verificación Estado de mantenimiento y, luego, haz clic en Aceptar.

gcloud

Para ver el estado de mantenimiento de una instancia, usa el comando gcloud compute instances describe con la marca --flatten=resourceStatus.upcomingMaintenance:

gcloud compute instances describe INSTANCE_NAME \
    --flatten=resourceStatus.upcomingMaintenance \
    --zone=ZONE

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia.

  • ZONE: Es la zona en la que existe la instancia.

El resultado es similar a uno de los siguientes:

  • Si se programó un evento de mantenimiento del host para tu instancia, el resultado será similar al siguiente:

    ---
    canReschedule: true
    latestWindowStartTime: '2025-11-01T19:00:00Z'
    maintenanceReasons:
    - 'PLANNED_UPDATE'
    - 'PLANNED_NETWORK_UPDATE'
    maintenanceStatus: 'PENDING'
    type: 'SCHEDULED'
    windowEndTime: '2025-11-01T22:00:00Z'
    windowStartTime: '2025-11-01T19:00:00Z'
    
  • Si no hay programado un evento de mantenimiento del host para tu instancia, el resultado será similar al siguiente:

    ---
    null
    

REST

Para ver el estado de mantenimiento de tus instancias, realiza una de las siguientes solicitudes GET. Cuando realices una solicitud, debes incluir el parámetro de búsqueda fields para mostrar solo el nombre, el tipo de máquina y el mantenimiento próximo de una instancia. También debes incluir el parámetro de consulta filter para filtrar solo las instancias por un tipo de máquina específico.

  • Para ver instancias en todas las zonas, usa el método instances.aggregatedList.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPE
    
  • Para ver instancias en una zona específica, usa el método instances.list.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.upcomingMaintenance&filter=machineType%3AMACHINE_TYPE
    

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que creaste instancias.

  • ZONE: Es la zona en la que existen las instancias.

  • MACHINE_TYPE: Es el tipo de máquina por el que deseas filtrar las instancias.

Si se programa un evento de mantenimiento del host para una instancia, esta contendrá el campo upcomingMaintenance:

{
  "items": [
    {
      "name": "vm-01",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
      "resourceStatus": {
        "upcomingMaintenance": {
          "canReschedule": true,
          "latestWindowStartTime": "2024-11-01T19:00:00Z",
          "maintenanceStatus": "PENDING",
          "maintenanceReasons": [
            "PLANNED_UPDATE",
            "PLANNED_NETWORK_UPDATE"
          ],
          "type": "SCHEDULED",
          "windowEndTime": "2024-11-01T22:00:00Z",
          "windowStartTime": "2024-11-01T19:00:00Z"
        }
      }
    },
    ...
  ]
}

De forma opcional, para limitar aún más una lista de instancias, establece el parámetro de consulta filter en una expresión de filtro diferente.

Servidor de metadatos

Para ver el estado de mantenimiento de una instancia, haz lo siguiente:

  1. Si aún no lo hiciste, conéctate a tu Linux o Windows.

  2. Para ver el programa de mantenimiento próximo, consulta el extremo upcoming-maintenance:

    curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
    

    Si se programó un evento de mantenimiento del host para tu instancia, el resultado será similar al siguiente:

    "Upcoming maintenance": {
      "can_reschedule": "true",
      "latest_window_start_time": "2024-12-01T19:00:01Z",
      "maintenance_reasons": [
        "PLANNED_UPDATE",
        "PLANNED_NETWORK_UPDATE"
      ],
      "maintenance_status": "PENDING",
      "type": "SCHEDULED",
      "window_end_time": "2024-12-01T21:00:01Z",
      "window_start_time": "2024-12-01T19:00:01Z"
    }
    

    Si no hay programado un evento de mantenimiento del host, el resultado es similar al siguiente:

    { }
    
  3. Para ver el estado de mantenimiento actual de una VM, consulta el extremo maintenance-event:

    curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"
    

    Para obtener más información sobre el resultado de estas consultas, consulta Revisa los resultados.

Inicia el mantenimiento de instancias de procesamiento de forma manual

Puedes iniciar el mantenimiento de tus instancias de forma manual en lugar de esperar la hora programada.

Según el estado de mantenimiento de una instancia, sucede lo siguiente:

Estado de mantenimiento Descripción Lo que se muestra
Programado Compute Engine tiene un mantenimiento programado para la instancia. Puedes iniciar el mantenimiento de forma manual antes de la hora programada.
  • En la consola de Google Cloud , el estado de mantenimiento se muestra como Listo para ejecutarse: Se ejecutará el DATE.
  • En gcloud CLI o la API de REST, Compute Engine establece el campo maintenanceStatus en PENDING.
En curso El mantenimiento está en curso. No puedes reprogramarlo.
  • En la consola de Google Cloud , el estado de mantenimiento se muestra comoEn ejecución.
  • En gcloud CLI o la API de REST, Compute Engine establece el campo maintenanceStatus en ONGOING.
Completado Se completó el mantenimiento. Compute Engine quitó todas las notificaciones de mantenimiento de la instancia.
  • En la consola de Google Cloud , el estado de mantenimiento se muestra comoActualizado.
  • En gcloud CLI o la API de REST, Compute Engine establece el campo maintenanceStatus en COMPLETE.

Puedes iniciar el mantenimiento de forma manual para varias instancias simultáneamente o para instancias individuales. Para varias instancias, usa la consola de Google Cloud o, para las instancias ubicadas en la misma zona, gcloud CLI. Para instancias individuales, selecciona cualquiera de las siguientes opciones:

Console

  1. En la consola de Google Cloud , ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Selecciona las filas de las instancias en las que deseas iniciar el mantenimiento.

  3. Haz clic en Ejecutar mantenimiento.

  4. Para confirmar, haz clic en Ejecutar mantenimiento.

gcloud

Para iniciar manualmente el mantenimiento de una o más instancias dentro de la misma zona, usa el comando gcloud compute instances perform-maintenance:

gcloud compute instances perform-maintenance INSTANCE_NAMES \
    --zone=ZONE

Reemplaza lo siguiente:

  • INSTANCE_NAMES: Es una lista de nombres de instancias separados por espacios, por ejemplo, vm-01 vm-02 vm-03.

  • ZONE: Es la zona en la que existen las instancias.

REST

Para iniciar manualmente el mantenimiento de una instancia, realiza una solicitud POST al método instances.performMaintenance:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/performMaintenance

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que creaste la instancia.

  • ZONE: Es la zona en la que existe la instancia.

  • INSTANCE_NAME: Es el nombre de la instancia.

¿Qué sigue?