验证对象完整性
StorageGRID 系统会验证存储节点上对象数据的完整性,并检查是否存在损坏和缺失的对象。
验证过程有两个:后台验证和前台验证。它们协同工作,确保数据完整性。后台验证会自动运行,并持续检查对象数据的正确性。用户可以触发前台验证、以便更快速地验证对象是否存在(尽管不是正确)。
什么是后台验证
后台验证过程会自动持续检查存储节点中是否存在损坏的对象数据副本,并自动尝试修复发现的任何问题。
后台验证将检查复制对象和经过纠删编码的对象的完整性,如下所示:
-
* 复制对象 * :如果后台验证过程发现复制的对象已损坏,则损坏的副本将从其位置中删除,并隔离到存储节点上的其他位置。然后,系统将生成一个未损坏的新副本并放置该副本以满足活动 ILM 策略的要求。新副本可能不会放置在用于原始副本的存储节点上。
损坏的对象数据将被隔离而不是从系统中删除,以便仍可访问。有关访问隔离对象数据的详细信息,请联系技术支持。 |
-
* 擦除编码对象 * :如果后台验证过程检测到擦除编码对象的片段已损坏,则 StorageGRID 会自动尝试使用剩余的数据和奇偶校验片段在同一个存储节点上原位重建缺失的片段。如果无法重建损坏的片段、则检测到损坏的副本(DECOR)属性将递增1、并尝试检索对象的另一个副本。如果检索成功,则会执行 ILM 评估以创建经过纠删编码的对象的替代副本。
后台验证过程仅检查存储节点上的对象。它不会检查归档节点或云存储池中的对象。对象必须超过四天,才能进行后台验证。
后台验证以连续速率运行,不会干扰普通系统活动。无法停止后台验证。但是,如果您怀疑存在问题,则可以提高后台验证率,以便更快地验证存储节点的内容。
与后台验证相关的警报和警报(传统)
如果系统检测到某个损坏的对象,而该对象无法自动更正(因为该损坏会阻止识别该对象),则会触发 * 检测到未标识的损坏对象 * 警报。
如果由于无法找到其他副本而无法替换已损坏的对象、则会触发*对象丢失*警报和已丢失(对象丢失)旧警报。
更改后台验证速率
如果您担心数据完整性,可以更改后台验证检查存储节点上复制的对象数据的速率。
-
您必须使用支持的浏览器登录到网格管理器。
-
您必须具有特定的访问权限。
您可以更改存储节点上用于后台验证的验证速率:
-
Adaptive :默认设置。此任务用于验证速度最多为 4 MB/ 秒或 10 个对象 / 秒(以先超过者为准)。
-
high :存储验证进展迅速,速度可能会减慢常规系统活动。
只有当您怀疑硬件或软件故障可能包含损坏的对象数据时,才使用 " 高 " 验证率。高优先级后台验证完成后,验证率将自动重置为自适应。
-
选择*支持*>*工具*>*网格拓扑*。
-
选择*存储节点_> LDR >验证*。
-
选择 * 配置 * > * 主 * 。
-
转至 * LDR* > * 验证 * > * 配置 * > * 主 * 。
-
在后台验证下,选择 * 验证速率 * > * 高 * 或 * 验证速率 * > * 自适应 * 。
将验证速率设置为高会在通知级别触发 VPRi (验证速率)传统警报。 |
-
单击 * 应用更改 * 。
-
监控复制对象的后台验证结果。
-
转至*节点*>*存储节点_*>*对象*。
-
在验证部分中,监控 * 损坏对象 * 和 * 未标识的损坏对象 * 的值。
如果后台验证发现复制的对象数据损坏,则 * 损坏的对象 * 指标将递增, StorageGRID 将尝试从数据中提取对象标识符,如下所示:
-
如果可以提取对象标识符, StorageGRID 会自动为对象数据创建一个新副本。可以在 StorageGRID 系统中满足活动 ILM 策略的任何位置创建新副本。
-
如果无法提取对象标识符(因为它已损坏),则会增加 "Corrupt Objects Unidentifited" 指标,并触发 "* Unidentified Corrupt object detected* " 警报。
-
-
如果发现复制的对象数据损坏,请联系技术支持以确定损坏的根发生原因 。
-
-
监控纠删编码对象的后台验证结果。
如果后台验证发现擦除编码对象数据的损坏片段,则检测到的损坏片段属性将递增。StorageGRID 通过在同一存储节点上原位重建损坏的片段来恢复。
-
选择*支持*>*工具*>*网格拓扑*。
-
选择*存储节点_> LDR >擦除编码*。
-
在验证结果表中,监控已检测到损坏的碎片( ECCD )属性。
-
-
在 StorageGRID 系统自动还原损坏的对象后,重置损坏的对象计数。
-
选择*支持*>*工具*>*网格拓扑*。
-
选择*存储节点_> LDR >验证>配置*。
-
选择 * 重置损坏的对象计数 * 。
-
单击 * 应用更改 * 。
-
-
如果您确信不需要隔离对象,可以将其删除。
如果触发了 * 对象丢失 * 警报或丢失(对象丢失)旧警报,技术支持可能希望访问隔离的对象以帮助调试底层问题描述 或尝试数据恢复。 |
-
选择*支持*>*工具*>*网格拓扑*。
-
选择 * 存储节点 _* > * LDR* > * 验证 * > * 配置 * 。
-
选择 * 删除隔离的对象 * 。
-
单击 * 应用更改 * 。
什么是前台验证
前台验证是用户启动的一个过程、用于检查存储节点上是否存在所有预期的对象数据。前台验证用于验证存储设备的完整性。
前台验证是后台验证的一种快速替代方案、用于检查存储节点上的对象数据是否存在、但不检查其完整性。如果前台验证发现缺少许多项、则可能存在一个问题描述 、其中包含与该存储节点关联的全部或部分存储设备。
前台验证将同时检查复制的对象数据和经过纠删编码的对象数据、如下所示:
-
复制的对象:如果发现复制的对象数据副本缺失、StorageGRID 会自动尝试替换存储在系统其他位置的副本中的副本。存储节点通过ILM评估运行现有副本、该评估将确定此对象不再符合当前ILM策略、因为所缺少的副本不再位于预期位置。系统会生成并放置一个新副本、以满足系统的活动ILM策略。此新副本可能不会放置在存储缺失副本的同一位置。
-
擦除编码对象:如果发现擦除编码对象的片段缺失、StorageGRID 会自动尝试使用剩余片段在同一存储节点上重建缺失的片段。如果无法重建缺少的片段(因为丢失了太多的片段)、则检测到的损坏副本(DECOR)属性将递增1。然后、ILM会尝试查找对象的另一个副本、以便生成经过纠删编码的新副本。
如果前台验证在存储卷上确定了具有纠删编码的问题描述 、则前台验证任务将暂停、并显示一条错误消息、用于标识受影响的卷。您必须对任何受影响的存储卷执行恢复操作步骤。
如果在网格中找不到缺少的复制对象或经过纠删编码的损坏对象的其他副本、则会触发*对象丢失*警报和(对象丢失)旧警报。
正在运行前台验证
使用前台验证可以验证存储节点上是否存在数据。缺少对象数据可能表示底层存储设备存在问题描述。
-
您已确保以下网格任务未运行:
-
网格扩展:添加存储节点时添加服务器(GEXP)
-
同一存储节点上的存储节点停用(LDCM)如果这些网格任务正在运行、请等待它们完成或释放其锁定。
-
-
您已确保存储处于联机状态。(选择*支持*>*工具*>*网格拓扑*。然后、选择*存储节点_*>* LDR*>*存储*>*概述*>*主*。确保*存储状态-当前*处于联机状态。)
-
您已确保以下恢复过程未在同一个存储节点上运行:
-
恢复发生故障的存储卷
-
在执行恢复过程期间、对系统驱动器前景验证失败的存储节点进行恢复不会提供有用的信息。
-
前台验证将检查是否缺少复制的对象数据和缺少纠删编码的对象数据:
-
如果前台验证发现大量缺少的对象数据、则存储节点的存储中可能存在需要调查和解决的问题描述。
-
如果前台验证发现与纠删编码数据相关的严重存储错误、它将通知您。要修复此错误、您必须执行存储卷恢复。
您可以将前台验证配置为检查存储节点的所有对象存储或仅检查特定对象存储。
如果前台验证发现缺少对象数据、则StorageGRID 系统将尝试替换该对象数据。如果无法创建替代副本、则可能会触发丢失(对象丢失)警报。
前台验证会生成LDR前台验证网格任务、根据存储在存储节点上的对象数量、该任务可能需要数天或数周才能完成。可以同时选择多个存储节点;但是、这些网格任务不会同时运行。相反、它们会排队并逐个运行、直到完成。在存储节点上执行前台验证时、即使用于验证其他卷的选项可能会显示为可用于此存储节点、您也无法在同一存储节点上启动另一个前台验证任务。
如果运行前台验证的存储节点以外的存储节点脱机、网格任务将继续运行、直到*% complete*属性达到99.99%为止。然后、"% complete*"属性回退到50%、并等待存储节点返回联机状态。当存储节点的状态恢复为联机时、LDR前台验证网格任务将继续执行、直到完成为止。
-
选择 * 存储节点 _* > * LDR* > * 验证 * 。
-
选择 * 配置 * > * 主 * 。
-
在*前景验证*下、选中要验证的每个存储卷ID对应的复选框。
-
单击 * 应用更改 * 。
等待页面自动刷新并重新加载、然后再退出页面。刷新后、对象存储将无法在该存储节点上选择。
此时将生成并运行LDR前台验证网格任务、直到任务完成、暂停或中止为止。
-
监控缺少的对象或缺少的片段:
-
选择 * 存储节点 _* > * LDR* > * 验证 * 。
-
在"Overview"选项卡上的"验证结果"下、记下"检测到的缺失对象"的值。
注释:同一值在节点页面上报告为*丢失对象*。转到*节点*>*存储节点_*、然后选择*对象*选项卡。
如果检测到的*缺少的对象*数量很大(如果有数百个缺少的对象)、则存储节点的存储可能存在问题描述。请联系技术支持。
-
选择 * 存储节点 _* > * LDR* > * 擦除编码 * 。
-
在概述选项卡上的*验证结果*下、记下*检测到的缺失片段*的值。
如果检测到的*缺失片段*数量很大(如果有数百个缺失片段)、则存储节点的存储可能存在问题描述。请联系技术支持。
如果前台验证未检测到大量缺少的复制对象副本或大量缺少的片段、则存储将正常运行。
-
-
监控前台验证网格任务的完成情况:
-
选择*支持*>*工具*>*网格拓扑*。然后选择*站点*>*管理节点_*>* CMN*>*网格任务*>*概述*>*主*。
-
验证前台验证网格任务是否正在无错误地进行。
注意:如果前台验证网格任务暂停、则会在网格任务状态(SCA)上触发通知级别的警报。
-
如果网格任务暂停、则显示
critical storage error
、恢复受影响的卷、然后对其余卷运行前台验证以检查是否存在其他错误。注意:如果前台验证网格任务暂停并显示消息
Encountered a critical storage error in volume volID
、您必须执行操作步骤 以恢复发生故障的存储卷。请参见恢复和维护说明。
-
如果您仍对数据完整性有顾虑、请转到* LDR*>*验证*>*配置*>*主*并提高后台验证率。后台验证会检查所有已存储对象数据的准确性,并修复发现的任何问题。尽快发现并修复潜在问题可降低数据丢失的风险。