Denunciar um host com falha

Se você notar problemas em uma VM H4D reservada que não podem ser resolvidos de outra forma, como erros persistentes com o dispositivo RDMA, recomendamos que você informe o host dela como com falha. Quando você informa que um host está com falha, o Compute Engine faz o mesmo e corrige 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 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

Ao denunciar um host com falha, as seguintes limitações se aplicam:

  • Só é possível denunciar um host com falha se a VM que é 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 suas 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

  • Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console Google Cloud para acessar os serviços e as APIs Google Cloud , não é necessário configurar a autenticação.

    gcloud

    No console do Google Cloud , ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do console Google Cloud , uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

    REST

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a CLI do Google Cloud.

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

    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 ver uma lista de operações no Compute Engine: compute.zoneOperations.list no projeto
  • Para ver 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 VM H4D, o tempo em que a VM H4D é reiniciada 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 limitação 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, ocorre 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. Começar a correção do 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 reparo do host é 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 será alterado para REPAIRING. A VM é reiniciada automaticamente quando o host está em boas condições, a menos que você a interrompa antes disso.
    • Se a reinicialização automática estiver desativada para a VM, o estado dela vai mudar para TERMINATED. É necessário 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 vai tentar reservar mais um host para substituir o host com falha informado na 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 métodos:
    • 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.

Reportar um host com falha

Para denunciar 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 informar um host com falha, selecione uma das opções a seguir. 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 denunciar 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 a VM encontrou, separados por vírgulas, por exemplo, ISSUE_1,ISSUE_2. É possível especificar os seguintes valores:

      • PERFORMANCE: você percebe uma degradação do 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 suspeitas de problemas de desempenho.

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

    REST

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

    Ao informar 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 do 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 de cada problema do 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 defeituoso. O Compute Engine cria a operação de host com falha do relatório. 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 consertos. 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 de reserva especificado na reserva que a VM usa, e se houver hosts íntegros disponíveis, o Compute Engine mantém a VM interrompida ou tenta migrar e reiniciar a VM automaticamente.

  3. Conclua o relatório e conserte o 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 projeto, selecione uma das opções a seguir. 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ê informou.

  3. Na linha que contém a VM, na coluna Status, confira o status da operação de denúncia de host com falha. Quando a operação for concluída, o valor será 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 relatório de host com falha no 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 conferir 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 existe.

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: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