Skip to main content
Uma versão mais recente deste produto está disponível.
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.

Identifique e repita operações de replicação do StorageGRID que falharam

Após resolver o alerta Falha permanente na replicação entre grades, 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 Grid Management API para tentar a replicação novamente.

O alerta Falha permanente na replicação entre grades indica que os objetos do locatário não podem ser replicados entre os buckets em duas grades por um motivo que requer intervenção do usuário para ser resolvido. Esse alerta geralmente é causado por uma alteração no bucket de origem ou de destino. Para obter detalhes, consulte "Solucionar problemas de erros de federação de grid".

Determine se algum objeto falhou ao ser replicado

Para determinar se algum objeto ou marcador de exclusão não foi replicado para o outro grid, você pode pesquisar o log de auditoria por mensagens "CGRR (Solicitação de Replicação entre Grids)". Essa mensagem é adicionada ao log quando StorageGRID não consegue replicar um objeto, objeto multipart ou marcador de exclusão para o bucket de destino.

Você pode usar o "ferramenta audit-explain" para traduzir os resultados para um formato mais fácil de ler.

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

  • Você tem o arquivo Passwords.txt.

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

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

    1. Digite o seguinte comando: ssh admin@primary_Admin_Node_IP

    2. Digite a senha listada no arquivo Passwords.txt.

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

    4. Digite a senha listada no arquivo Passwords.txt.

      Quando você está logado como root, o prompt muda de $ para #.

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

    Por exemplo, este comando busca todas as mensagens CGRR dos últimos 30 minutos e utiliza 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 semelhantes a este exemplo, que contém entradas para seis mensagens CGRR. No exemplo, todas as solicitações de replicação entre grades retornaram um erro geral porque o objeto não pôde ser replicado. Os três primeiros erros são de operações de "replicate object" e os três últimos erros são de operações de "replicate delete marker".

    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 grades CGRR

    O nome da solicitação

    inquilino

    O ID da conta do tenant

    conexão

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

    operação

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

    • replicar objeto

    • replicar marcador de exclusão

    • replicar objeto multipart

    bucket

    O nome do bucket

    objeto

    O nome do objeto

    versão

    O ID da versão do objeto

    erro

    O tipo de erro. Se a replicação entre grades falhar, o erro será "Erro geral".

Tentar novamente as replicações com falha

Após gerar uma lista de objetos e marcadores de exclusão que não foram replicados para o bucket de destino e resolver os problemas subjacentes, você pode tentar a replicação novamente de duas maneiras:

  • Reingira cada objeto no bucket de origem.

  • Utilize a API privada de Gerenciamento de Grid, conforme descrito.

Passos
  1. Na parte superior do Grid Manager, selecione o ícone de ajuda e selecione API documentation.

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

    Observação Os endpoints da API StorageGRID marcados como "Privados" 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 Experimentar.

  5. Na caixa de texto body, substitua a entrada de exemplo para versionID por um ID de versão do log de auditoria que corresponda a uma solicitação de replicação entre grades com falha.

    Certifique-se de manter as aspas duplas em torno 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 grades para a outra grade.

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

Monitorar novas 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 grid.

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

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

    Grid Status de replicação

    Fonte

    • CONCLUÍDO: A replicação foi bem-sucedida.

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

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

    Destino

    RÉPLICA: O objeto foi replicado da grid de origem.

  • Utilize a API privada de Gerenciamento de Grid, 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 Experimentar.

  3. Na seção Parâmetros, 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. Verifique o status da replicação, que será um dos seguintes:

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

    • CONCLUÍDO: A replicação foi bem-sucedida.

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