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 un host diferente 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. Para los clústeres de Google Kubernetes Engine (GKE), consulta Informa hosts defectuosos a través de GKE.
Limitaciones
Cuando informas 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.
Google Cloud hace todo lo posible para completar todas tus solicitudes de informe de host defectuoso. Sin embargo, debido a restricciones de capacidad o límites de frecuencia, es posible que no siempre se complete 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.
En la parte inferior de la consola de Google Cloud , se inicia una sesión de Cloud Shell en la que se muestra una ventana de 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 un host defectuoso, pídele a tu administrador que te otorgue los siguientes roles de IAM:
- Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1) en la VM o el proyecto -
Para ver el estado de una operación de informe de host defectuoso con Cloud Logging:
Visualizador de registros (
roles/logging.viewer) en el proyecto
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.updateen la VM -
Para ver una lista de operaciones con Logging:
logging.operations.listen el proyecto -
Para ver los detalles de una operación con Logging, haz lo siguiente:
logging.operations.geten el proyecto -
Para ver una lista de operaciones en Compute Engine:
compute.zoneOperations.listen el proyecto -
Para ver los detalles de una operación en Compute Engine:
compute.zoneOperations.describeen 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 estén limitadas. |
| 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:
|
Cómo informar un host defectuoso
Para informar un host defectuoso, sigue estos pasos:
Revisa el host en el que se ejecuta tu VM.
Para obtener instrucciones, consulta Visualiza la topología del clúster de H4D.
Opcional: Crea una copia de seguridad de los datos de la 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 SSD locales, consulta Copia de seguridad de datos de SSD locales.
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 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=ZONEReemplaza 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 CPU o de la operación de red 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: Observas corrupción de datos en tu VM, pero esta 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 de XID o sospechas de problemas de rendimiento.ZONE: Es la zona en la que existe la VM.
REST
Para informar un host defectuoso, realiza la siguiente solicitud
POSTal métodoinstances.reportHostAsFaulty.Cuando informas un host defectuoso, puedes especificar varios motivos de falla 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_1yFAULT_REASON_2: cada problema de host que encontró tu VM. Puedes especificar los siguientes valores:PERFORMANCE: Observas una degradación del rendimiento de la operación de red de CPU o RDMA, fallas del dispositivo RDMA o que el dispositivo RDMA no está presente.SILENT_DATA_CORRUPTION: Observas corrupción de datos en tu VM, pero esta sigue ejecutándose. La corrupción silenciosa de datos puede deberse a problemas como defectos de las CPUs virtuales, errores de software o problemas del kernel.BEHAVIOR_UNSPECIFIED: No sabes cuál es el problema de tu VM.
DESCRIPTION_1yDESCRIPTION_2: Una descripción de cada problema del host que especificaste, como información del XID o posibles problemas de rendimiento.
Informe de opiniones sobre operaciones de host defectuosas
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 para informar que el host está defectuoso, se produce el siguiente proceso:
Marca el host como defectuoso. Compute Engine crea la operación de informar un host defectuoso. Luego, la operación para informar que el host está defectuoso crea una secuencia de suboperaciones. Estas suboperaciones marcan el host subyacente como defectuoso.
Prepara el host para las reparaciones. Una vez que se completan todas las suboperaciones, se inicia 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.
Informa la finalización y repara el host. Compute Engine completa la operación para 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)
En la consola de Google Cloud , ve a la página Operaciones.
En la tabla que aparece, busca la VM que denunciaste.
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.
Opcional: Para verificar si Compute Engine reinició la VM, consulta los detalles de la VM.
Consola (registros de VM)
En la consola de Google Cloud , accede a la página Explorador de registros.
Verifica que el botón de activación Mostrar consulta esté en la posición de activado.
En el editor de consultas, ingresa la consulta siguiente:
resource.type="gce_instance" AND protoPayload.methodName=~"compute\.instances\.reportHostAsFaulty"Haz clic en Ejecutar consulta. En el panel Resultados de la consulta, se muestran los resultados de la consulta.
gcloud
Para ver el estado de las operaciones de informe de host defectuoso en tu proyecto, usa el comando
gcloud compute operations listcon la marca--filterestablecida enoperationType:compute.instances.reportHostAsFaulty:gcloud compute operations list --filter="operationType:compute.instances.reportHostAsFaulty"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
- Si tienes problemas para informar un host defectuoso, consulta Soluciona problemas de la API de host defectuoso.