Identificar y reintentar operaciones de replicación fallidas
Después de resolver la alerta Error permanente de replicación entre cuadrículas, debe determinar si algún objeto o marcador de eliminación no se pudo replicar en la otra cuadrícula. Luego puede volver a ingerir estos objetos o utilizar la API de administración de cuadrícula para volver a intentar la replicación.
La alerta Error permanente de replicación entre cuadrículas indica que los objetos de inquilino no se pueden replicar entre los depósitos en dos cuadrículas por un motivo que requiere la intervención del usuario para resolverlo. Esta alerta generalmente es causada por un cambio en el depósito de origen o de destino. Para obtener más información, consulte "Solucionar errores de federación de red" .
Determinar si algún objeto no se pudo replicar
Para determinar si algún objeto o marcador de eliminación no se ha replicado en la otra cuadrícula, puede buscar en el registro de auditoría"CGRR (Solicitud de replicación entre redes)" mensajes. Este mensaje se agrega al registro cuando StorageGRID no puede replicar un objeto, un objeto multiparte o un marcador de eliminación en el depósito de destino.
Puedes utilizar el"herramienta de auditoría y explicación" para traducir los resultados a un formato más fácil de leer.
-
Tienes permiso de acceso root.
-
Tú tienes el
Passwords.txtarchivo. -
Conoces la dirección IP del nodo de administración principal.
-
Inicie sesión en el nodo de administración principal:
-
Introduzca el siguiente comando:
ssh admin@primary_Admin_Node_IP -
Introduzca la contraseña que aparece en el
Passwords.txtarchivo. -
Introduzca el siguiente comando para cambiar a root:
su - -
Introduzca la contraseña que aparece en el
Passwords.txtarchivo.Cuando inicia sesión como root, el mensaje cambia de
$a#.
-
-
Busque mensajes CGRR en audit.log y utilice la herramienta audit-explain para dar formato a los resultados.
Por ejemplo, este comando busca todos los mensajes CGRR de los últimos 30 minutos y utiliza la herramienta audit-explain.
# awk -vdate=$(date -d "30 minutes ago" '+%Y-%m-%dT%H:%M:%S') '$1$2 >= date { print }' audit.log | grep CGRR | audit-explainLos resultados del comando se verán como este ejemplo, que tiene entradas para seis mensajes CGRR. En el ejemplo, todas las solicitudes de replicación entre redes devolvieron un error general porque no se pudo replicar el objeto. Los primeros tres errores son para operaciones de "replicar objeto" y los últimos tres errores son para operaciones de "replicar marcador de eliminación".
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 contiene la siguiente información:
Campo Descripción Solicitud de replicación entre redes CGRR
El nombre de la solicitud
arrendatario
ID de la cuenta del inquilino
conexión
El ID de la conexión de la federación de red
operación
El tipo de operación de replicación que se estaba intentando:
-
replicar objeto
-
replicar marcador de eliminación
-
replicar objeto multiparte
balde
El nombre del cubo
objeto
El nombre del objeto
versión
El ID de la versión del objeto
error
El tipo de error. Si la replicación entre redes falla, el error es "Error general".
-
Reintentar replicaciones fallidas
Después de generar una lista de objetos y eliminar marcadores que no se replicaron en el depósito de destino y resolver los problemas subyacentes, puede volver a intentar la replicación de una de estas dos maneras:
-
Reingerir cada objeto en el depósito de origen.
-
Utilice la API privada de administración de cuadrícula, como se describe.
-
Desde la parte superior del Administrador de cuadrícula, seleccione el ícono de ayuda y seleccione Documentación de API.
-
Seleccione Ir a la documentación de API privada.
Los puntos finales de la API de StorageGRID que están marcados como "Privados" están sujetos a cambios sin previo aviso. Los puntos finales privados de StorageGRID también ignoran la versión API de la solicitud. -
En la sección cross-grid-replication-advanced, seleccione el siguiente punto final:
POST /private/cross-grid-replication-retry-failed -
Seleccione Probarlo.
-
En el cuadro de texto body, reemplace la entrada de ejemplo para versionID con un ID de versión del audit.log que corresponde a una solicitud de replicación entre redes fallida.
Asegúrese de conservar las comillas dobles alrededor de la cadena.
-
Seleccione Ejecutar.
-
Confirme que el código de respuesta del servidor es 204, lo que indica que el objeto o el marcador de eliminación se ha marcado como pendiente para la replicación entre cuadrículas a la otra cuadrícula.
Pendiente significa que la solicitud de replicación entre redes se ha agregado a la cola interna para su procesamiento.
Monitorear reintentos de replicación
Debe supervisar las operaciones de reintento de replicación para asegurarse de que se completen.
|
|
Podría tomar varias horas o más para que un objeto o un marcador de eliminación se replique en la otra cuadrícula. |
Puede supervisar las operaciones de reintento de dos maneras:
-
Utilice un S3"Objeto principal" o"Obtener objeto" pedido. La respuesta incluye el StorageGRID específico
x-ntap-sg-cgr-replication-statusencabezado de respuesta, que tendrá uno de los siguientes valores:Red Estado de replicación Fuente
-
COMPLETADO: La replicación fue exitosa.
-
PENDIENTE: El objeto aún no ha sido replicado.
-
FALLO: La replicación falló con un error permanente. Un usuario debe resolver el error.
Destino
RÉPLICA: El objeto fue replicado desde la cuadrícula de origen.
-
-
Utilice la API privada de administración de cuadrícula, como se describe.
-
En la sección cross-grid-replication-advanced de la documentación de la API privada, seleccione el siguiente punto final:
GET /private/cross-grid-replication-object-status/{id} -
Seleccione Probarlo.
-
En la sección Parámetro, ingrese el ID de la versión que utilizó en el
cross-grid-replication-retry-failedpedido. -
Seleccione Ejecutar.
-
Confirme que el código de respuesta del servidor es 200.
-
Revise el estado de la replicación, que será uno de los siguientes:
-
PENDIENTE: El objeto aún no ha sido replicado.
-
COMPLETADO: La replicación fue exitosa.
-
FALLÓ: La replicación falló con un error permanente. Un usuario debe resolver el error.
-