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

验证对象完整性

贡献者 netapp-lhalbert

StorageGRID 系统会验证存储节点上对象数据的完整性,并检查是否存在损坏和缺失的对象。

验证过程有两个:后台验证和对象存在检查(以前称为前台验证)。它们协同工作,确保数据完整性。后台验证会自动运行,并持续检查对象数据的正确性。用户可以触发对象存在检查,以便更快速地验证对象是否存在(尽管不是正确)。

什么是后台验证?

后台验证过程会自动持续检查存储节点中是否存在损坏的对象数据副本,并自动尝试修复发现的任何问题。

后台验证将检查复制对象和经过纠删编码的对象的完整性,如下所示:

  • * 复制对象 * :如果后台验证过程发现复制的对象已损坏,则损坏的副本将从其位置中删除,并隔离到存储节点上的其他位置。然后、系统将生成并放置一个未损坏的新副本、以满足活动ILM策略的要求。新副本可能不会放置在用于原始副本的存储节点上。

备注 损坏的对象数据将被隔离而不是从系统中删除,以便仍可访问。有关访问已拒绝的对象数据的详细信息、请与技术支持联系。
  • * 擦除编码对象 * :如果后台验证过程检测到擦除编码对象的片段已损坏,则 StorageGRID 会自动尝试使用剩余的数据和奇偶校验片段在同一个存储节点上原位重建缺失的片段。如果无法重建损坏的片段、则会尝试检索对象的另一个副本。如果检索成功,则会执行 ILM 评估以创建经过纠删编码的对象的替代副本。

    后台验证过程仅检查存储节点上的对象。它不会检查云存储池中的对象。对象必须超过四天,才能进行后台验证。

后台验证以连续速率运行,不会干扰普通系统活动。无法停止后台验证。但是,如果您怀疑存在问题,则可以提高后台验证率,以便更快地验证存储节点的内容。

与后台验证相关的警报

如果系统检测到无法自动更正的损坏对象(因为损坏导致无法识别该对象),将触发*检测到未识别的损坏对象*警报。

如果后台验证无法替换损坏的对象,因为它无法找到另一个副本,则会触发*对象可能丢失*警报。

什么是对象存在检查?

对象存在检查可验证存储节点上是否存在所有预期复制的对象副本以及经过纠删编码的片段。对象存在检查不会验证对象数据本身(后台验证会验证);相反,它可以提供一种验证存储设备完整性的方法,尤其是在最新的硬件问题描述 可能会影响数据完整性的情况下。

与自动执行的后台验证不同,您必须手动启动对象存在检查作业。

对象存在检查会读取存储在 StorageGRID 中的每个对象的元数据,并验证是否存在复制的对象副本和经过纠删编码的对象片段。任何缺失的数据将按以下方式处理:

  • * 复制的副本 * :如果缺少已复制对象数据的副本, StorageGRID 会自动尝试替换存储在系统其他位置的副本中的副本。存储节点通过 ILM 评估运行现有副本,该评估将确定此对象不再符合当前 ILM 策略,因为缺少另一个副本。此时将生成并放置一个新副本、以满足系统的活动ILM策略。此新副本可能不会放置在存储缺失副本的同一位置。

  • * 擦除编码片段 * :如果缺少擦除编码对象的片段, StorageGRID 会自动尝试使用剩余片段在同一存储节点上原位重建缺失的片段。如果无法重建缺少的片段(因为丢失的片段太多)、ILM将尝试查找对象的另一个副本、它可以使用该副本生成新的经过删除编码的片段。

运行对象存在检查

一次创建并运行一个对象存在检查作业。创建作业时,您可以选择要验证的存储节点和卷。您还可以选择作业的一致性。

开始之前
  • 您已使用登录到网格管理器"支持的 Web 浏览器"

  • 您拥有"维护或root访问权限"

  • 您已确保要检查的存储节点处于在线状态。选择*节点*来查看节点表。确保要检查的节点的节点名称旁边没有出现警报图标。

  • 您已确保要检查的节点上 * 未 * 运行以下过程:

    • 网格扩展以添加存储节点

    • 存储节点停用

    • 恢复发生故障的存储卷

    • 恢复系统驱动器出现故障的存储节点

    • EC 重新平衡

    • 设备节点克隆

在这些过程中,对象存在检查不会提供有用的信息。

关于此任务

对象存在性检查作业可能需要数天或数周才能完成、具体取决于网格中的对象数量、选定存储节点和卷以及选定一致性。一次只能运行一个作业,但可以同时选择多个存储节点和卷。

步骤
  1. 选择*维护* > 任务 > 对象存在检查

  2. 选择 * 创建作业 * 。此时将显示创建对象存在检查作业向导。

  3. 选择包含要验证的卷的节点。要选择所有联机节点,请选中列标题中的*Node name*复选框。

    您可以按节点名称或站点进行搜索。

    您不能选择未连接到网格的节点。

  4. 选择 * 继续 * 。

  5. 为列表中的每个节点选择一个或多个卷。您可以使用存储卷编号或节点名称搜索卷。

    要为选定的每个节点选择所有卷、请选中列标题中的*存储卷*复选框。

  6. 选择 * 继续 * 。

  7. 选择作业的一致性。

    一致性决定了用于对象存在性检查的对象元数据副本数。

    • * 强站点 * :在一个站点上创建两个元数据副本。

    • * 强 - 全局 * :每个站点上有两个元数据副本。

    • * 全部 * (默认):每个站点上的所有三个元数据副本。

      有关一致性的详细信息、请参见向导中的说明。

  8. 选择 * 继续 * 。

  9. 查看并验证您的选择。您可以选择 * 上一步 * 以转到向导中的上一步以更新所做的选择。

    此时将生成并运行对象存在检查作业,直到出现以下情况之一:

    • 作业完成。

    • 暂停或取消作业。您可以恢复已暂停的作业、但不能恢复已取消的作业。

    • 作业停止。此时将触发 * 对象存在检查已停止 * 警报。按照为警报指定的更正操作进行操作。

    • 作业失败。触发 * 对象存在检查失败 * 警报。按照为警报指定的更正操作进行操作。

    • 出现“Service不可用”或“内部服务器错误”消息。一分钟后,刷新页面以继续监控作业。

      备注 您可以根据需要离开对象存在检查页面并返回以继续监控作业。
  10. 在作业运行时,查看 * 活动作业 * 选项卡,并记下检测到的缺少对象副本的值。

    此值表示缺少一个或多个片段的复制对象和经过纠删编码的对象的副本总数。

    如果检测到的丢失对象副本数量大于 100,则存储节点的存储可能存在问题。

  11. 作业完成后,执行任何其他所需操作:

    • 如果检测到缺少对象副本为零,则未发现任何问题。无需执行任何操作。

    • 如果检测到的丢失对象副本大于零并且未触发*对象可能丢失*警报,则系统已修复所有丢失的副本。验证所有硬件问题是否都已得到纠正,以防止将来对对象副本造成损坏。

    • 如果检测到的丢失对象副本数大于零,并且触发了*对象可能丢失*警报,则数据完整性可能会受到影响。请联系技术支持。

    • 您可以使用 grep 提取 LLST 审计消息来调查可能丢失的对象副本: grep LLST audit_file_name

      此过程类似于"调查可能丢失的物品",尽管你搜索的是对象副本 LLST`而不是 `OLST

  12. 如果为此作业选择了强站点或强全局一致性、请等待大约三周、以确保元数据一致性、然后在相同的卷上重新运行此作业。

    如果 StorageGRID 有时间为作业中包含的节点和卷实现元数据一致发生原因 性,则重新运行作业可能会错误地清除报告的缺失对象副本,或者如果未选中其他对象副本,则重新运行作业可能会清除这些副本。

    1. 选择*维护* > 对象存在检查 > 作业历史记录

    2. 确定哪些作业已准备好重新运行:

      1. 查看 * 结束时间 * 列,确定三周前运行的作业。

      2. 对于这些作业,请扫描一致性控制列中的强站点或强全局。

    3. 选中要重新运行的每个作业对应的复选框,然后选择*Rerun*。

    4. 在重新运行作业向导中、查看选定节点和卷以及一致性。

    5. 准备好重新运行作业后,请选择 * 重新运行 * 。

此时将显示活动作业选项卡。您选择的所有作业将以一个作业的形式重新运行、并保持Strong站点一致性。详细信息部分中的 * 相关作业 * 字段列出了原始作业的作业 ID 。