Denunciar um host com falha

Se você notar problemas em uma VM H4D reservada que não pode ser resolvida de outra forma, como erros persistentes com o dispositivo RDMA, recomendamos que você informe o host como com falha. Quando você informa que um host está com falha, o Compute Engine o marca como com falha e repara automaticamente a VM executando a manutenção do host. Para VMs H4D, o Compute Engine tenta migrar a VM para um host diferente quando a manutenção começa, o que pode ajudar a minimizar o tempo de inatividade da sua carga de trabalho.

Neste documento, explicamos como informar e corrigir hosts com falha para instâncias de máquina virtual (VM) que fazem parte de clusters baseados em VM. Para clusters 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 VM executada nele atender a todas as condições a seguir:

    • A VM está em execução.

    • A VM usa um tipo de máquina H4D.

    • A VM usa o modelo de provisionamento vinculado à reserva.

  • OGoogle Cloud faz o possível para atender a todas as solicitações de relatório 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 VM
  • 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 de informar um host com falha para uma VM H4D, o tempo de reinicialização da VM varia de acordo com o modo operacional da reserva usada para criar a VM. Para verificar o modo operacional de uma reserva, consulte o campo reservationOperationalMode na reserva.

Modo gerenciado (HIGHLY_AVAILABLE_CAPACITY)
Tipos de máquina compatíveis H4D
Limitação de taxa da API de relatório de host com falha 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 VM H4D que é executada no modo gerenciado, acontece o seguinte:

  1. Denuncie o host com falha: a VM permanece no estado RUNNING durante toda a operação de denúncia, 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. Comece 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 VM é interrompida e o estado dela muda dependendo da configuração de reinicialização automática (automaticRestart) especificada para a VM:

    • Se a reinicialização automática estiver ativada para a VM, o estado dela vai mudar para REPAIRING. A VM é reiniciada automaticamente quando o host está em bom estado, a menos que você a pare antes disso.
    • Se a reinicialização automática estiver desativada para a VM, o estado dela vai mudar para TERMINATED. Você precisa reiniciar manualmente a VM 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 VM: 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 sua capacidade reservada), o Compute Engine vai migrar a VM para esse host. Em seguida, a reinicialização da VM acontece por um dos seguintes:
    • Se a VM 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 VM em um host íntegro.
    • Caso contrário, se a VM estiver no estado TERMINATED ou se os recursos não estiverem disponíveis antes ou quando o reparo for concluído, o estado da VM permanecerá ou mudará para TERMINATED. Você precisa reiniciar manualmente a VM quando quiser que ela seja executada. No entanto, a reinicialização da VM pode falhar se os recursos não estiverem disponíveis quando você reiniciar a VM. Por exemplo, isso pode acontecer se outras VMs já estiverem usando o host reparado.

Denunciar um host com falha

Para informar um host com falha, siga estas etapas:

  1. Revise o host em que a VM é executada.

    Para instruções, consulte Ver a topologia do cluster H4D.

  2. Opcional: faça backup dos dados do SSD local. Quando a VM é 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 VM não responder depois que você iniciar a operação de relatório de host com falha, aguarde pelo menos 15 minutos e reinicie a VM.

    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 VM_NAME \
        --async \
        --disruption-schedule=IMMEDIATE \
        --fault-reasons=behavior=FAULT_REASON,description=DESCRIPTION \
        --zone=ZONE
    

    Substitua:

    • VM_NAME: o nome da VM.

    • FAULT_REASON: uma lista de problemas de host que sua VM encontrou, separada por vírgulas. Por exemplo, ISSUE_1,ISSUE_2. É possível especificar os seguintes valores:

      • PERFORMANCE: você percebe uma degradação no desempenho da CPU ou da operação de rede do Cloud RDMA, falhas na interface de rede IRDMA ou que o dispositivo de rede IRDMA não está presente.

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

      • BEHAVIOR_UNSPECIFIED: você não tem certeza de qual problema está afetando sua VM ou o problema não está coberto pelas outras opções.

    • DESCRIPTION: uma descrição do problema que está afetando sua VM, como informações de XID ou suspeita de problemas de performance.

    • ZONE: a zona em que a VM 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/VM_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 VM está.

    • ZONE: a zona em que a VM está.

    • VM_NAME: o nome da VM.

    • FAULT_REASON_1 e FAULT_REASON_2: cada problema do host encontrado pela VM. É possível especificar os seguintes valores:

      • PERFORMANCE: você percebe uma degradação no desempenho da CPU ou da operação de rede RDMA, falhas no dispositivo RDMA ou que o dispositivo RDMA não está presente.

      • SILENT_DATA_CORRUPTION: você vê corrupção de dados na VM, 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.

      • BEHAVIOR_UNSPECIFIED: você não tem certeza de qual é o problema da sua VM.

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

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 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 reparos. Depois que todas as suboperações forem concluídas, a operação "report faulty host" será iniciada. O Compute Engine interrompe a VM e inicia a operação de reparo do host com falha. Com base no modo operacional da reserva especificado na reserva usada pela VM e se hosts íntegros estiverem disponíveis, o Compute Engine mantém a VM interrompida ou tenta migrar e reiniciar automaticamente a VM.

  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 acompanhar 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 VM)

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

    Acessar "Operações"

  2. Na tabela que aparece, localize a VM que você denunciou.

  3. Na linha que contém a VM, 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ída.

  4. Opcional: para verificar se o Compute Engine reiniciou a VM, confira os detalhes dela.

Console (registros de VM)

  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 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:compute.instances.reportHostAsFaulty:

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

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

Substitua:

  • PROJECT_ID: o nome da operação.

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

A seguir