Skip to main content
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Identificar e tentar novamente operações de replicação com falha

Colaboradores

Depois de resolver o alerta Falha permanente de replicação entre redes, você deve determinar se algum objeto ou marcador de exclusão não foi replicado para a outra grade. Em seguida, você pode reingerir esses objetos ou usar a API de Gerenciamento de Grade para repetir a replicação.

O alerta Falha permanente de replicação entre redes indica que os objetos do locatário não podem ser replicados entre os buckets em duas grades por um motivo que requer a intervenção do usuário para serem resolvidos. Este alerta é normalmente causado por uma alteração na origem ou no intervalo de destino. Para obter detalhes, "Solucionar erros de federação de grade"consulte .

Determine se algum objeto não pôde ser replicado

Para determinar se algum objeto ou marcador de exclusão não foram replicados para a outra grade, você pode pesquisar mensagens no log de auditoria"CGRR (solicitação de replicação entre grades)". Essa mensagem é adicionada ao log quando o StorageGRID não consegue replicar um objeto, objeto multiparte ou excluir um marcador para o bucket de destino.

Você pode usar o "ferramenta de auditoria-explicação" para traduzir os resultados em um formato mais fácil de ler.

Antes de começar
  • Você tem permissão de acesso root.

  • Você tem o Passwords.txt arquivo.

  • Você conhece o endereço IP do nó de administração principal.

Passos
  1. Faça login no nó de administração principal:

    1. Introduza o seguinte comando: ssh admin@primary_Admin_Node_IP

    2. Introduza a palavra-passe listada no Passwords.txt ficheiro.

    3. Digite o seguinte comando para mudar para root: su -

    4. Introduza a palavra-passe listada no Passwords.txt ficheiro.

      Quando você estiver conetado como root, o prompt mudará de $ para #.

  2. Procure mensagens CGRR no audit.log e use a ferramenta audit-explain para formatar os resultados.

    Por exemplo, este comando greps para todas as mensagens CGRR nos últimos 30 minutos e usa a ferramenta audit-explain.

    # awk -vdate=$(date -d "30 minutes ago" '+%Y-%m-%dT%H:%M:%S') '$1$2 >= date { print }' audit.log | grep CGRR | audit-explain

    Os resultados do comando serão parecidos com este exemplo, que tem entradas para seis mensagens CGRR. No exemplo, todas as solicitações de replicação entre grades retornavam um erro geral porque o objeto não podia ser replicado. Os três primeiros erros são para operações de "replicar objeto", e os três últimos erros são para operações de "replicar marcador de exclusão".

    CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate object" bucket:bucket123 object:"audit-0" version:QjRBNDIzODAtNjQ3My0xMUVELTg2QjEtODJBMjAwQkI3NEM4 error:general error
    CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate object" bucket:bucket123 object:"audit-3" version:QjRDOTRCOUMtNjQ3My0xMUVELTkzM0YtOTg1MTAwQkI3NEM4 error:general error
    CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate delete marker" bucket:bucket123 object:"audit-1" version:NUQ0OEYxMDAtNjQ3NC0xMUVELTg2NjMtOTY5NzAwQkI3NEM4 error:general error
    CGRR Cross-Grid Replication Request tenant:50736445269627437748 connection:447896B6-6F9C-4FB2-95EA-AEBF93A774E9 operation:"replicate delete marker" bucket:bucket123 object:"audit-5" version:NUQ1ODUwQkUtNjQ3NC0xMUVELTg1NTItRDkwNzAwQkI3NEM4 error:general error

    Cada entrada contém as seguintes informações:

    Campo Descrição

    Solicitação de replicação entre Grade CGRR

    O nome da solicitação

    locatário

    ID da conta do locatário

    ligação

    O ID da conexão de federação de grade

    operação

    O tipo de operação de replicação que estava sendo tentada:

    • replicar objeto

    • replicar marcador de eliminação

    • replique objeto multipart

    balde

    O nome do intervalo

    objeto

    O nome do objeto

    versão

    O ID da versão para o objeto

    erro

    O tipo de erro. Se a replicação entre redes falhou, o erro é "erro geral".

Repetir repetições falhadas

Depois de gerar uma lista de objetos e excluir marcadores que não foram replicados para o bucket de destino e resolver os problemas subjacentes, você pode repetir a replicação de duas maneiras:

  • Reingira cada objeto no intervalo de origem.

  • Use a API privada de Gerenciamento de Grade, conforme descrito.

Passos
  1. Na parte superior do Gerenciador de Grade, selecione o ícone de ajuda e selecione Documentação da API.

  2. Selecione vá para a documentação da API privada.

    Observação Os endpoints da API StorageGRID marcados como "Privado" estão sujeitos a alterações sem aviso prévio. Os endpoints privados do StorageGRID também ignoram a versão da API da solicitação.
  3. Na seção cross-grid-replication-Advanced, selecione o seguinte endpoint:

    POST /private/cross-grid-replication-retry-failed

  4. Selecione Experimente.

  5. Na caixa de texto body, substitua a entrada de exemplo para versionID por uma ID de versão do audit.log que corresponde a uma solicitação de replicação entre grade e falha.

    Certifique-se de manter as aspas duplas ao redor da string.

  6. Selecione Executar.

  7. Confirme se o código de resposta do servidor é 204, indicando que o objeto ou marcador de exclusão foi marcado como pendente para replicação entre grade para a outra grade.

    Observação Pendente significa que a solicitação de replicação entre grade foi adicionada à fila interna para processamento.

Monitorar tentativas de replicação

Você deve monitorar as operações de repetição de replicação para garantir que elas sejam concluídas.

Dica Pode levar várias horas ou mais para que um objeto ou marcador de exclusão seja replicado para a outra grade.

Você pode monitorar as operações de repetição de duas maneiras:

  • Use um S3 "HeadObject" ou "GetObject" pedido. A resposta inclui o cabeçalho de resposta específico do StorageGRID x-ntap-sg-cgr-replication-status, que terá um dos seguintes valores:

    Grelha Estado da replicação

    Fonte

    • COMPLETED: A replicação foi bem-sucedida.

    • PENDENTE: O objeto ainda não foi replicado.

    • FAILURE: A replicação falhou com uma falha permanente. Um usuário deve resolver o erro.

    Destino

    • RÉPLICA*: O objeto foi replicado a partir da grade de origem.

  • Use a API privada de Gerenciamento de Grade, conforme descrito.

Passos
  1. Na seção cross-grid-replication-Advanced da documentação da API privada, selecione o seguinte endpoint:

    GET /private/cross-grid-replication-object-status/{id}

  2. Selecione Experimente.

  3. Na seção parâmetro, insira o ID da versão que você usou na cross-grid-replication-retry-failed solicitação.

  4. Selecione Executar.

  5. Confirme se o código de resposta do servidor é 200.

  6. Revise o status da replicação, que será um dos seguintes:

    • PENDENTE: O objeto ainda não foi replicado.

    • COMPLETED: A replicação foi bem-sucedida.

    • FAILED: A replicação falhou com uma falha permanente. Um usuário deve resolver o erro.