Denunciar um host com falha

Se você notar um problema em uma instância A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPUs) que não consegue resolver por conta própria, informe o host como com falha. Um exemplo de problema desse tipo pode ser um desempenho mais lento em um cluster ou temperaturas altas de GPU de forma consistente.

Quando você informa que um host está com falha, o Compute Engine corrige automaticamente a instância de computação executando a manutenção do host.

  • Para instâncias A4 e A3 Ultra, o Compute Engine tenta migrar a instância para um host diferente quando a manutenção começa, se você tiver capacidade reservada não utilizada ou se houver capacidade disponível na zona da instância. Ao informar que um host está com falha, você minimiza o tempo de inatividade da sua carga de trabalho.
  • Para instâncias A3 Mega e A3 High, o Compute Engine interrompe a instância, realiza os reparos necessários no host e reinicia a instância no mesmo host.

Neste documento, explicamos como informar e corrigir instâncias de host com falha que fazem parte de um cluster do Slurm ou de outros clusters baseados em instâncias de computação. Para informar hosts com falha em um cluster do Google Kubernetes Engine (GKE), consulte Informar hosts com falha pelo GKE.

Limitações

Quando você denuncia um host com falha, as seguintes limitações se aplicam:

  • Só é possível denunciar um host com falha se a instância de computação que é executada nele atender a todas as condições a seguir:

    • A instância de computação está em execução.

    • A instância de computação usa um tipo de máquina A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPUs).

    • A instância de computação usa o modelo de provisionamento vinculado à reserva.

  • Se você excluir uma instância de computação enquanto a operação reportHostAsFaulty estiver em andamento, ela vai falhar.reportHostAsFaulty

  • OGoogle Cloud faz o possível para atender a todas as solicitações de host com falha. No entanto, devido a restrições de capacidade ou limites de taxa, uma solicitação nem sempre pode ser atendida.

Antes de começar

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 as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

    Install the Google Cloud CLI. After installation, initialize the Google Cloud CLI by running the following command:

    gcloud init

    If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

Funções exigidas

Para receber as permissões necessárias para denunciar um host com falha, peça ao administrador para conceder a você os seguintes papéis do IAM:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para informar um host com falha. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para informar um host com falha:

  • Para criar um relatório de host com falha: compute.instances.update na instância de computação
  • Para conferir uma lista de operações usando o Logging: logging.operations.list no projeto
  • Para conferir os detalhes de uma operação usando o Logging: logging.operations.get no projeto
  • Para conferir uma lista de operações no Compute Engine: compute.zoneOperations.list no projeto
  • Para conferir os detalhes de uma operação no Compute Engine: compute.zoneOperations.describe no projeto

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Entender o processo de denúncia de hosts com falha

Depois que você informa um host com falha para uma instância de computação, o tempo de reinicialização da instância varia de acordo com o modo operacional da reserva especificado na reserva usada pela instância de computação. Para verificar o modo operacional de uma reserva, consulte o campo reservationOperationalMode na reserva. A tabela a seguir resume o processo de host com falha para os dois modos operacionais de reserva disponíveis: modo de capacidade total e modo gerenciado.
Modo de capacidade total (ALL_CAPACITY) Modo gerenciado (HIGHLY_AVAILABLE_CAPACITY)
Tipos de máquina compatíveis A4X Max e A4X A4, A3 Ultra, A3 Mega e A3 High
Limitação de taxa da API de relatório de host com falha Nenhum limite de taxa se aplica. As chamadas para a API podem ter limite de taxa.
Processo de denúncia de host com falha

Quando você informa um host com falha para uma instância de computação que é executada no modo de capacidade total, o seguinte acontece:

  1. Reportar o host com falha: a instância permanece no estado RUNNING durante toda a operação de relatório de host com falha, que geralmente leva de 10 a 12 minutos para ser concluída. Para analisar o estado da operação, consulte Analisar o relatório de operações de host com falha neste documento.
  2. Corrigir o host: depois que a operação de relatório de host com falha for concluída, a operação de correção do host será iniciada em um minuto.

    Quando a operação de host de reparo é iniciada, a instância é interrompida e o estado dela muda dependendo da configuração de reinicialização automática (automaticRestart) especificada para a instância:

    • Se o reinício automático estiver ativado para a instância, o estado dela vai mudar para REPAIRING. A instância é reiniciada automaticamente quando o host está em bom estado, a menos que você a pare antes disso.
    • Se o reinício automático estiver desativado para a instância, o estado dela vai mudar para TERMINATED. É necessário reiniciar manualmente a instância depois que o host estiver íntegro.

    O reparo do host com falha pode levar de 3 a 14 dias ou até mais.

  3. Reinicie a instância: depois que a operação de reparo do host for concluída (geralmente de 3 a 14 dias), uma das seguintes situações vai ocorrer:

    • Se a instância estiver no estado REPAIRING e os recursos estiverem disponíveis quando o reparo for concluído, o Compute Engine vai reiniciar automaticamente a instância no host reparado.
    • Caso contrário, se a instância estiver no estado TERMINATED ou se os recursos não estiverem disponíveis quando o reparo for concluído, o estado da instância permanecerá ou mudará para TERMINATED. É preciso reiniciar a instância manualmente quando quiser que ela seja executada. No entanto, a reinicialização da instância pode falhar se os recursos não estiverem disponíveis quando você reiniciar a instância. Por exemplo, isso pode acontecer se outras instâncias já estiverem usando o host reparado.

Quando você informa um host com falha para uma instância de computação executada no modo gerenciado, o seguinte acontece:

  1. Reportar o host com falha: a instância permanece no estado RUNNING durante toda a operação de relatório de host com falha, que geralmente leva de 10 a 12 minutos para ser concluída. Para analisar o estado da operação, consulte Analisar operações de host com falha do relatório neste documento.
  2. Começar a reparar o host: depois que a operação de relatório de host com falha for concluída, a operação de reparo do host será iniciada em um minuto.

    Quando a operação de host de reparo é iniciada, a instância é interrompida e o estado dela muda dependendo da configuração de reinicialização automática (automaticRestart) especificada para a instância:

    • Se o reinício automático estiver ativado para a instância, o estado dela vai mudar para REPAIRING. A instância é reiniciada automaticamente quando o host está em bom estado, a menos que você a pare antes disso.
    • Se o reinício automático estiver desativado para a instância, o estado dela vai mudar para TERMINATED. É necessário reiniciar manualmente a instância depois que o host estiver íntegro.

    O reparo do host com falha pode levar de 3 a 14 dias ou até mais.

  3. Migrar e reiniciar a instância: depois que a operação de reparo do host começar (geralmente de 10 a 12 minutos), o Compute Engine tentará reservar mais um host para substituir o host com falha informado na sua capacidade reservada. Se o Compute Engine encontrar um host íntegro (se ele substituir o host com falha ou encontrar um host íntegro correspondente na capacidade reservada), o Compute Engine migrará a instância para esse host. Em seguida, a reinicialização da instância acontece por uma das seguintes maneiras:

    • Se a instância estiver no estado REPAIRING e os recursos estiverem disponíveis antes ou quando o reparo for concluído, o Compute Engine vai reiniciar automaticamente a instância em um host íntegro.
    • Caso contrário, se a instância estiver no estado TERMINATED ou se os recursos não estiverem disponíveis antes ou quando o reparo for concluído, o estado da instância permanecerá ou mudará para TERMINATED. É preciso reiniciar a instância manualmente quando quiser que ela seja executada. No entanto, a reinicialização da instância pode falhar se os recursos não estiverem disponíveis quando você reiniciar a instância. Por exemplo, isso pode acontecer se outras instâncias já estiverem usando o host reparado.

Denunciar um host com falha

Para informar um host com falha, siga estas etapas:

  1. Analise o host em que a instância de computação é executada.

    Para instruções, consulte Ver a topologia de uma instância de computação.

  2. Opcional: faça backup dos dados do SSD local. Quando a instância é interrompida, o Compute Engine descarta automaticamente os dados de todos os discos SSD locais anexados a ela. Não é possível recuperar dados do SSD local depois que o Compute Engine os descarta.

    Para instruções sobre como preservar os dados do SSD local, consulte Backup de dados do SSD local.

  3. Denuncie o host com falha. Para denunciar um host com falha, selecione uma das seguintes opções. A operação de correção do host começa imediatamente, em até um minuto após a conclusão da operação de denúncia de host com falha. Se a instância parar de responder depois que você iniciar a operação de relatório de host com falha, aguarde pelo menos 15 minutos e reinicie a instância de computação.

    gcloud

    Para informar um host com falha, use o seguinte 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
    

    Substitua:

    • INSTANCE_NAME: o nome da instância de computação.

    • FAULT_REASON: uma lista de problemas de host que sua instância de computação encontrou, separada por vírgulas. Por exemplo, ISSUE_1,ISSUE_2. É possível especificar os seguintes valores:

      • PERFORMANCE: as GPUs anexadas à instância de computação têm problemas de desempenho em comparação com outras GPUs no cluster, não há erros de XID nos registros, e o Compute Engine não detecta outros padrões de falha comuns, como corrupção silenciosa de dados.

      • SILENT_DATA_CORRUPTION: você vê corrupção de dados na sua instância de computação, mas ela continua em execução. A corrupção silenciosa de dados pode ser causada por problemas como defeitos de vCPUs, bugs de software ou problemas de kernel.

      • UNRECOVERABLE_GPU_ERROR: você identificou um erro irrecuperável de GPU com um XID.

      • BEHAVIOR_UNSPECIFIED: você não tem certeza sobre qual é o problema da sua instância de computação.

    • DESCRIPTION: uma descrição do problema que está afetando sua instância de computação, como informações de XID ou problemas de desempenho suspeitos.

    • ZONE: a zona em que a instância de computação está.

    REST

    Para denunciar um host com falha, faça a seguinte solicitação POST para o método instances.reportHostAsFaulty.

    Ao denunciar um host com falha, é possível especificar vários motivos de falha de uma só vez. Por exemplo, para especificar dois motivos de falha, faça uma solicitação da seguinte maneira:

    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"
        }
      ]
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto em que a instância de computação está.

    • ZONE: a zona em que a instância de computação está.

    • INSTANCE_NAME: o nome da instância de computação.

    • FAULT_REASON_1 e FAULT_REASON_2: cada problema de host encontrado pela sua instância de computação. É possível especificar os seguintes valores:

      • PERFORMANCE: as GPUs anexadas à instância de computação têm problemas de desempenho em comparação com outras GPUs no cluster, não há erros de XID nos registros, e o Compute Engine não detecta outros padrões de falha comuns, como corrupção silenciosa de dados.

      • SILENT_DATA_CORRUPTION: você vê corrupção de dados na sua instância de computação, mas ela continua em execução. A corrupção silenciosa de dados pode ser causada por problemas como defeitos de vCPUs, bugs de software ou problemas de kernel.

      • UNRECOVERABLE_GPU_ERROR: você identificou um erro irrecuperável de GPU com um XID.

      • BEHAVIOR_UNSPECIFIED: você não tem certeza sobre qual é o problema da sua instância de computação.

    • DESCRIPTION_1 e DESCRIPTION_2: uma descrição para cada problema de host especificado, como informações de XID ou suspeitas de problemas de desempenho.

Analisar operações de host com falha

Depois que você informa um host com falha, o Compute Engine inicia uma série de operações para marcar o host como com falha e o prepara para o reparo. Especificamente, durante uma operação de relatório de host com falha, o seguinte processo acontece:

  1. Marque o host como com falha. O Compute Engine cria o relatório de operação de host com falha. A operação "report faulty host" cria uma sequência de suboperações. Essas suboperações marcam o host subjacente como com falha.

  2. Prepare o host para os consertos. Depois que todas as suboperações forem concluídas, a operação "report faulty host" será iniciada. O Compute Engine interrompe a instância de computação e inicia a operação de correção do host com falha. Com base no modo operacional da reserva especificado na reserva usada pela instância de computação e se houver hosts íntegros disponíveis, o Compute Engine manterá a instância de computação interrompida ou tentará migrar e reiniciar automaticamente a instância de computação.

  3. Conclua o relatório e faça o reparo do host. O Compute Engine conclui a operação de relatório de host com falha, e a operação de reparo do host é executada.

Para acompanhar o status das operações de relatório de host com falha (compute.instances.reportHostAsFaulty) no seu projeto, selecione uma das seguintes opções. Para mais informações sobre outras operações que você pode usar para rastrear reparos, migração e reinicialização automática, consulte Comportamentos de manutenção e reinicialização e Monitorar e planejar um evento de manutenção do host na documentação do Compute Engine.

Console (operações de instância)

  1. No console do Google Cloud , acesse a página Operações.

    Acessar "Operações"

  2. Na tabela exibida, localize a instância de computação que você denunciou.

  3. Na linha que contém a instância de computação, na coluna Status, é possível conferir o status da operação de denúncia de host com falha. Quando a operação é concluída, o valor é Concluído.

  4. Opcional: para verificar se o Compute Engine reiniciou a instância de computação, confira os detalhes da instância.

Console (registros de instâncias de computação)

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar a Análise de registros

  2. Verifique se o botão ativar/desativar Mostrar consulta está ativado.

  3. No Editor de consultas, insira a seguinte consulta:

    resource.type="gce_instance" AND protoPayload.methodName=~"compute\.instances\.reportHostAsFaulty"
    
  4. Clique em Executar consulta. O painel Resultados da consulta mostra os resultados.

gcloud

  1. Para conferir o status das operações de denúncia de host com falha no seu projeto, use o comando gcloud compute operations list com a flag --filter definida como operationType:reportHostAsFaulty:

    gcloud compute operations list --filter="operationType:reportHostAsFaulty"
    
  2. Se você quiser ver os detalhes de uma operação de host com falha específica, use o comando gcloud compute operations describe:

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

    Substitua:

    • OPERATION_NAME: o nome da operação.

    • ZONE: a zona em que a operação está.

REST

Para conferir o status das operações de relatório de host com falha no seu projeto, faça uma solicitação GET para o método zoneOperations.list. No URL da solicitação, inclua o parâmetro de consulta filter definido como items.operationType:reportHostAsFaulty.

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

Substitua:

  • PROJECT_ID: o nome da operação.

  • ZONE: a zona em que as operações estão.

A seguir