Skip to main content
本产品推出了新版本。
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

识别并重试失败的 StorageGRID 复制操作

在解决“跨网格复制永久故障”警报后,您应该确定是否有任何对象或删除标记未能复制到另一个网格。然后,您可以重新摄入这些对象,或使用 Grid Management API 重试复制。

跨网格复制永久故障 警报指示,由于需要用户干预才能解决的原因,无法在两个网格上的存储桶之间复制租户对象。此警报通常是由于对源存储桶或目标存储桶进行更改而导致的。有关详细信息,请参见 "对网格联合错误进行故障排除"

确定是否有任何对象未能复制

要确定是否有任何对象或删除标记未复制到其他网格,可以在审核日志中搜索 "CGRR(跨网格复制请求)" 消息。当 StorageGRID 无法将对象、多部分对象或删除标记复制到目标存储桶时,此消息将添加到日志中。

您可以使用 "audit-explain 工具" 将结果转换为更易于阅读的格式。

开始之前
  • ${post_edited_translations.segment}

  • 您拥有 Passwords.txt 文件。

  • 您知道主管理节点的 IP 地址。

步骤
  1. ${post_edited_translations.segment}

    1. 输入以下命令: ssh admin@primary_Admin_Node_IP

    2. 输入 `Passwords.txt`文件中列出的密码。

    3. 输入以下命令切换到 root: su -

    4. 输入 `Passwords.txt`文件中列出的密码。

      以 root 身份登录时,提示符将从 $`更改为 `#

  2. ${post_edited_translations.segment}

    例如,此命令对过去 30 分钟内的所有 CGRR 消息执行 grep 操作,并使用 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

    此命令的结果将类似于此示例,其中包含六个 CGRR 消息的条目。在该示例中,由于无法复制对象,因此所有跨网格复制请求都返回了一般错误。前三个错误为 "replicate object" 操作,后三个错误为 "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

    每个条目都包含以下信息:

    字段 问题描述

    CGRR 跨网格复制请求

    请求的名称

    租户

    租户的账号 ID

    连接

    网格联合连接的 ID

    operation

    正在尝试的复制操作类型:

    • 复制对象

    • 复制删除标记

    • 复制多部分对象

    存储分段

    存储桶名称

    对象

    ${post_edited_translations.segment}

    version

    ${post_edited_translations.segment}

    错误

    错误类型。如果跨网格复制失败,则错误为 "General error"。

${post_edited_translations.segment}

${post_edited_translations.segment}

  • ${post_edited_translations.segment}

  • ${post_edited_translations.segment}

步骤
  1. ${post_edited_translations.segment}

  2. ${post_edited_translations.segment}

    备注 标记为"私有"的 StorageGRID API 端点如有更改,恕不另行通知。StorageGRID 私有端点也会忽略请求的 API 版本。
  3. cross-grid-replication-advanced 部分,选择以下端点:

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

  4. 选择*试用*。

  5. ${post_edited_translations.segment}

    ${post_edited_translations.segment}

  6. ${post_edited_translations.segment}

  7. ${post_edited_translations.segment}

    备注 挂起表示已将跨网格复制请求添加到内部队列中进行处理。

监控复制重试

应监视复制重试操作,以确保它们已完成。

提示 将对象或删除标记复制到另一个网格可能需要几个小时或更长时间。

可以通过以下两种方式之一监视重试操作:

  • 使用 S3 "HeadObject""获取对象" 请求。响应包括 StorageGRID 特定的 `x-ntap-sg-cgr-replication-status`响应标头,该标头将具有以下其中一个值:

    Grid 复制状态

    • COMPLETED:复制成功。

    • PENDING:对象尚未复制。

    • FAILURE:复制失败,出现永久性故障。用户必须解决此错误。

    目标

    REPLICA:该对象已从源网格复制。

  • ${post_edited_translations.segment}

步骤
  1. 在私有 API 文档的 cross-grid-replication-advanced 部分中,选择以下端点:

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

  2. 选择*试用*。

  3. 在"参数"部分中,输入您在 `cross-grid-replication-retry-failed`请求中使用的版本 ID。

  4. ${post_edited_translations.segment}

  5. 确认服务器响应代码为 200

  6. 查看复制状态,复制状态将为以下选项之一:

    • PENDING:对象尚未复制。

    • COMPLETED:复制成功。

    • FAILED:复制失败,出现永久性故障。用户必须解决此错误。