本帖最后由 JDCTS5 于 2026-5-14 17:29 编辑
![]()
大多数 RAID 级别使用冗余来确保阵列的可靠性。冗余允许阵列在其中一个驱动器发生故障时继续运行而不会丢失数据。这项技术旨在保存数据,但如果使用不当,可能会导致数据丢失。 在本文中,我们将讨论“重建不当”的问题,这会让 RAID 数据恢复变得非常困难甚至不可能。这是 RAID 存储用户尝试自行恢复阵列功能时常犯的错误。只有在恢复失败后,他们才会求助于数据恢复服务。我们将仔细讨论人们为什么会犯这个错误。 例如,我们将使用最容易理解的级别之一 — RAID-1 (Mirror)。在此类数组中,数据的完整副本存储在所有成员上(通常有两个)。如果一个驱动器发生故障,则所有数据都在另一个驱动器上。 正确的重建首先,让我们看看 “正确的重建” — 存储系统开发人员最初设想的场景。 第 1 步 — 阵列初始化一切都从初始化阵列开始。我们用两个新驱动器并基于它们创建一个新阵列。控制器无法确定成员上的数据是否相同,因此它会启动初始化过程,将数据从驱动器 A 复制到驱动器 B (这是最常见的行为,但对于某些控制器可能有所不同。) ![]()
阵列初始化:两个驱动器工作正常,但包含不同的数据。正在从A复制到B。 第 2 步 — RAID 启动运行阵列已初始化,驱动器工作正常,且包含相同的数据。 ![]()
RAID-1运行良好:成员状态良好且完全相同(A=B) 第 3 步 — 由于单个驱动器故障而导致的 RAID 降级在某些时候,阵列的一个成员发生故障,例如成员 A。由于冗余,阵列仍在运行,数据仍然可用。但是,阵列不再提供同等的可靠性 ,另一个驱动器的故障将导致数据丢失。此状态称为阵列降级。 ![]()
阵列降级:成员A有损坏,被排除在阵列之外。成员B可用。 第 4 步 - 替换和恢复成员为了使阵列恢复正常,我们删除驱动器 A 并在其位置添加新驱动器 NewA。NewA 上的数据与 B 上的数据不匹配。所以我们需要重建阵列 — 将数据从 B 复制到 NewA。 ![]()
重建阵列:添加驱动器NewA以代替成员A。将数据从B复制到NewA 第 5 步 — 再次使用 RAID在此过程结束时,我们将再次有两个驱动器的工作一个阵列。 ![]()
重建已完成,阵列运行良好:NewA和B运行良好,包含数据相同。A–有损坏未使用。 在一个位置进行正确的重建顺序![]() 初始化 > 正常运行 > 降级 > 重建 > 正常运行
这是 RAID 控制器开发人员和用户在驱动器发生故障时必备的顺序。 不当的重建但是,阵列降级并不是一直可以得到正确处理。执行重新初始化,而不是进行正确的重建,这可能会导致数据丢失。 让我们详细描述这一件事。 步骤 1-3 – 初始化、正常操作、降级前三个步骤完全相同,因此我们不予置评。 ![]()
初始化 > 正常运行 > 降级 第 4 步 — 驱动器更换和阵列初始化在此步骤中会发生错误 — 开始阵列初始化,而不是重建。数据将从一个驱动器复制到另一个驱动器,但复制方向可能错误,然后新的不需要的数据将覆盖旧的需要的用户数据。 ![]()
初始化而不是重建:添加 NewA 而不是成员 A。执行初始化。数据从 NewA 复制到 B。 失败的原因通常是人为因素。对于大多数用户来说,阵列降级是非常少有的事件,他们不能自信而精准地采取行动。用户并不总是清楚地理解存储管理系统中的这个或那个命令的含义:“添加阵列、创建阵列、组装阵列、初始化阵列、重建阵列、恢复阵列、重建阵列”等。您还可以添加 stress 和 haste 。在这种情况下,很容易出错。 第 5 步 – 运行良好的 RAID,但没有用户数据初始化后,我们得到一个运行良好的 RAID,但没有任何用户数据。 ![]()
形式上运行良好的阵列:NewA 和 B 运行状况良好 (NewA = B),但不包含正确的数据。只有坏的驱动器 A 仍然包含正确的数据。 一个位置的进行不当的重建顺序![]() 初始化 > 正常运行 > 降级 > 初始化不当 > 数据丢失 因此,数据保存机制导致数据丢失。获取正确数据的唯一方法是从故障成员A中恢复数据。 结论让我们总结一下结果: § 必须同步 RAID-1 阵列中的数据(所有成员都相同)。 § 初始化是在将第一个用户数据写入阵列之前发生的初始同步过程。数据从何处复制或复制到何处并不重要。 § 重建也是一个数据同步过程,但这里的方向非常重要,因为有需要的数据(在原成员上)和不需要的数据(在新成员上)。 § 有时,RAID 存储的用户会出错是运行初始化而不是重建。在这种情况下,用户数据可能会被不需要的数据覆盖。而在那时,用户会寻求数据恢复服务的帮助。这种情况通常称为不当重建,或者在数据恢复中称为 Just rebuild。 在本文中,我们重点介绍了最容易理解的 RAID 级别,但同样的问题也常见于其他具有冗余的级别,例如 RAID-5 或 6。数据恢复专业人员必须了解潜在问题,能够识别它们,并了解它们如何影响数据恢复。
|