Identificar e tentar novamente operações de replicação com falha
Depois de resolver o alerta Falha permanente de replicação entre grades, você deve determinar se algum objeto ou marcador de exclusão falhou ao ser replicado para a outra grade. Você pode então reingerir esses objetos ou usar a API de gerenciamento de grade 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 erros de federação de grade" .
Determinar se algum objeto não foi replicado
Para determinar se algum objeto ou marcador de exclusão não foi replicado para a outra grade, você pode pesquisar no log de auditoria por"CGRR (Solicitação de Replicação Entre Redes)" mensagens. Esta mensagem é adicionada ao log quando o StorageGRID falha ao replicar um objeto, objeto multiparte 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.
-
Você tem permissão de acesso Root.
-
Você tem o
Passwords.txt
arquivo. -
Você sabe o endereço IP do nó de administração principal.
-
Efetue login no nó de administração principal:
-
Digite o seguinte comando:
ssh admin@primary_Admin_Node_IP
-
Digite a senha listada no
Passwords.txt
arquivo. -
Digite o seguinte comando para alternar para root:
su -
-
Digite a senha listada no
Passwords.txt
arquivo.Quando você está logado como root, o prompt muda de
$
para#
.
-
-
Pesquise no audit.log por mensagens CGRR e use a ferramenta audit-explain para formatar os resultados.
Por exemplo, este comando pesquisa 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 semelhantes a este exemplo, que tem 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 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 redes CGRR
O nome da solicitação
inquilino
ID da conta do inquilino
conexão
O ID da conexão da federação de grade
operação
O tipo de operação de replicação que estava sendo tentada:
-
replicar objeto
-
replicar marcador de exclusão
-
replicar objeto multiparte
balde
O nome do balde
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
Depois de 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:
-
Ingira novamente cada objeto no bucket de origem.
-
Use a API privada de gerenciamento de grade, conforme descrito.
-
Na parte superior do Grid Manager, selecione o ícone de ajuda e selecione Documentação da API.
-
Selecione Ir para documentação da API privada.
Os pontos de extremidade 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. -
Na seção cross-grid-replication-advanced, selecione o seguinte ponto de extremidade:
POST /private/cross-grid-replication-retry-failed
-
Selecione Experimentar.
-
Na caixa de texto corpo, substitua a entrada de exemplo para versionID por uma ID de versão do audit.log que corresponda a uma solicitação de replicação entre grades com falha.
Certifique-se de manter as aspas duplas ao redor da string.
-
Selecione Executar.
-
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.
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.
|
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 operações de repetição de duas maneiras:
-
Use um S3"CabeçaObjeto" ou"ObterObjeto" solicitar. A resposta inclui o StorageGRID específico
x-ntap-sg-cgr-replication-status
cabeçalho de resposta, que terá um dos seguintes valores:Grade 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
REPLICA: O objeto foi replicado da grade de origem.
-
-
Use a API privada de gerenciamento de grade, conforme descrito.
-
Na seção cross-grid-replication-advanced da documentação da API privada, selecione o seguinte ponto de extremidade:
GET /private/cross-grid-replication-object-status/{id}
-
Selecione Experimentar.
-
Na seção Parâmetro, insira o ID da versão que você usou no
cross-grid-replication-retry-failed
solicitar. -
Selecione Executar.
-
Confirme se o código de resposta do servidor é 200.
-
Revise 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.
-
FALHOU: A replicação falhou com uma falha permanente. Um usuário deve resolver o erro.
-