Cómo informar un host defectuoso

Si observas problemas en una VM H4D reservada que no puedes resolver de otra manera (por ejemplo, errores persistentes con el dispositivo RDMA), te recomendamos que informes que su host está defectuoso. Cuando informas que un host está defectuoso, Compute Engine lo marca como tal y, luego, repara la VM de forma automática ejecutando el mantenimiento del host. En el caso de las VMs H4D, Compute Engine intenta migrar la VM a otro host cuando comienza el mantenimiento, lo que puede ayudar a minimizar el tiempo de inactividad de tu carga de trabajo.

En este documento, se explica cómo informar y reparar hosts defectuosos para instancias de máquinas virtuales (VM) que forman parte de clústeres basados en VMs. En el caso de los clústeres de Google Kubernetes Engine (GKE), consulta Cómo informar 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 VM que se ejecuta en el host cumple con todas las siguientes condiciones:

    • La VM se está ejecutando.

    • La VM usa un tipo de máquina H4D.

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

  • Cloud de Confiance by S3NS 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 Cloud de Confiance para acceder a los servicios y las APIs de Cloud de Confiance by S3NS , no necesitas configurar la autenticación.

    gcloud

    Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:

    gcloud init

    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 y, luego, accede 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 Cloud de Confiance .

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 VM
  • 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 de una VM de H4D está defectuoso, el momento en que se reinicia la VM de H4D varía según el modo operativo de la reserva que usaste para crear la VM. Para verificar el modo operativo de una reserva, consulta el campo reservationOperationalMode en la reserva.

Modo administrado (HIGHLY_AVAILABLE_CAPACITY)
Tipos de máquina admitidos H4D
Límite de frecuencia de la API de informes de host defectuoso 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 VM de H4D que se ejecuta en modo administrado, sucede lo siguiente:

  1. Informa que el host está defectuoso: La VM permanece en el estado RUNNING durante toda la operación de informe, 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 VM se detiene y su estado cambia según el parámetro de configuración de reinicio automático (automaticRestart) especificado para la VM:

    • Si el reinicio automático está habilitado para la VM, el estado de la VM cambia a REPAIRING. La VM 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 VM, el estado de la VM cambia a TERMINATED. Debes reiniciar la VM 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 VM: 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), migra la VM a ese host. Luego, el reinicio de la VM se realiza de una de las siguientes maneras:
    • Si la VM 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 VM en un host en buen estado.
    • De lo contrario, si la VM 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 VM permanece en TERMINATED o cambia a ese estado. Debes reiniciar la VM de forma manual cuando quieras que se ejecute. Sin embargo, es posible que no se pueda reiniciar la VM si no hay recursos disponibles cuando la reinicies. Por ejemplo, esto puede ocurrir si otras VMs ya están usando el host reparado.

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 VM.

    Para obtener instrucciones, consulta Cómo ver la topología del clúster de H4D.

  2. Opcional: Crea una copia de seguridad de los datos del SSD local. Cuando se detiene la VM, Compute Engine descarta automáticamente los datos de los discos SSD locales conectados a la VM. 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 VM deja de responder después de que inicias la operación de informe de host defectuoso, te recomendamos que la reinicies 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 VM_NAME \
        --async \
        --disruption-schedule=IMMEDIATE \
        --fault-reasons=behavior=FAULT_REASON,description=DESCRIPTION \
        --zone=ZONE
    

    Reemplaza lo siguiente:

    • VM_NAME: el nombre de la VM.

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

      • PERFORMANCE: Observas una degradación del rendimiento de la operación de red de la CPU o de Cloud RDMA, fallas en la interfaz de red de IRDMA o que el dispositivo de red de IRDMA no está presente.

      • SILENT_DATA_CORRUPTION: Ves corrupción de datos en tu VM, pero la VM sigue ejecutándose. La corrupción silenciosa de datos puede deberse a problemas como defectos de CPU virtual, errores de software o problemas del kernel.

      • BEHAVIOR_UNSPECIFIED: No sabes qué problema afecta a tu VM o el problema no está cubierto por las otras opciones.

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

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

    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/VM_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 VM.

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

    • VM_NAME: el nombre de la VM.

    • FAULT_REASON_1 y FAULT_REASON_2: Cada problema del host que encontró tu VM. Puedes especificar los siguientes valores:

      • PERFORMANCE: Observas una degradación del rendimiento de la CPU o de la operación de red RDMA, fallas del dispositivo RDMA o que el dispositivo RDMA no está presente.

      • SILENT_DATA_CORRUPTION: Ves corrupción de datos en tu VM, pero la VM 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.

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

    • 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 VM y comienza la operación de reparación del host defectuoso. Según el modo operativo de la reserva que se especifica en la reserva que usa la VM y si hay hosts en buen estado disponibles, Compute Engine mantiene la VM detenida 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 VM)

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

    Ir a Operaciones

  2. En la tabla que aparece, busca la VM que denunciaste.

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

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

Consola (registros de VM)

  1. En la consola de Cloud de Confiance , 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:compute.instances.reportHostAsFaulty:

    gcloud compute operations list --filter="operationType:compute.instances.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:compute.instances.reportHostAsFaulty.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations&filter=items.operationType:compute.instances.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