为什么 RAID 系统不能防止主板崩溃?

Joj*_*ete 14 motherboard raid

这里几个 问题清楚 表明,在主板崩溃后,没有简单的方法可以从 RAID 阵列恢复数据。

这个特定问题的答案建议使用附加 PCI 卡(可以将其与所有磁盘一起移动到新系统而不会丢失数据)。然而,这只是解决了问题(如果 PCI 卡烧坏了怎么办?)。还有NAS系统,但话又说回来,如果NAS主板烧了怎么办?

[正如 Peregrino69 在下面的回答中指出的那样,此编辑后的“唯一”声明是不正确的。]

请记住,RAID 系统存在的唯一原因是在发生硬件故障时保留用户数据(这里不包括 RAID-0),我希望 RAID 技术能够长期解决这个明显的问题前。

我觉得很荒谬的是,每次有人问如何处理 RAID 系统和烧毁的主板时,答案似乎都是“嘿,我曾经使用这个奇怪的黑客技巧从类似的情况中恢复过来 - 它可能适用于你”。同样荒谬的是,连接到最便宜的 PC 主板的单个非备份 SATA 磁盘上的数据在主板崩溃后可以轻松恢复,而在相同情况下,昂贵的 RAID-5 NAS 系统上的数据大部分将永远丢失。

为什么没有一个至少 20 年前设计并从那时起被所有名副其实的 RAID 系统实施的标准解决方案来解决这个问题?

Per*_*o69 35

RAID 系统存在的唯一原因是在发生硬件故障时保留用户数据

RAID 的开发是为了确保在发生特定硬件故障(即磁盘故障)时数据的可用性。所讨论的排除的 RAID 0 还可用于将卷大小扩展到单个物理驱动器的容量之上。

数据保存工具有备份和长期归档。

  • RAID 硬件控制器的最大风险是控制器是否出现故障,并且 RAID 中的错误磁盘连接到了这些故障控制器。Linus 几年前制作了一个关于他们的主存储设备故障的视频,由于他的公司实施的 RAID 类型,他们的整个 RAID 阵列由于故障 RAID 卡的数量而发生故障。一旦 RAID 中错误的磁盘离线,数据保存和数据恢复就会变得非常成问题。他们能够通过使每个磁盘联机并允许公司使用工具来重建数据来恢复数据。 (3认同)
  • RAID 不是备份。RAID 可保护您免受单个 HDD 或 SSD 故障的影响。RAID 允许您分散单个磁盘(或多个磁盘)发生故障的风险。但是,如果磁盘脱机而不是 RAID 配置在线,则您已达到 RAID 阵列提供的保护极限。因此,需要多个在线和离线数据副本来保护您免受这种特定风险。 (3认同)
  • @doneal24确实是的,但请记住OP在开始时就已经声明“不计算RAID-0”:-)并且我上面引用的句子仍然不正确。据我计算,这是 2 个无效前提:-D (2认同)
  • RAID 无法防止因主板故障而导致的问题,其原因与它无法防止因软件错误、不良设备驱动程序或人为错误而导致的问题相同。它并不是为了检测这些东西而设计的。 (2认同)

don*_*l24 22

作为多次将硬件 RAID 磁盘从崩溃的服务器移动到新服务器的人,我不同意这个问题的前提。软件 RAID 也已在系统之间移动。这些服务器一直是 Linux 服务器,因此我从未遇到过将部分 RAID 配置内置到操作系统驱动程序中的情况(在 Windows 系统中有些常见)。

  • @Jojonete 他们“像那样”做所有工作,但每个人都以自己的方式。我从未见过一种硬件 RAID 实现,您不能只购买另一张相同型号的卡,将其替换为损坏的卡,然后就可以像往常一样启动阵列。对于基于操作系统的软件 raid 来说,这显然也不是问题。有时会出现此问题的唯一情况是 BIOS-raid(“fakeraid”),它实际上是由磁盘驱动程序完成的软件 RAID。问题是您可能需要获得完全相同的主板,这在市场上可能很难找到。 (8认同)
  • 我不相信 @doneal24 暗示您可以从不同的 RAID 控制器无缝迁移,但您当然应该能够毫无问题地从一个系统迁移到具有相同 RAID 控制器的系统。 (4认同)
  • @Jojonete 为什么这么多年过去了,所有磁盘系统的工作方式都不同了?难道我不应该能够将使用 xfs 格式化的 SAS 磁盘放入我的 Windows 桌面吗?不同的供应商有不同的优先级,并且没有动力相互兼容。 (3认同)
  • @TooTea:或者获取能够理解 BIOS fakeraid 元数据格式的软件,将数据复制出来,然后返回到以不同方式创建的新阵列中,无论是 SW RAID 还是不同的硬件或 fake raid。当然,如果您不能让 Linux“md”软件 RAID 识别现有的元数据,或者使用扇区偏移对其进行硬配置,那么这当然需要在某个地方放置数据,以便继续使用现有的磁盘,而不是仅仅使用现有的磁盘。读一次。 (2认同)

Ric*_*ame 15

所以,我的问题是:为什么没有一个标准的解决方案来解决这个问题,该解决方案至少在 20 年前设计,并从那时起被所有名副其实的 RAID 系统实施?

您要查找的短语是“导入外部 RAID 配置”

并非所有 RAID 系统的工作方式都相同,许多系统将元数据存储在磁盘上,因此如果重置或更换(使用相同型号)控制器会重建阵列配置。控制器及其支持的功能。

想象一下,我有一个 RAID5 阵列,其条带大小为 1MB,跨 Adaptec 控制器上的 12 个磁盘,并且该控制器出现故障,因此我将其替换为 Intel 控制器,希望能够获取数据。

事实证明,Intel 控制器不支持阵列中的 12 个磁盘,仅支持 8 个磁盘,并且最大条带大小仅为 256KB。当然这是行不通的。即使它确实支持这些,磁盘上的控制器元数据在格式上甚至不接近允许读取它们。即使确实如此,它是否使用相同的奇偶校验算法?相同的条纹对齐方式?

据我所知:
没有关于在阵列磁盘上存储阵列/控制器元数据的位置的标准
没有关于在阵列磁盘上存储阵列/控制器元数据的格式的标准
甚至没有在阵列上存储阵列/控制器元数据的标准磁盘
进行 RAID 有多种不同的方法,内部方法可能是专有的

为什么要有一个标准的解决方案?解决办法很简单,再购买一个同品牌的控制器,支持从旧控制器型号导入。竞争对手没有太多动机以兼容性的名义拒绝自己的方法或中性其功能集,而实际上缺乏兼容性并不是一个大问题。

现在,您有几个示例指出板载 RAID,这里有两种类型:消费者型和专业型。板载消费者对可移植性不感兴趣,除非是同一芯片组供应商,我已经将 Intel RAID5 从一个主板转移到另一个主板,它从磁盘读取元数据并重建配置。专业人士几乎总是希望您只需更换相同型号的主板或服务器,然后它就可以正常工作了。许多板载专业级控制器也可以以附加卡形式购买,为您提供另一种选择。

正如 Peregrino69 回答的那样,RAID 不是备份,如果您尝试使用 RAID 来防止磁盘故障以外的其他情况,那么您就错了。

当同时使用多个磁盘时,RAID 更有助于大幅提高逻辑卷大小和性能,并以半容错方式实现。