RAID 故障的类型

RAID 故障的类型

服务器

由于 RAID 是单个磁盘的复杂组合,因此阵列故障也可能由磁盘和 RAID 服务器故障引起。它们还具有卷的所有逻辑损坏,因为从操作系统和应用程序的角度来看,RAID 只是一个逻辑磁盘。

RAID 服务器故障

在正常情况下,服务器不会出现在启动屏幕上,因此不会显示与其连接的磁盘列表。还可以显示与服务器本身相关的各种错误代码。如果线路正常,并且通常识别出另一个服务器(例如,简单的 HBA)上的磁盘,并且可能会在从系统中卸下 RAID 服务器卡之前阻止服务器进一步启动,则服务器可能无法检测到连接的磁盘。

逻辑文件系统损坏

通常,它们是由软件故障、病毒、不正确使用程序创建备份副本等引起的。数据恢复的方法与单个磁盘上发生此类故障的方法相同,但根据使用服务器环境的特殊性进行了调整。如果由于任何原因无法使用阵列服务器,则必须在没有它的情况下手动手动重新创建阵列,这使工作大大复杂化。

阵列磁盘表面损坏

阵列崩溃的最常见原因是一个或多个磁盘上出现多个坏扇区。在这种情况下,可能会出现服务器由于某种原因未断开损坏磁盘与阵列的连接的情况,这将处理读写错误。或者,服务器可能没有注意到其组成中存在坏块的磁盘,然后在下一次重建期间,阵列将无法完成此过程,这将导致阵列停止并由服务器将其传输到“脱机”状态。在这种情况下,必须从阵列的所有磁盘创建逐扇区拷贝,并使用适当的软件和硬件手动重新创建它。

数组逻辑结构损坏

服务器无法根据其设置合并磁盘的阵列状态。阵列中磁盘的稳定性在很大程度上取决于其用途,对于阵列服务器的稳定和可预测操作,使用专门针对此应用优化的磁盘非常重要。首先,使用不打算在阵列中工作的磁盘会导致在磁盘运行不稳定时 RAID 服务器的行为不可预测。

在“降级”状态下,RAID 服务器无法保护数据,因为没有足够的磁盘来操作所选算(RAID1、RAID10、RAID5、RAID6)。如果更改损坏的磁盘,服务器将启动 rebuld - 使用新磁盘重新计算校验和。降级和重装对阵列来说是最危险的。因为如果在过程结束前在阵列的另一个磁盘上发现损坏,则 rebuld 将被中断,并且磁盘将混合使用新旧数据。如果你不确定阵列中的其余磁盘是否处于完全工作状态,那么最好的解决方案不是立即运行 rebuld,而是从中复制数据(如果可用),或者在重建阵列的所有磁盘(包括故障磁盘)之前联系数据恢复公司。
在“离线”状态下,无法选择如何处理阵列。由于服务器不会将磁盘收集到单个卷中,因此只能手动还原信息。由于阵列已经在没有数据保护的情况下工作,在这种情况下不会启动 rebuld(对于 RAID6,“离线”状态是两个以上的损坏磁盘),因为上一个损坏的磁盘上的信息不再相关。同时,在阵列恢复期间搜索不到相关的磁盘,这导致需要从曾经属于该阵列的所有磁盘创建逐扇区拷贝,恢复的质量取决于这些副本的完整性。

磁盘阵列恢复方法


如果阵列的问题已经发展到需要从中恢复信息的程度,那么考虑恢复阵列的基本方法将很有用。使用它们的能力主要取决于阵列的破坏程度、磁盘的状态和 RAID 服务器的功能。恢复阵列有两种方法:软件和硬件。

编程阵列恢复

这是主要的恢复方法,并且不依赖于RAID服务器的功能,因此根本不需要服务器。顾名思义,阵列恢复是基于使用专门的软件和硬件。为此,你需要确定阵列中磁盘的顺序,因为它并不总是与将它们连接到服务器的顺序相对应,以确定带有扇区的阵列条带块的大小,这是所有块阵列(RAID0、RAID5、RAID6)的共同点。对于容错能力增强的阵列(RAID1、RAID10、RAID5、RAID6),根据故障情况,有必要找到当前的磁盘集,因为阵列可以在“降级”状态下工作一段时间,直到完全故障,这会导致存在服务器早已从阵列中删除的磁盘,并且其上的数据已过时。如果阵列中有大量磁盘,这可能需要大量时间。当然,所有这些操作都是在阵列磁盘的逐扇区副本上执行的,因为原始磁盘通常会损坏,这实际上会导致 RAID 阵列的破坏。因此,创建磁盘逐扇区拷贝是从阵列中恢复信息的第一阶段。

硬件阵列恢复

这意味着通过RAID服务器本身恢复对数据的访问,这种恢复的可能性直接取决于服务器的内置软件以及用于处理处于“离线”状态的阵列的其他选项的可用性,即对于每个品牌和型号,它们的差异几乎不存在。首先,你可以将磁盘的状态从“离线”更改为“在线”,也许这样可以让它变得可用。隐藏的威胁是此选项可能可用于不相关的磁盘,即导致让阵列更早崩溃,并且阵列在没有它的情况下工作了很长时间,那么卷就会有一个损坏的文件系统,大量的文件打不开,也许是缺少最新的信息,这完全取决于具体情况。而实际的磁盘,虽然由于其故障,可能无法强行包含在阵列中。但是你需要对实际崩溃的磁盘进行逐扇区复制,并将其连接到服务器,应在与故障磁盘完全相同的磁盘上制作副本。

其次,你可以重新创建具有相同参数的数组、最新磁盘的逐扇区副本和空副本(而不是崩溃的第一个磁盘)。首先,成功将取决于这种行动的可能性是服务器必须在不初始化的情况下创建数组,否则它将擦除所有信息。
  所有这些操作都非常危险,因为服务器认为阵列的其余磁盘的状态是未知的,并且随时可能让一个或多个磁盘发生故障。
RAID 阵列通常存储重要信息,因此,如果 RAID 阵列仍然出现故障,我们强烈建议你不要进行独立恢复尝试。在任何情况下,在未首先创建 RAID 阵列中包含的所有磁盘的完整扇区副本之前,都不应在损坏的 RAID 阵列上运行重建或将损坏的磁盘重新包含到 RAID 服务器禁用的阵列中。



原文链接
https://www.dbsos.cn/blog/230.html