Administra los eventos del host en todas las VMs de H4D

En este documento, se explica cómo usar las funciones de mantenimiento del host que están disponibles con las VMs H4D. Se explica cómo supervisar, planificar y realizar el mantenimiento programado en instancias de máquina virtual (VM). Para administrar el mantenimiento en tus bloques de capacidad reservados, independientemente de si las VMs 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 VMs, 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 en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a gcloud CLI.

    Instala Google Cloud CLI. Después de instalarla, inicializa Google Cloud CLI ejecutando el siguiente comando:

    gcloud init

    Si usas un proveedor de identidad (IdP) externo, primero debes Acceder a 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 VMs, 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 todas las VMs. 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 VMs:

  • Para ver los detalles de una VM: 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 VMs, completa los siguientes pasos:

  1. Obtén información sobre el mantenimiento del host. Obtén información sobre la frecuencia y el comportamiento de mantenimiento de tus VMs según su serie de máquinas. Esta información te ayuda a minimizar las interrupciones en tus cargas de trabajo.

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

  3. Administra el mantenimiento en todas las VMs. Ver si se programó mantenimiento para tus VMs Si es necesario, puedes iniciar el mantenimiento de forma manual en todas tus VMs. 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.

Información sobre 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 el mantenimiento regular de la infraestructura de Compute Engine o, en casos excepcionales, un error de host. Compute Engine también aplica algunas actualizaciones básicas sin interrupciones para el hipervisor y la red en segundo plano.

La serie de máquinas H4D ofrece las siguientes funciones relacionadas con el mantenimiento del host:

Tipo de máquina Frecuencia típica de eventos de mantenimiento programados Comportamiento de mantenimiento Notificación avanzada Mantenimiento a pedido Simular mantenimiento
h4d-standard-192 Mínimo de 30 días Finalizar 7 días No
h4d-highmem-192 Mínimo de 30 días Finalizar 7 días No
h4d-highmem-192-lssd Mínimo de 30 días Finaliza con persistencia de datos en SSD local 7 días No

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.

Configura alertas de notificación para las VMs

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

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

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

    Accede 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 VM, 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 VM, haz lo siguiente:

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

      protoPayload.methodName="compute.instance.terminateOnHostMaintenance" severity>=DEFAULT
      
    • Para recibir alertas cuando se complete el mantenimiento de una VM, 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 las VMs

Puedes ver y controlar el mantenimiento de tus VMs de una o más de las siguientes maneras:

Visualiza el estado de mantenimiento de las VMs

Puedes consultar el estado y la hora programada del próximo mantenimiento de tus VMs verificando el valor del campo upcomingMaintenance en los metadatos de la instancia. Si una VM no contiene el campo upcomingMaintenance, no se programó ningún evento de mantenimiento del host para la VM. 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 VM, el campo upcomingGroupMaintenance contiene el campo maintenanceReasons. En este campo, se describe por qué se programó el mantenimiento de tu VM, como se describe en la siguiente tabla:

Tipo de mantenimiento Motivo del mantenimiento Estado de las VMs
Mantenimiento planificado para el mantenimiento habitual
  • PLANNED_UPDATE: Mantenimiento planificado de la infraestructura
  • PLANNED_NETWORK_UPDATE: Mantenimiento de red planificado
Se aplica a las VMs 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 VM.
  • FAILURE_INFRA: Mantenimiento imprevisto 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 VM.
  • FAILURE_NETWORK: Mantenimiento no planificado programado debido a un error en la red.
Solo se aplica a las VMs en ejecución.

Para ver el campo maintenanceReasons en una VM, debes usar gcloud CLI o la API de REST. Para ver el estado de mantenimiento de varias VMs 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 VMs. 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 VM, usa el comando gcloud compute instances describe con la marca --flatten=resourceStatus.upcomingMaintenance:

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

Reemplaza lo siguiente:

  • VM_NAME: El nombre de la VM.

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

El resultado es similar a uno de los siguientes:

  • Si se programó un evento de mantenimiento del host para tu VM, 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 VM, el resultado será similar al siguiente:

    ---
    null
    

REST

Para ver el estado de mantenimiento de tus VMs, 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 VM. También debes incluir el parámetro de consulta filter para filtrar solo las VMs por un tipo de máquina específico.

  • Para ver las VMs 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 las VMs 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 las VMs.

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

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

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

{
  "items": [
    {
      "name": "vm-01",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west4-b/machineTypes/h4d-highmem-192-lssd",
      "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 VMs, 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 VM, haz lo siguiente:

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

  2. Consulta el servidor de metadatos de la siguiente manera:

    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 VM, 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:

    { }
    

Inicia el mantenimiento de las VMs de forma manual

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

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

Estado de mantenimiento Descripción Lo que ves
Programado Compute Engine tiene programado un mantenimiento para la VM. 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 reprogramarla.
  • 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 VM.
  • 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 varias VMs de forma manual y simultánea, o bien de VMs individuales. Para varias VMs, usa la consola de Google Cloud o, para las VMs ubicadas en la misma zona, gcloud CLI. Para VMs 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 VMs 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 VMs dentro de la misma zona, usa el comando gcloud compute instances perform-maintenance:

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

Reemplaza lo siguiente:

  • VM_NAMES: Es una lista de nombres de VM separados por espacios; por ejemplo, vm-01 vm-02 vm-03.

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

REST

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

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

Reemplaza lo siguiente:

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

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

  • VM_NAME: El nombre de la VM.