Cómo informar un host defectuoso

Si observas un problema en una instancia de A4X Max, A4X, A4, A3 Ultra, A3 Mega o A3 High (8 GPUs) que no puedes resolver por tu cuenta, puedes informar que su host está defectuoso. Un ejemplo de este tipo de problema podría ser un rendimiento más lento dentro de un clúster o temperaturas de GPU constantemente altas.

Cuando informas que un host está defectuoso, Compute Engine repara automáticamente la instancia de procesamiento ejecutando el mantenimiento del host.

  • En el caso de las instancias A4 y A3 Ultra, Compute Engine intenta migrar la instancia a otro host cuando comienza el mantenimiento, si tienes capacidad reservada sin usar o si hay capacidad disponible en la zona de la instancia. Informar que un host es defectuoso te ayuda a minimizar el tiempo de inactividad de tu carga de trabajo.
  • En el caso de las instancias A3 Mega y A3 High, Compute Engine detiene la instancia, realiza las reparaciones necesarias del host y, luego, reinicia la instancia en el mismo host.

En este documento, se explica cómo informar y reparar instancias de host defectuosas que forman parte de un clúster de Slurm o de otros clústeres basados en instancias de procesamiento. Para informar sobre hosts defectuosos en un clúster de Google Kubernetes Engine (GKE), consulta Cómo informar sobre hosts defectuosos a través de GKE.

Limitaciones

Cuando denuncias un host defectuoso, se aplican las siguientes limitaciones:

  • Solo puedes informar sobre un host defectuoso si la instancia de procesamiento que se ejecuta en el host cumple con todas las siguientes condiciones:

    • La instancia de procesamiento se está ejecutando.

    • La instancia de procesamiento usa un tipo de máquina A4X Max, A4X, A4, A3 Ultra, A3 Mega y A3 High (8 GPUs).

    • La instancia de procesamiento usa el modelo de aprovisionamiento vinculado a la reserva.

  • Si borras una instancia de procesamiento mientras la operación reportHostAsFaulty está en curso, esta fallará.reportHostAsFaulty

  • Google Cloud hace todo lo posible para satisfacer todas tus solicitudes de informes de host defectuosos. Sin embargo, debido a las restricciones de capacidad o los límites de frecuencia, es posible que no siempre se cumpla una solicitud.

Antes de comenzar

Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:

Console

Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud , no necesitas configurar la autenticación.

gcloud

En la consola de Google Cloud , activa Cloud Shell.

Activa Cloud Shell

En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell que muestra una ventana emergente con una línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

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.

    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 informar sobre un host defectuoso, 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 denunciar un host defectuoso. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para denunciar un host defectuoso:

  • Para crear un informe de host defectuoso, haz lo siguiente: compute.instances.update en la instancia de procesamiento
  • Para ver una lista de operaciones con Logging: logging.operations.list en el proyecto
  • Para ver los detalles de una operación con Logging: logging.operations.get en el proyecto
  • Para ver una lista de las operaciones en Compute Engine: compute.zoneOperations.list en el proyecto
  • Para ver los detalles de una operación en Compute Engine, haz lo siguiente: compute.zoneOperations.describe en el proyecto

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

Comprende el proceso de informe de host defectuoso

Después de informar que un host está defectuoso para una instancia de procesamiento, el momento en que se reinicia la instancia de procesamiento varía según el modo operativo de la reserva que se especifica en la reserva que usa la instancia de procesamiento. Para verificar el modo operativo de una reserva, consulta el campo reservationOperationalMode en la reserva. En la siguiente tabla, se resume el proceso de host defectuoso para los dos modos operativos de reserva disponibles: modo de capacidad total y modo administrado.
Modo All Capacity (ALL_CAPACITY) Modo administrado (HIGHLY_AVAILABLE_CAPACITY)
Tipos de máquina admitidos A4X Max y A4X A4, A3 Ultra, A3 Mega y A3 High
Límite de frecuencia de la API de informes de host defectuoso No se aplican límites de frecuencia. Es posible que las llamadas a la API tengan una tasa limitada.
Proceso de informe de host defectuoso

Cuando informas que un host está defectuoso para una instancia de procesamiento que se ejecuta en el modo All Capacity, sucede lo siguiente:

  1. Informa que el host está defectuoso: La instancia permanece en el estado RUNNING durante toda la operación para informar que el host está defectuoso, que suele tardar entre 10 y 12 minutos en completarse. Para revisar el estado de la operación, consulta Revisa las operaciones de host defectuosas del informe en este documento.
  2. Repara el host: Después de que se completa la operación para informar que el host está defectuoso, la operación de reparación del host comienza en un minuto.

    Cuando se inicia la operación de reparación del host, la instancia se detiene y su estado cambia según el parámetro de configuración de reinicio automático (automaticRestart) especificado para la instancia:

    • Si el reinicio automático está habilitado para la instancia, el estado de la instancia cambia a REPAIRING. La instancia se reinicia automáticamente cuando su host está en buen estado, a menos que la detengas antes.
    • Si el reinicio automático está inhabilitado para la instancia, el estado de la instancia cambia a TERMINATED. Debes reiniciar la instancia de forma manual después de que su host esté en buen estado.

    La reparación del host defectuoso puede tardar entre 3 y 14 días, o incluso más en algunos casos.

  3. Reinicia la instancia: Después de que la operación de reparación del host se complete (por lo general, de 3 a 14 días), ocurrirá una de las siguientes situaciones:

    • Si la instancia está en el estado REPAIRING y los recursos están disponibles cuando se completa la reparación, Compute Engine reinicia automáticamente la instancia en el host reparado.
    • De lo contrario, si la instancia está en el estado TERMINATED o si los recursos no están disponibles cuando se completa la reparación, el estado de la instancia permanece en TERMINATED o cambia a ese estado. Debes reiniciar la instancia de forma manual cuando quieras que se ejecute. Sin embargo, es posible que no se pueda reiniciar la instancia si no hay recursos disponibles cuando lo hagas. Por ejemplo, esto puede ocurrir si otras instancias ya están usando el host reparado.

Cuando informas que un host está defectuoso para una instancia de procesamiento que se ejecuta en el modo administrado, sucede lo siguiente:

  1. Informa el host defectuoso: La instancia permanece en el estado RUNNING durante toda la operación de informe del host defectuoso, que suele tardar entre 10 y 12 minutos en completarse. Para revisar el estado de la operación, consulta Revisa las operaciones de host defectuosas del informe en este documento.
  2. Comienza a reparar el host: Una vez que se completa la operación para informar que el host está defectuoso, la operación de reparación del host comienza en un minuto.

    Cuando se inicia la operación de reparación del host, la instancia se detiene y su estado cambia según el parámetro de configuración de reinicio automático (automaticRestart) especificado para la instancia:

    • Si el reinicio automático está habilitado para la instancia, el estado de la instancia cambia a REPAIRING. La instancia se reinicia automáticamente cuando su host está en buen estado, a menos que la detengas antes.
    • Si el reinicio automático está inhabilitado para la instancia, el estado de la instancia cambia a TERMINATED. Debes reiniciar la instancia de forma manual después de que su host esté en buen estado.

    La reparación del host defectuoso puede tardar entre 3 y 14 días, o incluso más en ocasiones.

  3. Migra y reinicia la instancia: Después de que comienza la operación de reparación del host (por lo general, entre 10 y 12 minutos), Compute Engine intenta reservar un host más para reemplazar el host defectuoso que informaste en tu capacidad reservada. Si Compute Engine encuentra un host en buen estado (si reemplaza correctamente el host defectuoso o encuentra un host en buen estado coincidente en tu capacidad reservada), Compute Engine migra la instancia a ese host. Luego, el reinicio de la instancia se realiza de una de las siguientes maneras:

    • Si la instancia está en el estado REPAIRING y los recursos están disponibles antes de que se complete la reparación o cuando esta se completa, Compute Engine reinicia automáticamente la instancia en un host en buen estado.
    • De lo contrario, si la instancia está en el estado TERMINATED o si los recursos no están disponibles antes o cuando se completa la reparación, el estado de la instancia permanece en TERMINATED o cambia a ese estado. Debes reiniciar la instancia de forma manual cuando quieras que se ejecute. Sin embargo, es posible que no se pueda reiniciar la instancia si no hay recursos disponibles cuando lo hagas. Por ejemplo, esto puede ocurrir si otras instancias ya están usando el host reparado.

Soluciona problemas antes de informar un host defectuoso

Antes de informar sobre un host defectuoso, te recomendamos que soluciones el problema para confirmar si se trata de un problema de hardware, en lugar de un problema con la configuración de tu carga de trabajo o clúster. Este enfoque ayuda a evitar tiempos de inactividad innecesarios para tus cargas de trabajo.

Ejecuta pruebas del verificador de estado del clúster

Usa la herramienta Cluster Health Scanner (CHS) para ejecutar verificaciones de estado proactivas y diagnosticar problemas en tu clúster de GPU. Específicamente, ejecuta las siguientes pruebas:

Cómo verificar si hay problemas de rendimiento y rezagados en la GPU

Si observas un rendimiento lento, usa el servicio de detección de rezagados para identificar las VMs que podrían tener un rendimiento más lento que otras en el clúster.

Supervisa las temperaturas de la GPU y los incumplimientos térmicos

Si ves advertencias de incumplimiento térmico en tus registros o en los informes de DCGM, revisa las siguientes instrucciones:

  • Advertencias vs. errores críticos: Los diagnósticos actuales de DCGM pueden informar incumplimientos térmicos como advertencias con una gravedad de monitor. Esto significa que las GPUs aún están listas para ejecutar cargas de trabajo, pero se deben supervisar.
  • Falsos positivos: NVIDIA está investigando un aumento en la frecuencia de los informes de incumplimiento térmico en las GPUs que no muestran signos de problemas térmicos reales.
  • Recomendación: Antes de informar que un host está defectuoso debido a advertencias térmicas, verifica si las temperaturas reales de la GPU superan los umbrales seguros y si se ve afectado el rendimiento de tu carga de trabajo. Si las temperaturas se mantienen estables y el rendimiento es normal, te recomendamos que supervises la GPU en lugar de informar que está defectuosa.

Para obtener más información sobre la solución de problemas relacionados con las GPU, consulta Soluciona problemas de VMs con GPU en la documentación de Compute Engine.

Cómo informar un host defectuoso

Para denunciar un host defectuoso, completa los siguientes pasos:

  1. Revisa el host en el que se ejecuta tu instancia de procesamiento.

    Para obtener instrucciones, consulta Cómo ver la topología de una instancia de procesamiento.

  2. Opcional: Crea una copia de seguridad de los datos del SSD local. Cuando se detiene la instancia, Compute Engine descarta automáticamente los datos de los discos SSD locales conectados a la instancia. No puedes recuperar los datos de SSD locales después de que Compute Engine los descarta.

    Para obtener instrucciones sobre cómo conservar los datos de los SSD locales, consulta Copia de seguridad de datos del SSD local.

  3. Informa el host defectuoso. Para informar un host defectuoso, selecciona una de las siguientes opciones. La operación de reparación del host comienza de inmediato, en el plazo de un minuto después de que se completa la operación de informe de host defectuoso. Si la instancia deja de responder después de que inicias la operación de informe de host defectuoso, te recomendamos que reinicies la instancia de procesamiento después de esperar al menos 15 minutos.

    gcloud

    Para informar sobre un host defectuoso, usa el siguiente comando gcloud compute instances report-host-as-faulty:

    gcloud compute instances report-host-as-faulty INSTANCE_NAME \
        --async \
        --disruption-schedule=IMMEDIATE \
        --fault-reasons=behavior=FAULT_REASON,description=DESCRIPTION \
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • INSTANCE_NAME: Es el nombre de la instancia de procesamiento.

    • FAULT_REASON: Es una lista de problemas del host que encontró tu instancia de procesamiento, separados por comas, por ejemplo, ISSUE_1,ISSUE_2. Puedes especificar los siguientes valores:

      • PERFORMANCE: Las GPUs conectadas a la instancia de procesamiento tienen problemas de rendimiento en comparación con otras GPUs del clúster, no se ven errores de XID en los registros y Compute Engine no detecta otros patrones de falla habituales, como la corrupción silenciosa de datos.

      • SILENT_DATA_CORRUPTION: Ves corrupción de datos en tu instancia de procesamiento, pero esta sigue ejecutándose. La corrupción silenciosa de datos puede deberse a problemas como defectos en las vCPU, errores de software o problemas del kernel.

      • UNRECOVERABLE_GPU_ERROR: Identificaste un error irrecuperable de la GPU con un XID.

      • BEHAVIOR_UNSPECIFIED: No sabes cuál es el problema de tu instancia de procesamiento.

    • DESCRIPTION: Es una descripción del problema que afecta a tu instancia de procesamiento, como información del XID o posibles problemas de rendimiento.

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

    REST

    Para informar un host defectuoso, realiza la siguiente solicitud POST al método instances.reportHostAsFaulty.

    Cuando informas sobre un host defectuoso, puedes especificar varios motivos del error a la vez. Por ejemplo, para especificar dos motivos de falla, realiza una solicitud de la siguiente manera:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/reportHostAsFaulty
    
    {
      "disruptionSchedule": "IMMEDIATE",
      "faultReasons": [
        {
          "behavior": "FAULT_REASON_1",
          "description": "DESCRIPTION_1"
        },
        {
          "behavior": "FAULT_REASON_2",
          "description": "DESCRIPTION_2"
        }
      ]
    }
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto en el que existe la instancia de procesamiento.

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

    • INSTANCE_NAME: Es el nombre de la instancia de procesamiento.

    • FAULT_REASON_1 y FAULT_REASON_2: Cada problema de host que encontró tu instancia de procesamiento. Puedes especificar los siguientes valores:

      • PERFORMANCE: Las GPUs conectadas a la instancia de procesamiento tienen problemas de rendimiento en comparación con otras GPUs del clúster, no se ven errores de XID en los registros y Compute Engine no detecta otros patrones de falla habituales, como la corrupción silenciosa de datos.

      • SILENT_DATA_CORRUPTION: Ves corrupción de datos en tu instancia de procesamiento, pero esta sigue ejecutándose. La corrupción silenciosa de datos puede deberse a problemas como defectos en las vCPU, errores de software o problemas del kernel.

      • UNRECOVERABLE_GPU_ERROR: Identificaste un error irrecuperable de la GPU con un XID.

      • BEHAVIOR_UNSPECIFIED: No sabes cuál es el problema de tu instancia de procesamiento.

    • DESCRIPTION_1 y DESCRIPTION_2: Una descripción de cada problema del host que especificaste, como información del XID o posibles problemas de rendimiento.

Revisa las operaciones para informar que el host está defectuoso

Después de que informas que un host está defectuoso, Compute Engine inicia una serie de operaciones para marcar el host como defectuoso y lo prepara para su reparación. Específicamente, durante una operación de informe de host defectuoso, se produce el siguiente proceso:

  1. Marca el host como defectuoso. Compute Engine crea la operación de host defectuoso del informe. Luego, la operación para informar que el host está defectuoso crea una secuencia de suboperaciones. Estas suboperaciones marcan el host subyacente como defectuoso.

  2. Prepara el host para las reparaciones. Una vez que se completan todas las suboperaciones, comienza la operación de informar host defectuoso. Compute Engine detiene la instancia de procesamiento y comienza la operación de reparación del host defectuoso. Según el modo operativo de la reserva especificado en la reserva que usa la instancia de procesamiento y si hay hosts en buen estado disponibles, Compute Engine mantiene detenida la instancia de procesamiento o intenta migrarla y reiniciarla automáticamente.

  3. Completa el informe y repara el host. Compute Engine completa la operación de informar que el host está defectuoso y se ejecuta la operación de reparación del host.

Para hacer un seguimiento del estado de las operaciones de informar host defectuoso (compute.instances.reportHostAsFaulty) en tu proyecto, selecciona una de las siguientes opciones. Para obtener más información sobre otras operaciones que puedes usar para hacer un seguimiento de las reparaciones, la migración y el reinicio automático, consulta Comportamientos de mantenimiento y reinicio y Supervisa y planifica un evento de mantenimiento del host en la documentación de Compute Engine.

Consola (operaciones de instancias)

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

    Ir a Operaciones

  2. En la tabla que aparece, ubica la instancia de procesamiento que denunciaste.

  3. En la fila que contiene la instancia de procesamiento, en la columna Estado, puedes ver el estado de la operación para informar un host defectuoso. Cuando se completa la operación, el valor es Listo.

  4. Opcional: Para verificar si Compute Engine reinició la instancia de procesamiento, consulta los detalles de la instancia.

Consola (registros de instancias de procesamiento)

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

    Ve al Explorador de registros

  2. Verifica que el botón de activación Mostrar consulta esté en la posición de activado.

  3. En el editor de consultas, ingresa la consulta siguiente:

    resource.type="gce_instance" AND protoPayload.methodName=~"compute\.instances\.reportHostAsFaulty"
    
  4. Haz clic en Ejecutar consulta. En el panel Resultados de la consulta, se muestran los resultados de la consulta.

gcloud

  1. Para ver el estado de las operaciones de informe de host defectuoso en tu proyecto, usa el comando gcloud compute operations list con la marca --filter establecida en operationType:reportHostAsFaulty:

    gcloud compute operations list --filter="operationType:reportHostAsFaulty"
    
  2. Si deseas ver los detalles de una operación de host específica con errores, usa el comando gcloud compute operations describe:

    gcloud compute operations describe OPERATION_NAME \
        --zone="ZONE"
    

    Reemplaza lo siguiente:

    • OPERATION_NAME: Es el nombre de la operación.

    • ZONE: Es la zona en la que existe la operación.

REST

Para ver el estado de las operaciones de host defectuoso del informe en tu proyecto, realiza una solicitud GET al método zoneOperations.list. En la URL de la solicitud, incluye el parámetro de consulta filter configurado como items.operationType:reportHostAsFaulty.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations&filter=items.operationType:reportHostAsFaulty

Reemplaza lo siguiente:

  • PROJECT_ID: Es el nombre de la operación.

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

Próximos pasos